@things-factory/reference-app 4.0.1 → 4.0.5

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 (764) hide show
  1. package/attachments/69808491-8e6b-45e2-9bf8-dccea1c5b52e.png +0 -0
  2. package/attachments/7927fe8e-2246-453d-9869-7072b983437c.png +0 -0
  3. package/attachments/7d150574-01b8-4439-96a0-d57299f3ffcf.png +0 -0
  4. package/attachments/a1cf142c-f3c2-442c-b8d5-a7f9cc6a59b3.png +0 -0
  5. package/attachments/cb3ac834-ece0-4802-bef0-dfdc0fcd93bd.png +0 -0
  6. package/client/bootstrap.js +30 -0
  7. package/client/components/camera-capturer.js +29 -2
  8. package/client/components/ocr-viewpart.js +79 -0
  9. package/client/menu.js +1 -1
  10. package/client/pages/grist-mode-page.js +1 -3
  11. package/client/pages/label-scan-page.js +189 -0
  12. package/client/pages/ocr-page.js +4 -3
  13. package/client/route.js +4 -0
  14. package/config/config.development.js +5 -1
  15. package/db.sqlite +0 -0
  16. package/dist-server/service/reference/lambda-call.js +68 -0
  17. package/dist-server/service/reference/lambda-call.js.map +1 -0
  18. package/dist-server/service/reference/reference-query.js +26 -4
  19. package/dist-server/service/reference/reference-query.js.map +1 -1
  20. package/logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json +8 -3
  21. package/logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json +12 -37
  22. package/logs/application-2021-11-04-14.log +4 -0
  23. package/logs/application-2021-11-05-18.log +6 -0
  24. package/{dist-client/helps/scene/component/image-view.md → logs/connections-2021-11-02-11.log} +0 -0
  25. package/logs/{connections-2021-11-02-12.log → connections-2021-11-03-11.log} +0 -0
  26. package/logs/{connections-2021-11-02-13.log → connections-2021-11-04-14.log} +0 -0
  27. package/logs/{connections-2021-11-02-14.log → connections-2021-11-05-18.log} +0 -0
  28. package/package.json +41 -40
  29. package/server/service/reference/lambda-call.ts +69 -0
  30. package/server/service/reference/reference-query.ts +35 -7
  31. package/things-factory.config.js +4 -0
  32. package/attachments/05284c84-1330-4b54-a698-bcd3020d9d90.png +0 -0
  33. package/attachments/3a328a7f-b7fd-4ea1-9c4c-005e24e1e897.png +0 -0
  34. package/attachments/4412432a-b79b-49b8-81b2-af6b927703b4.png +0 -0
  35. package/attachments/60ca3d2a-cfa4-4f14-b952-a96be9f64f96.png +0 -0
  36. package/attachments/90ea058c-ed47-4802-a694-bce0e86c217f.png +0 -0
  37. package/attachments/9c92e78d-afcb-4d62-b51e-f73f15211314.png +0 -0
  38. package/attachments/b27517ec-f2ac-4735-9d8a-353af2fa5f67.png +0 -0
  39. package/attachments/cc7892b9-fca6-49f9-a10b-3febeef83fd2.png +0 -0
  40. package/attachments/dbf0459a-4f1a-44c6-a4fc-d73adc3e4cfa.png +0 -0
  41. package/dist-client/17.js +0 -6
  42. package/dist-client/18.js +0 -15
  43. package/dist-client/19.js +0 -15
  44. package/dist-client/20.js +0 -15
  45. package/dist-client/21.js +0 -15
  46. package/dist-client/22.js +0 -1
  47. package/dist-client/23.js +0 -1
  48. package/dist-client/24.js +0 -1
  49. package/dist-client/25.js +0 -1
  50. package/dist-client/26.js +0 -1
  51. package/dist-client/27.js +0 -1
  52. package/dist-client/28.js +0 -1
  53. package/dist-client/29.js +0 -1
  54. package/dist-client/30.js +0 -12
  55. package/dist-client/31.js +0 -1
  56. package/dist-client/32.js +0 -17
  57. package/dist-client/33.js +0 -1
  58. package/dist-client/34.js +0 -1
  59. package/dist-client/35.js +0 -1
  60. package/dist-client/36.js +0 -1
  61. package/dist-client/37.js +0 -1
  62. package/dist-client/38.js +0 -1
  63. package/dist-client/39.js +0 -1
  64. package/dist-client/40.js +0 -1
  65. package/dist-client/41.js +0 -1
  66. package/dist-client/42.js +0 -1
  67. package/dist-client/43.js +0 -1
  68. package/dist-client/44.js +0 -1
  69. package/dist-client/45.js +0 -1
  70. package/dist-client/46.js +0 -1
  71. package/dist-client/47.js +0 -1
  72. package/dist-client/48.js +0 -1
  73. package/dist-client/49.js +0 -1
  74. package/dist-client/50.js +0 -1
  75. package/dist-client/51.js +0 -1
  76. package/dist-client/52.js +0 -1
  77. package/dist-client/53.js +0 -1
  78. package/dist-client/54.js +0 -1
  79. package/dist-client/55.js +0 -1
  80. package/dist-client/56.js +0 -1
  81. package/dist-client/57.js +0 -1
  82. package/dist-client/58.js +0 -1
  83. package/dist-client/59.js +0 -1
  84. package/dist-client/60.js +0 -1
  85. package/dist-client/61.js +0 -1
  86. package/dist-client/assets/bar-chart.png +0 -0
  87. package/dist-client/assets/beacon.png +0 -0
  88. package/dist-client/assets/button.png +0 -0
  89. package/dist-client/assets/clock-analog.png +0 -0
  90. package/dist-client/assets/clock-digital.png +0 -0
  91. package/dist-client/assets/doughnut-chart.png +0 -0
  92. package/dist-client/assets/favicon.ico +0 -0
  93. package/dist-client/assets/fieldset.png +0 -0
  94. package/dist-client/assets/form.png +0 -0
  95. package/dist-client/assets/gauge-circle.png +0 -0
  96. package/dist-client/assets/gauge-horizontal.png +0 -0
  97. package/dist-client/assets/gauge-vertical.png +0 -0
  98. package/dist-client/assets/half-round-rect.png +0 -0
  99. package/dist-client/assets/helps/index.md +0 -1
  100. package/dist-client/assets/horizontal-bar-chart.png +0 -0
  101. package/dist-client/assets/icon-embed.png +0 -0
  102. package/dist-client/assets/icon-news-ticker.png +0 -0
  103. package/dist-client/assets/icon-radio-group.png +0 -0
  104. package/dist-client/assets/icon-simple-switch.png +0 -0
  105. package/dist-client/assets/icon-video.png +0 -0
  106. package/dist-client/assets/iframe.png +0 -0
  107. package/dist-client/assets/images/3d.ico +0 -0
  108. package/dist-client/assets/images/background-animation.json +0 -1
  109. package/dist-client/assets/images/barcode.ico +0 -0
  110. package/dist-client/assets/images/barcode.png +0 -0
  111. package/dist-client/assets/images/bg-auth-ui.png +0 -0
  112. package/dist-client/assets/images/bg-blue.png +0 -0
  113. package/dist-client/assets/images/bg-green.png +0 -0
  114. package/dist-client/assets/images/bg-input-select.png +0 -0
  115. package/dist-client/assets/images/bg-rail.png +0 -0
  116. package/dist-client/assets/images/chart.ico +0 -0
  117. package/dist-client/assets/images/cj.ico +0 -0
  118. package/dist-client/assets/images/components/audio.png +0 -0
  119. package/dist-client/assets/images/components/both-arrow.png +0 -0
  120. package/dist-client/assets/images/components/color-image.png +0 -0
  121. package/dist-client/assets/images/components/container.png +0 -0
  122. package/dist-client/assets/images/components/dash.png +0 -0
  123. package/dist-client/assets/images/components/donut.png +0 -0
  124. package/dist-client/assets/images/components/ellipse.png +0 -0
  125. package/dist-client/assets/images/components/forklift.png +0 -0
  126. package/dist-client/assets/images/components/gif-image.png +0 -0
  127. package/dist-client/assets/images/components/global-reference.png +0 -0
  128. package/dist-client/assets/images/components/gray-image.png +0 -0
  129. package/dist-client/assets/images/components/humidity-sensor.png +0 -0
  130. package/dist-client/assets/images/components/info-window.png +0 -0
  131. package/dist-client/assets/images/components/line.png +0 -0
  132. package/dist-client/assets/images/components/local-reference.png +0 -0
  133. package/dist-client/assets/images/components/no-image.png +0 -0
  134. package/dist-client/assets/images/components/person.png +0 -0
  135. package/dist-client/assets/images/components/polygon.png +0 -0
  136. package/dist-client/assets/images/components/polyline.png +0 -0
  137. package/dist-client/assets/images/components/rect.png +0 -0
  138. package/dist-client/assets/images/components/single-arrow.png +0 -0
  139. package/dist-client/assets/images/components/star.png +0 -0
  140. package/dist-client/assets/images/components/text.png +0 -0
  141. package/dist-client/assets/images/components/triangle.png +0 -0
  142. package/dist-client/assets/images/ellipse.ico +0 -0
  143. package/dist-client/assets/images/etc.ico +0 -0
  144. package/dist-client/assets/images/forklift.png +0 -0
  145. package/dist-client/assets/images/gauge.ico +0 -0
  146. package/dist-client/assets/images/hatiolab-logo.bac71281.png +0 -0
  147. package/dist-client/assets/images/hatiolab-logo.png +0 -0
  148. package/dist-client/assets/images/home.png +0 -0
  149. package/dist-client/assets/images/icon-activate.png +0 -0
  150. package/dist-client/assets/images/icon-backinfo.png +0 -0
  151. package/dist-client/assets/images/icon-brand.png +0 -0
  152. package/dist-client/assets/images/icon-close.png +0 -0
  153. package/dist-client/assets/images/icon-collapse-active.png +0 -0
  154. package/dist-client/assets/images/icon-collapse.png +0 -0
  155. package/dist-client/assets/images/icon-congratulations.png +0 -0
  156. package/dist-client/assets/images/icon-domain.png +0 -0
  157. package/dist-client/assets/images/icon-editor-gradient-direction.png +0 -0
  158. package/dist-client/assets/images/icon-fullscreen.png +0 -0
  159. package/dist-client/assets/images/icon-htoolbar.png +0 -0
  160. package/dist-client/assets/images/icon-mobile-brand.png +0 -0
  161. package/dist-client/assets/images/icon-nametag.png +0 -0
  162. package/dist-client/assets/images/icon-pallet-barcode.png +0 -0
  163. package/dist-client/assets/images/icon-profile.png +0 -0
  164. package/dist-client/assets/images/icon-properties-arrow-type.png +0 -0
  165. package/dist-client/assets/images/icon-properties-gradient-direction.png +0 -0
  166. package/dist-client/assets/images/icon-properties-ipattern.png +0 -0
  167. package/dist-client/assets/images/icon-properties-label.png +0 -0
  168. package/dist-client/assets/images/icon-properties-line-type.png +0 -0
  169. package/dist-client/assets/images/icon-properties-padding.png +0 -0
  170. package/dist-client/assets/images/icon-properties-ratio.png +0 -0
  171. package/dist-client/assets/images/icon-properties-table.png +0 -0
  172. package/dist-client/assets/images/icon-properties.png +0 -0
  173. package/dist-client/assets/images/icon-resource-select.png +0 -0
  174. package/dist-client/assets/images/icon-result.png +0 -0
  175. package/dist-client/assets/images/icon-setting.png +0 -0
  176. package/dist-client/assets/images/icon-shell-inspector.png +0 -0
  177. package/dist-client/assets/images/icon-vtoolbar-objects.png +0 -0
  178. package/dist-client/assets/images/icon-vtoolbar.png +0 -0
  179. package/dist-client/assets/images/invitation.png +0 -0
  180. package/dist-client/assets/images/line.ico +0 -0
  181. package/dist-client/assets/images/media.ico +0 -0
  182. package/dist-client/assets/images/person.png +0 -0
  183. package/dist-client/assets/images/poly.ico +0 -0
  184. package/dist-client/assets/images/profile.png +0 -0
  185. package/dist-client/assets/images/rect.ico +0 -0
  186. package/dist-client/assets/images/shape.ico +0 -0
  187. package/dist-client/assets/images/spinner.png +0 -0
  188. package/dist-client/assets/images/table.ico +0 -0
  189. package/dist-client/assets/images/text.ico +0 -0
  190. package/dist-client/assets/images/warehouse.ico +0 -0
  191. package/dist-client/assets/img.png +0 -0
  192. package/dist-client/assets/indoor-map.png +0 -0
  193. package/dist-client/assets/input-checkbox.png +0 -0
  194. package/dist-client/assets/input-color.png +0 -0
  195. package/dist-client/assets/input-date.png +0 -0
  196. package/dist-client/assets/input-email.png +0 -0
  197. package/dist-client/assets/input-file.png +0 -0
  198. package/dist-client/assets/input-number.png +0 -0
  199. package/dist-client/assets/input-password.png +0 -0
  200. package/dist-client/assets/input-radio.png +0 -0
  201. package/dist-client/assets/input-range.png +0 -0
  202. package/dist-client/assets/input-reset.png +0 -0
  203. package/dist-client/assets/input-search.png +0 -0
  204. package/dist-client/assets/input-submit.png +0 -0
  205. package/dist-client/assets/input-text.png +0 -0
  206. package/dist-client/assets/line-chart.png +0 -0
  207. package/dist-client/assets/link.png +0 -0
  208. package/dist-client/assets/manifest/apple-1024.png +0 -0
  209. package/dist-client/assets/manifest/apple-120.png +0 -0
  210. package/dist-client/assets/manifest/apple-152.png +0 -0
  211. package/dist-client/assets/manifest/apple-167.png +0 -0
  212. package/dist-client/assets/manifest/apple-180.png +0 -0
  213. package/dist-client/assets/manifest/apple-touch-icon.png +0 -0
  214. package/dist-client/assets/manifest/badge-128x128.png +0 -0
  215. package/dist-client/assets/manifest/chrome-splashscreen-icon-384x384.png +0 -0
  216. package/dist-client/assets/manifest/chrome-touch-icon-192x192.png +0 -0
  217. package/dist-client/assets/manifest/icon-128x128.png +0 -0
  218. package/dist-client/assets/manifest/icon-192x192.png +0 -0
  219. package/dist-client/assets/manifest/icon-512x512.png +0 -0
  220. package/dist-client/assets/manifest/icon-72x72.png +0 -0
  221. package/dist-client/assets/manifest/icon-96x96.png +0 -0
  222. package/dist-client/assets/manifest/image-metaog.png +0 -0
  223. package/dist-client/assets/manifest/maskable_icon.png +0 -0
  224. package/dist-client/assets/manifest/ms-icon-144x144.png +0 -0
  225. package/dist-client/assets/manifest/ms-touch-icon-144x144-precomposed.png +0 -0
  226. package/dist-client/assets/manifest.json +0 -27
  227. package/dist-client/assets/mixed-chart.png +0 -0
  228. package/dist-client/assets/no-image.png +0 -0
  229. package/dist-client/assets/pie-chart.png +0 -0
  230. package/dist-client/assets/polar-area-chart.png +0 -0
  231. package/dist-client/assets/progress-circle.png +0 -0
  232. package/dist-client/assets/progress-horizontal.png +0 -0
  233. package/dist-client/assets/progress-vertical.png +0 -0
  234. package/dist-client/assets/rack.png +0 -0
  235. package/dist-client/assets/radar-chart.png +0 -0
  236. package/dist-client/assets/random.png +0 -0
  237. package/dist-client/assets/scripts/markdown-webworker.js +0 -30
  238. package/dist-client/assets/select.png +0 -0
  239. package/dist-client/assets/tab.png +0 -0
  240. package/dist-client/assets/textarea.png +0 -0
  241. package/dist-client/auth/activate.js +0 -362
  242. package/dist-client/auth/checkin.js +0 -310
  243. package/dist-client/auth/forgot-password.js +0 -467
  244. package/dist-client/auth/reset-password.js +0 -467
  245. package/dist-client/auth/result.js +0 -379
  246. package/dist-client/auth/signin.js +0 -450
  247. package/dist-client/auth/signup.js +0 -450
  248. package/dist-client/auth/unlock-user.js +0 -467
  249. package/dist-client/headless-scene-components.js +0 -401
  250. package/dist-client/helps/about/components.md +0 -3
  251. package/dist-client/helps/about/framework/redirection.md +0 -45
  252. package/dist-client/helps/about/framework/typegraphql.md +0 -74
  253. package/dist-client/helps/about/framework.md +0 -10
  254. package/dist-client/helps/about/modules.md +0 -7
  255. package/dist-client/helps/about/things-factory.en.md +0 -255
  256. package/dist-client/helps/about/things-factory.ko.md +0 -258
  257. package/dist-client/helps/auth/appliance.en.md +0 -22
  258. package/dist-client/helps/auth/appliance.ko.md +0 -40
  259. package/dist-client/helps/auth/application.en.md +0 -33
  260. package/dist-client/helps/auth/images/app-binding.png +0 -0
  261. package/dist-client/helps/auth/images/appliance-generate-key.png +0 -0
  262. package/dist-client/helps/auth/images/appliance-sandbox-auth-1.png +0 -0
  263. package/dist-client/helps/auth/images/appliance-sandbox-auth-2.png +0 -0
  264. package/dist-client/helps/auth/images/appliance-sandbox-auth-3.png +0 -0
  265. package/dist-client/helps/auth/images/application-hub.png +0 -0
  266. package/dist-client/helps/auth/images/authorization-postman.png +0 -0
  267. package/dist-client/helps/auth/images/create-button2.png +0 -0
  268. package/dist-client/helps/auth/images/create-role.png +0 -0
  269. package/dist-client/helps/auth/images/flowchart-appliance-registration.jpg +0 -0
  270. package/dist-client/helps/auth/images/flowchart-role-management.jpg +0 -0
  271. package/dist-client/helps/auth/images/flowchart-user-account.jpg +0 -0
  272. package/dist-client/helps/auth/images/invite-user.png +0 -0
  273. package/dist-client/helps/auth/images/owner-transfer-confirm.png +0 -0
  274. package/dist-client/helps/auth/images/owner-transfer.png +0 -0
  275. package/dist-client/helps/auth/images/postman.png +0 -0
  276. package/dist-client/helps/auth/images/register-appliance-new.png +0 -0
  277. package/dist-client/helps/auth/images/register-appliance.png +0 -0
  278. package/dist-client/helps/auth/images/register-application.png +0 -0
  279. package/dist-client/helps/auth/images/registered-role.png +0 -0
  280. package/dist-client/helps/auth/images/role-list.png +0 -0
  281. package/dist-client/helps/auth/images/role-privilage.png +0 -0
  282. package/dist-client/helps/auth/images/role-privileges.png +0 -0
  283. package/dist-client/helps/auth/images/save-button2.png +0 -0
  284. package/dist-client/helps/auth/images/save-button3.png +0 -0
  285. package/dist-client/helps/auth/images/transfer-owner.png +0 -0
  286. package/dist-client/helps/auth/images/update-roles.png +0 -0
  287. package/dist-client/helps/auth/images/user-delete.png +0 -0
  288. package/dist-client/helps/auth/images/user-error.png +0 -0
  289. package/dist-client/helps/auth/images/user-invite.png +0 -0
  290. package/dist-client/helps/auth/images/user-roles.png +0 -0
  291. package/dist-client/helps/auth/roles.en.md +0 -59
  292. package/dist-client/helps/auth/roles.ko.md +0 -42
  293. package/dist-client/helps/auth/users.en.md +0 -33
  294. package/dist-client/helps/auth/users.ko.md +0 -54
  295. package/dist-client/helps/board-modeller/data-binding.ko.md +0 -86
  296. package/dist-client/helps/board-modeller/data-binding.md +0 -83
  297. package/dist-client/helps/board-modeller/data-binding.zh.md +0 -86
  298. package/dist-client/helps/board-modeller/effects/animation.ko.md +0 -46
  299. package/dist-client/helps/board-modeller/effects/animation.md +0 -47
  300. package/dist-client/helps/board-modeller/effects/animation.zh.md +0 -47
  301. package/dist-client/helps/board-modeller/effects/hover-event.ko.md +0 -55
  302. package/dist-client/helps/board-modeller/effects/hover-event.md +0 -57
  303. package/dist-client/helps/board-modeller/effects/hover-event.zh.md +0 -55
  304. package/dist-client/helps/board-modeller/effects/retention.ko.md +0 -4
  305. package/dist-client/helps/board-modeller/effects/retention.md +0 -4
  306. package/dist-client/helps/board-modeller/effects/retention.zh.md +0 -4
  307. package/dist-client/helps/board-modeller/effects/shadow.ko.md +0 -18
  308. package/dist-client/helps/board-modeller/effects/shadow.md +0 -21
  309. package/dist-client/helps/board-modeller/effects/shadow.zh.md +0 -19
  310. package/dist-client/helps/board-modeller/effects/tap-event.ko.md +0 -74
  311. package/dist-client/helps/board-modeller/effects/tap-event.md +0 -74
  312. package/dist-client/helps/board-modeller/effects/tap-event.zh.md +0 -74
  313. package/dist-client/helps/board-modeller/images/animation-01.gif +0 -0
  314. package/dist-client/helps/board-modeller/images/animation-02.gif +0 -0
  315. package/dist-client/helps/board-modeller/images/animation-03.gif +0 -0
  316. package/dist-client/helps/board-modeller/images/animation-04.gif +0 -0
  317. package/dist-client/helps/board-modeller/images/animation-05.gif +0 -0
  318. package/dist-client/helps/board-modeller/images/animation-06.gif +0 -0
  319. package/dist-client/helps/board-modeller/images/animation-07.gif +0 -0
  320. package/dist-client/helps/board-modeller/images/animation-08.gif +0 -0
  321. package/dist-client/helps/board-modeller/images/animation-09.gif +0 -0
  322. package/dist-client/helps/board-modeller/images/animation-10.gif +0 -0
  323. package/dist-client/helps/board-modeller/images/common-property-text-align-horizontal.png +0 -0
  324. package/dist-client/helps/board-modeller/images/common-property-text-align-vertical.png +0 -0
  325. package/dist-client/helps/board-modeller/images/common-property-text-margin.png +0 -0
  326. package/dist-client/helps/board-modeller/images/component-3D.png +0 -0
  327. package/dist-client/helps/board-modeller/images/component-arrow.png +0 -0
  328. package/dist-client/helps/board-modeller/images/component-chart-gauge.png +0 -0
  329. package/dist-client/helps/board-modeller/images/component-container.png +0 -0
  330. package/dist-client/helps/board-modeller/images/component-datasource.png +0 -0
  331. package/dist-client/helps/board-modeller/images/component-etc.png +0 -0
  332. package/dist-client/helps/board-modeller/images/component-form.png +0 -0
  333. package/dist-client/helps/board-modeller/images/component-gauge.png +0 -0
  334. package/dist-client/helps/board-modeller/images/component-image.png +0 -0
  335. package/dist-client/helps/board-modeller/images/component-iot.png +0 -0
  336. package/dist-client/helps/board-modeller/images/component-line.png +0 -0
  337. package/dist-client/helps/board-modeller/images/component-shape.png +0 -0
  338. package/dist-client/helps/board-modeller/images/component-table.png +0 -0
  339. package/dist-client/helps/board-modeller/images/component-text-media.png +0 -0
  340. package/dist-client/helps/board-modeller/images/component-toolbar.png +0 -0
  341. package/dist-client/helps/board-modeller/images/component-warehouse.png +0 -0
  342. package/dist-client/helps/board-modeller/images/control-toolbar-02.png +0 -0
  343. package/dist-client/helps/board-modeller/images/control-toolbar-03.png +0 -0
  344. package/dist-client/helps/board-modeller/images/control-toolbar-04.png +0 -0
  345. package/dist-client/helps/board-modeller/images/control-toolbar-05.png +0 -0
  346. package/dist-client/helps/board-modeller/images/control-toolbar-06.png +0 -0
  347. package/dist-client/helps/board-modeller/images/control-toolbar-07.png +0 -0
  348. package/dist-client/helps/board-modeller/images/control-toolbar-08.png +0 -0
  349. package/dist-client/helps/board-modeller/images/control-toolbar-09.png +0 -0
  350. package/dist-client/helps/board-modeller/images/control-toolbar-10.png +0 -0
  351. package/dist-client/helps/board-modeller/images/control-toolbar-11.png +0 -0
  352. package/dist-client/helps/board-modeller/images/control-toolbar-12.png +0 -0
  353. package/dist-client/helps/board-modeller/images/control-toolbar-13.png +0 -0
  354. package/dist-client/helps/board-modeller/images/control-toolbar-14.png +0 -0
  355. package/dist-client/helps/board-modeller/images/control-toolbar-15.png +0 -0
  356. package/dist-client/helps/board-modeller/images/control-toolbar-16.png +0 -0
  357. package/dist-client/helps/board-modeller/images/control-toolbar-17.png +0 -0
  358. package/dist-client/helps/board-modeller/images/control-toolbar-18.png +0 -0
  359. package/dist-client/helps/board-modeller/images/control-toolbar-19.png +0 -0
  360. package/dist-client/helps/board-modeller/images/control-toolbar-20.png +0 -0
  361. package/dist-client/helps/board-modeller/images/control-toolbar-21.png +0 -0
  362. package/dist-client/helps/board-modeller/images/control-toolbar-22.png +0 -0
  363. package/dist-client/helps/board-modeller/images/control-toolbar-23.png +0 -0
  364. package/dist-client/helps/board-modeller/images/control-toolbar-24.png +0 -0
  365. package/dist-client/helps/board-modeller/images/control-toolbar-25.png +0 -0
  366. package/dist-client/helps/board-modeller/images/control-toolbar-26.png +0 -0
  367. package/dist-client/helps/board-modeller/images/control-toolbar-27.png +0 -0
  368. package/dist-client/helps/board-modeller/images/control-toolbar-28.png +0 -0
  369. package/dist-client/helps/board-modeller/images/control-toolbar-29.png +0 -0
  370. package/dist-client/helps/board-modeller/images/control-toolbar-30.png +0 -0
  371. package/dist-client/helps/board-modeller/images/control-toolbar-31.png +0 -0
  372. package/dist-client/helps/board-modeller/images/control-toolbar-32.png +0 -0
  373. package/dist-client/helps/board-modeller/images/control-toolbar.png +0 -0
  374. package/dist-client/helps/board-modeller/images/effect-property.png +0 -0
  375. package/dist-client/helps/board-modeller/images/hover-01.png +0 -0
  376. package/dist-client/helps/board-modeller/images/join-type-bevel.png +0 -0
  377. package/dist-client/helps/board-modeller/images/join-type-miter.png +0 -0
  378. package/dist-client/helps/board-modeller/images/join-type-round.png +0 -0
  379. package/dist-client/helps/board-modeller/images/modeler-layout-01.png +0 -0
  380. package/dist-client/helps/board-modeller/images/property-window.png +0 -0
  381. package/dist-client/helps/board-modeller/images/shadow-02.png +0 -0
  382. package/dist-client/helps/board-modeller/images/shadow-03.png +0 -0
  383. package/dist-client/helps/board-modeller/images/shadow-04.png +0 -0
  384. package/dist-client/helps/board-modeller/images/shadow-05.png +0 -0
  385. package/dist-client/helps/board-modeller/images/shape-property.png +0 -0
  386. package/dist-client/helps/board-modeller/images/specific-property.png +0 -0
  387. package/dist-client/helps/board-modeller/images/style-property.png +0 -0
  388. package/dist-client/helps/board-modeller/images/target-property.png +0 -0
  389. package/dist-client/helps/board-modeller/images/variable-property.png +0 -0
  390. package/dist-client/helps/board-modeller/modeller.ko.md +0 -244
  391. package/dist-client/helps/board-modeller/modeller.md +0 -206
  392. package/dist-client/helps/board-modeller/modeller.zh.md +0 -241
  393. package/dist-client/helps/board-modeller/shapes/3dish.ko.md +0 -3
  394. package/dist-client/helps/board-modeller/shapes/3dish.md +0 -3
  395. package/dist-client/helps/board-modeller/shapes/3dish.zh.md +0 -3
  396. package/dist-client/helps/board-modeller/shapes/print-option.ko.md +0 -3
  397. package/dist-client/helps/board-modeller/shapes/print-option.md +0 -3
  398. package/dist-client/helps/board-modeller/shapes/print-option.zh.md +0 -3
  399. package/dist-client/helps/board-modeller/shapes/shapes.ko.md +0 -15
  400. package/dist-client/helps/board-modeller/shapes/shapes.md +0 -18
  401. package/dist-client/helps/board-modeller/shapes/shapes.zh.md +0 -16
  402. package/dist-client/helps/board-modeller/shapes/size.ko.md +0 -5
  403. package/dist-client/helps/board-modeller/shapes/size.md +0 -5
  404. package/dist-client/helps/board-modeller/shapes/size.zh.md +0 -5
  405. package/dist-client/helps/board-modeller/shapes/text-box.ko.md +0 -19
  406. package/dist-client/helps/board-modeller/shapes/text-box.md +0 -18
  407. package/dist-client/helps/board-modeller/shapes/text-box.zh.md +0 -18
  408. package/dist-client/helps/board-modeller/shapes/viewer-option.ko.md +0 -8
  409. package/dist-client/helps/board-modeller/shapes/viewer-option.md +0 -8
  410. package/dist-client/helps/board-modeller/shapes/viewer-option.zh.md +0 -8
  411. package/dist-client/helps/board-modeller/styles/fill-style.ko.md +0 -17
  412. package/dist-client/helps/board-modeller/styles/fill-style.md +0 -17
  413. package/dist-client/helps/board-modeller/styles/fill-style.zh.md +0 -17
  414. package/dist-client/helps/board-modeller/styles/line-style.ko.md +0 -19
  415. package/dist-client/helps/board-modeller/styles/line-style.md +0 -23
  416. package/dist-client/helps/board-modeller/styles/line-style.zh.md +0 -19
  417. package/dist-client/helps/board-modeller/styles/opacity.ko.md +0 -3
  418. package/dist-client/helps/board-modeller/styles/opacity.md +0 -3
  419. package/dist-client/helps/board-modeller/styles/opacity.zh.md +0 -3
  420. package/dist-client/helps/board-modeller/styles/text-style.ko.md +0 -8
  421. package/dist-client/helps/board-modeller/styles/text-style.md +0 -8
  422. package/dist-client/helps/board-modeller/styles/text-style.zh.md +0 -8
  423. package/dist-client/helps/components/oops-progress.md +0 -73
  424. package/dist-client/helps/index.md +0 -1
  425. package/dist-client/helps/integration/concept/connection.md +0 -27
  426. package/dist-client/helps/integration/concept/context.md +0 -83
  427. package/dist-client/helps/integration/concept/data-accessor.md +0 -9
  428. package/dist-client/helps/integration/concept/pending-queue.md +0 -32
  429. package/dist-client/helps/integration/concept/scenario-engine.md +0 -10
  430. package/dist-client/helps/integration/concept/scenario.md +0 -4
  431. package/dist-client/helps/integration/concept/task.md +0 -25
  432. package/dist-client/helps/integration/connector/mqtt-connector.md +0 -17
  433. package/dist-client/helps/integration/connector/mssql-connector.md +0 -34
  434. package/dist-client/helps/integration/connector/oracle-connector.md +0 -66
  435. package/dist-client/helps/integration/connector/postgresql-connector.md +0 -34
  436. package/dist-client/helps/integration/connector/sqlite-connector.md +0 -17
  437. package/dist-client/helps/integration/index.md +0 -37
  438. package/dist-client/helps/integration/task/book-up-scenario.md +0 -24
  439. package/dist-client/helps/integration/task/end.md +0 -3
  440. package/dist-client/helps/integration/task/floating-point.md +0 -34
  441. package/dist-client/helps/integration/task/goto.md +0 -8
  442. package/dist-client/helps/integration/task/local-graphql-mutate.md +0 -21
  443. package/dist-client/helps/integration/task/local-graphql-query.md +0 -21
  444. package/dist-client/helps/integration/task/log.md +0 -14
  445. package/dist-client/helps/integration/task/mqtt-publish.md +0 -10
  446. package/dist-client/helps/integration/task/mqtt-subscribe.md +0 -15
  447. package/dist-client/helps/integration/task/pick-pending-scenario.md +0 -13
  448. package/dist-client/helps/integration/task/publish.md +0 -16
  449. package/dist-client/helps/integration/task/script.md +0 -39
  450. package/dist-client/helps/integration/task/sleep.md +0 -8
  451. package/dist-client/helps/integration/task/throw.md +0 -12
  452. package/dist-client/helps/integration/task/variables.md +0 -37
  453. package/dist-client/helps/integration/ui/connection.md +0 -16
  454. package/dist-client/helps/integration/ui/crontab-editor.md +0 -9
  455. package/dist-client/helps/integration/ui/integration-monitor.md +0 -29
  456. package/dist-client/helps/integration/ui/scenario-detail.md +0 -35
  457. package/dist-client/helps/integration/ui/scenario.md +0 -35
  458. package/dist-client/helps/module/api.md +0 -117
  459. package/dist-client/helps/module/dashboard.md +0 -27
  460. package/dist-client/helps/module/help.md +0 -40
  461. package/dist-client/helps/module/lite-menu.md +0 -112
  462. package/dist-client/helps/module/notification-images/config-app-1.png +0 -0
  463. package/dist-client/helps/module/notification-images/config-app-2.png +0 -0
  464. package/dist-client/helps/module/notification-images/config-server-key.png +0 -0
  465. package/dist-client/helps/module/notification-images/config-service-account.png +0 -0
  466. package/dist-client/helps/module/notification-images/config-vapidkey-1.png +0 -0
  467. package/dist-client/helps/module/notification-images/config-vapidkey-2-get-public-key.png +0 -0
  468. package/dist-client/helps/module/notification-images/config-vapidkey-3-get-private-key.png +0 -0
  469. package/dist-client/helps/module/notification-images/element-notification-badge.png +0 -0
  470. package/dist-client/helps/module/notification-images/element-notification-list.png +0 -0
  471. package/dist-client/helps/module/notification-images/element-notification-setting-let.png +0 -0
  472. package/dist-client/helps/module/notification-images/push-test-on-chrome-1.png +0 -0
  473. package/dist-client/helps/module/notification-images/push-test-on-chrome-2.png +0 -0
  474. package/dist-client/helps/module/notification-images/push-test-on-firebase-1.png +0 -0
  475. package/dist-client/helps/module/notification-images/push-test-on-firebase-2.png +0 -0
  476. package/dist-client/helps/module/notification-images/push-test-on-firebase-3.png +0 -0
  477. package/dist-client/helps/module/notification-images/push-test-on-firebase-4.png +0 -0
  478. package/dist-client/helps/module/notification.md +0 -161
  479. package/dist-client/helps/oauth2-client/code-verifier.md +0 -5
  480. package/dist-client/helps/oauth2-client/credentials.md +0 -160
  481. package/dist-client/helps/oauth2-client/grant-type.md +0 -33
  482. package/dist-client/helps/scene/component/analog-clock.ko.md +0 -6
  483. package/dist-client/helps/scene/component/analog-clock.md +0 -8
  484. package/dist-client/helps/scene/component/analog-clock.zh.md +0 -6
  485. package/dist-client/helps/scene/component/arrow.ko.md +0 -9
  486. package/dist-client/helps/scene/component/arrow.md +0 -9
  487. package/dist-client/helps/scene/component/arrow.zh.md +0 -9
  488. package/dist-client/helps/scene/component/audio.ko.md +0 -1
  489. package/dist-client/helps/scene/component/audio.md +0 -1
  490. package/dist-client/helps/scene/component/audio.zh.md +0 -1
  491. package/dist-client/helps/scene/component/both-arrow.ko.md +0 -9
  492. package/dist-client/helps/scene/component/both-arrow.md +0 -9
  493. package/dist-client/helps/scene/component/both-arrow.zh.md +0 -9
  494. package/dist-client/helps/scene/component/chartjs.ko.md +0 -332
  495. package/dist-client/helps/scene/component/chartjs.md +0 -333
  496. package/dist-client/helps/scene/component/chartjs.zh.md +0 -331
  497. package/dist-client/helps/scene/component/color-image.ko.md +0 -9
  498. package/dist-client/helps/scene/component/color-image.md +0 -9
  499. package/dist-client/helps/scene/component/color-image.zh.md +0 -9
  500. package/dist-client/helps/scene/component/container.ko.md +0 -7
  501. package/dist-client/helps/scene/component/container.md +0 -9
  502. package/dist-client/helps/scene/component/container.zh.md +0 -8
  503. package/dist-client/helps/scene/component/donut.ko.md +0 -14
  504. package/dist-client/helps/scene/component/donut.md +0 -17
  505. package/dist-client/helps/scene/component/donut.zh.md +0 -18
  506. package/dist-client/helps/scene/component/dotted-line.ko.md +0 -7
  507. package/dist-client/helps/scene/component/dotted-line.md +0 -9
  508. package/dist-client/helps/scene/component/dotted-line.zh.md +0 -7
  509. package/dist-client/helps/scene/component/ellipse.ko.md +0 -11
  510. package/dist-client/helps/scene/component/ellipse.md +0 -11
  511. package/dist-client/helps/scene/component/ellipse.zh.md +0 -10
  512. package/dist-client/helps/scene/component/gauge-circle.ko.md +0 -168
  513. package/dist-client/helps/scene/component/gauge-circle.md +0 -167
  514. package/dist-client/helps/scene/component/gauge-circle.zh.md +0 -164
  515. package/dist-client/helps/scene/component/gauge-horizon.ko.md +0 -145
  516. package/dist-client/helps/scene/component/gauge-horizon.md +0 -145
  517. package/dist-client/helps/scene/component/gauge-horizon.zh.md +0 -145
  518. package/dist-client/helps/scene/component/gauge-vertical.ko.md +0 -12
  519. package/dist-client/helps/scene/component/gauge-vertical.md +0 -9
  520. package/dist-client/helps/scene/component/gauge-vertical.zh.md +0 -10
  521. package/dist-client/helps/scene/component/gif-view.ko.md +0 -10
  522. package/dist-client/helps/scene/component/gif-view.md +0 -10
  523. package/dist-client/helps/scene/component/gif-view.zh.md +0 -10
  524. package/dist-client/helps/scene/component/global-ref.ko.md +0 -1
  525. package/dist-client/helps/scene/component/global-ref.md +0 -1
  526. package/dist-client/helps/scene/component/global-ref.zh.md +0 -1
  527. package/dist-client/helps/scene/component/gray-image.ko.md +0 -9
  528. package/dist-client/helps/scene/component/gray-image.md +0 -9
  529. package/dist-client/helps/scene/component/gray-image.zh.md +0 -8
  530. package/dist-client/helps/scene/component/indoor-map.ko.md +0 -65
  531. package/dist-client/helps/scene/component/indoor-map.md +0 -65
  532. package/dist-client/helps/scene/component/indoor-map.zh.md +0 -65
  533. package/dist-client/helps/scene/component/info-window.ko.md +0 -1
  534. package/dist-client/helps/scene/component/info-window.md +0 -1
  535. package/dist-client/helps/scene/component/info-window.zh.md +0 -1
  536. package/dist-client/helps/scene/component/input.ko.md +0 -59
  537. package/dist-client/helps/scene/component/input.md +0 -59
  538. package/dist-client/helps/scene/component/input.zh.md +0 -58
  539. package/dist-client/helps/scene/component/line.ko.md +0 -9
  540. package/dist-client/helps/scene/component/line.md +0 -9
  541. package/dist-client/helps/scene/component/line.zh.md +0 -7
  542. package/dist-client/helps/scene/component/local-ref.ko.md +0 -1
  543. package/dist-client/helps/scene/component/local-ref.md +0 -1
  544. package/dist-client/helps/scene/component/local-ref.zh.md +0 -1
  545. package/dist-client/helps/scene/component/marker.ko.md +0 -15
  546. package/dist-client/helps/scene/component/marker.md +0 -15
  547. package/dist-client/helps/scene/component/marker.zh.md +0 -15
  548. package/dist-client/helps/scene/component/news-ticker.ko.md +0 -27
  549. package/dist-client/helps/scene/component/news-ticker.md +0 -27
  550. package/dist-client/helps/scene/component/news-ticker.zh.md +0 -27
  551. package/dist-client/helps/scene/component/polygon.ko.md +0 -9
  552. package/dist-client/helps/scene/component/polygon.md +0 -9
  553. package/dist-client/helps/scene/component/polygon.zh.md +0 -9
  554. package/dist-client/helps/scene/component/polyline.ko.md +0 -10
  555. package/dist-client/helps/scene/component/polyline.md +0 -10
  556. package/dist-client/helps/scene/component/polyline.zh.md +0 -10
  557. package/dist-client/helps/scene/component/progress-circle.ko.md +0 -41
  558. package/dist-client/helps/scene/component/progress-circle.md +0 -42
  559. package/dist-client/helps/scene/component/progress-circle.zh.md +0 -39
  560. package/dist-client/helps/scene/component/progress-horizontal.ko.md +0 -37
  561. package/dist-client/helps/scene/component/progress-horizontal.md +0 -31
  562. package/dist-client/helps/scene/component/progress-horizontal.zh.md +0 -31
  563. package/dist-client/helps/scene/component/progress-vertical.ko.md +0 -23
  564. package/dist-client/helps/scene/component/progress-vertical.md +0 -24
  565. package/dist-client/helps/scene/component/progress-vertical.zh.md +0 -23
  566. package/dist-client/helps/scene/component/rack.ko.md +0 -17
  567. package/dist-client/helps/scene/component/rack.md +0 -15
  568. package/dist-client/helps/scene/component/rack.zh.md +0 -16
  569. package/dist-client/helps/scene/component/random.ko.md +0 -12
  570. package/dist-client/helps/scene/component/random.md +0 -11
  571. package/dist-client/helps/scene/component/random.zh.md +0 -11
  572. package/dist-client/helps/scene/component/rect.ko.md +0 -17
  573. package/dist-client/helps/scene/component/rect.md +0 -16
  574. package/dist-client/helps/scene/component/rect.zh.md +0 -16
  575. package/dist-client/helps/scene/component/simple-switch.ko.md +0 -20
  576. package/dist-client/helps/scene/component/simple-switch.md +0 -19
  577. package/dist-client/helps/scene/component/simple-switch.zh.md +0 -19
  578. package/dist-client/helps/scene/component/star.ko.md +0 -19
  579. package/dist-client/helps/scene/component/star.md +0 -19
  580. package/dist-client/helps/scene/component/star.zh.md +0 -19
  581. package/dist-client/helps/scene/component/tab.ko.md +0 -14
  582. package/dist-client/helps/scene/component/tab.md +0 -13
  583. package/dist-client/helps/scene/component/tab.zh.md +0 -13
  584. package/dist-client/helps/scene/component/text-clock.ko.md +0 -25
  585. package/dist-client/helps/scene/component/text-clock.md +0 -22
  586. package/dist-client/helps/scene/component/text-clock.zh.md +0 -22
  587. package/dist-client/helps/scene/component/text.ko.md +0 -9
  588. package/dist-client/helps/scene/component/text.md +0 -9
  589. package/dist-client/helps/scene/component/text.zh.md +0 -9
  590. package/dist-client/helps/scene/component/top-rounded-ractangle.ko.md +0 -15
  591. package/dist-client/helps/scene/component/top-rounded-ractangle.md +0 -15
  592. package/dist-client/helps/scene/component/top-rounded-ractangle.zh.md +0 -15
  593. package/dist-client/helps/scene/component/triangle.ko.md +0 -9
  594. package/dist-client/helps/scene/component/triangle.md +0 -9
  595. package/dist-client/helps/scene/component/triangle.zh.md +0 -9
  596. package/dist-client/helps/scene/images/both-arrow-01.png +0 -0
  597. package/dist-client/helps/scene/images/button-evnet-mapping-01.png +0 -0
  598. package/dist-client/helps/scene/images/button-evnet-mapping-02.png +0 -0
  599. package/dist-client/helps/scene/images/button-evnet-mapping-03.png +0 -0
  600. package/dist-client/helps/scene/images/chart-bar-01.png +0 -0
  601. package/dist-client/helps/scene/images/chart-bar-02.png +0 -0
  602. package/dist-client/helps/scene/images/chart-bar-03.png +0 -0
  603. package/dist-client/helps/scene/images/chart-bar-08.png +0 -0
  604. package/dist-client/helps/scene/images/chart-bar-12.png +0 -0
  605. package/dist-client/helps/scene/images/chart-data-01.png +0 -0
  606. package/dist-client/helps/scene/images/chart-data-04.png +0 -0
  607. package/dist-client/helps/scene/images/chart-doughnut-01.png +0 -0
  608. package/dist-client/helps/scene/images/chart-horizontal-bar-01.png +0 -0
  609. package/dist-client/helps/scene/images/chart-line-01.png +0 -0
  610. package/dist-client/helps/scene/images/chart-mix-01.png +0 -0
  611. package/dist-client/helps/scene/images/chart-mix-02.png +0 -0
  612. package/dist-client/helps/scene/images/chart-pie-01.png +0 -0
  613. package/dist-client/helps/scene/images/chart-polar-01.png +0 -0
  614. package/dist-client/helps/scene/images/chart-radar-01.png +0 -0
  615. package/dist-client/helps/scene/images/clock-analog-01.png +0 -0
  616. package/dist-client/helps/scene/images/clock-text-01.png +0 -0
  617. package/dist-client/helps/scene/images/clock-text-02.png +0 -0
  618. package/dist-client/helps/scene/images/clock-text-03.png +0 -0
  619. package/dist-client/helps/scene/images/clock-text-04.png +0 -0
  620. package/dist-client/helps/scene/images/container-01.png +0 -0
  621. package/dist-client/helps/scene/images/container-03.png +0 -0
  622. package/dist-client/helps/scene/images/container-04.png +0 -0
  623. package/dist-client/helps/scene/images/dash-01.png +0 -0
  624. package/dist-client/helps/scene/images/donut-01.png +0 -0
  625. package/dist-client/helps/scene/images/donut-02.png +0 -0
  626. package/dist-client/helps/scene/images/ellipse-01.png +0 -0
  627. package/dist-client/helps/scene/images/gauge-circle-01.png +0 -0
  628. package/dist-client/helps/scene/images/gauge-circle-02.png +0 -0
  629. package/dist-client/helps/scene/images/gauge-circle-03.png +0 -0
  630. package/dist-client/helps/scene/images/gauge-circle-04.png +0 -0
  631. package/dist-client/helps/scene/images/gauge-circle-05.png +0 -0
  632. package/dist-client/helps/scene/images/gauge-circle-06.png +0 -0
  633. package/dist-client/helps/scene/images/gauge-circle-07.png +0 -0
  634. package/dist-client/helps/scene/images/gauge-circle-08.png +0 -0
  635. package/dist-client/helps/scene/images/gauge-circle-09.png +0 -0
  636. package/dist-client/helps/scene/images/gauge-circle-10.png +0 -0
  637. package/dist-client/helps/scene/images/gauge-circle-11.png +0 -0
  638. package/dist-client/helps/scene/images/gauge-circle-12.png +0 -0
  639. package/dist-client/helps/scene/images/gauge-circle-13.png +0 -0
  640. package/dist-client/helps/scene/images/gauge-circle-14.png +0 -0
  641. package/dist-client/helps/scene/images/gauge-circle-15.png +0 -0
  642. package/dist-client/helps/scene/images/gauge-circle-16.png +0 -0
  643. package/dist-client/helps/scene/images/gauge-circle-17.png +0 -0
  644. package/dist-client/helps/scene/images/gauge-circle-18.png +0 -0
  645. package/dist-client/helps/scene/images/gauge-circle-19.png +0 -0
  646. package/dist-client/helps/scene/images/gauge-circle-20.png +0 -0
  647. package/dist-client/helps/scene/images/gauge-circle-21.png +0 -0
  648. package/dist-client/helps/scene/images/gauge-horizontal-01.png +0 -0
  649. package/dist-client/helps/scene/images/gauge-vertical-01.png +0 -0
  650. package/dist-client/helps/scene/images/gauge-vertical-02.png +0 -0
  651. package/dist-client/helps/scene/images/gauge-vertical-03.png +0 -0
  652. package/dist-client/helps/scene/images/gauge-vertical-04.png +0 -0
  653. package/dist-client/helps/scene/images/gauge-vertical-05.png +0 -0
  654. package/dist-client/helps/scene/images/gauge-vertical-06.png +0 -0
  655. package/dist-client/helps/scene/images/gauge-vertical-07.png +0 -0
  656. package/dist-client/helps/scene/images/gauge-vertical-08.png +0 -0
  657. package/dist-client/helps/scene/images/gauge-vertical-09.png +0 -0
  658. package/dist-client/helps/scene/images/gauge-vertical-10.png +0 -0
  659. package/dist-client/helps/scene/images/gauge-vertical-11.png +0 -0
  660. package/dist-client/helps/scene/images/gauge-vertical-12.png +0 -0
  661. package/dist-client/helps/scene/images/gauge-vertical-13.png +0 -0
  662. package/dist-client/helps/scene/images/gauge-vertical-14.png +0 -0
  663. package/dist-client/helps/scene/images/gauge-vertical-15.png +0 -0
  664. package/dist-client/helps/scene/images/gauge-vertical-16.png +0 -0
  665. package/dist-client/helps/scene/images/gauge-vertical-17.png +0 -0
  666. package/dist-client/helps/scene/images/gauge-vertical-18.png +0 -0
  667. package/dist-client/helps/scene/images/half-round-rect-01.png +0 -0
  668. package/dist-client/helps/scene/images/half-round-rect-02.png +0 -0
  669. package/dist-client/helps/scene/images/indoor-button-finish-01.gif +0 -0
  670. package/dist-client/helps/scene/images/indoor-create-01.png +0 -0
  671. package/dist-client/helps/scene/images/indoor-create-02.png +0 -0
  672. package/dist-client/helps/scene/images/indoor-create-03.png +0 -0
  673. package/dist-client/helps/scene/images/indoor-setting-01.png +0 -0
  674. package/dist-client/helps/scene/images/line-01.png +0 -0
  675. package/dist-client/helps/scene/images/marker-01.png +0 -0
  676. package/dist-client/helps/scene/images/marker-02.png +0 -0
  677. package/dist-client/helps/scene/images/media-01.png +0 -0
  678. package/dist-client/helps/scene/images/media-02.png +0 -0
  679. package/dist-client/helps/scene/images/news_ticker_1.png +0 -0
  680. package/dist-client/helps/scene/images/news_ticker_2.png +0 -0
  681. package/dist-client/helps/scene/images/news_ticker_3.png +0 -0
  682. package/dist-client/helps/scene/images/news_ticker_video_1.gif +0 -0
  683. package/dist-client/helps/scene/images/news_ticker_video_2.gif +0 -0
  684. package/dist-client/helps/scene/images/polygon-01.png +0 -0
  685. package/dist-client/helps/scene/images/polyline-01.png +0 -0
  686. package/dist-client/helps/scene/images/progress-circle-01.png +0 -0
  687. package/dist-client/helps/scene/images/progress-circle-02.png +0 -0
  688. package/dist-client/helps/scene/images/progress-circle-03.png +0 -0
  689. package/dist-client/helps/scene/images/progress-circle-04.png +0 -0
  690. package/dist-client/helps/scene/images/progress-circle-05.png +0 -0
  691. package/dist-client/helps/scene/images/progress-horizontal-01.png +0 -0
  692. package/dist-client/helps/scene/images/progress-horizontal-02.png +0 -0
  693. package/dist-client/helps/scene/images/progress-horizontal-03.png +0 -0
  694. package/dist-client/helps/scene/images/progress-horizontal-04.png +0 -0
  695. package/dist-client/helps/scene/images/progress-vertical-01.png +0 -0
  696. package/dist-client/helps/scene/images/progress-vertical-02.png +0 -0
  697. package/dist-client/helps/scene/images/progress-vertical-03.png +0 -0
  698. package/dist-client/helps/scene/images/rect-01.png +0 -0
  699. package/dist-client/helps/scene/images/rect-02.png +0 -0
  700. package/dist-client/helps/scene/images/single-arrow-01.png +0 -0
  701. package/dist-client/helps/scene/images/star-01.png +0 -0
  702. package/dist-client/helps/scene/images/star-02.png +0 -0
  703. package/dist-client/helps/scene/images/star-03.png +0 -0
  704. package/dist-client/helps/scene/images/text-01.png +0 -0
  705. package/dist-client/helps/scene/images/triangle-01.png +0 -0
  706. package/dist-client/helps/setting/images/confirm-button.PNG +0 -0
  707. package/dist-client/helps/setting/images/delete-button.png +0 -0
  708. package/dist-client/helps/setting/images/error-setting.png +0 -0
  709. package/dist-client/helps/setting/images/export-button.png +0 -0
  710. package/dist-client/helps/setting/images/flowchart-setting-management.jpg +0 -0
  711. package/dist-client/helps/setting/images/partner-setting.png +0 -0
  712. package/dist-client/helps/setting/images/partners-list.PNG +0 -0
  713. package/dist-client/helps/setting/images/save-button.png +0 -0
  714. package/dist-client/helps/setting/images/select-button.PNG +0 -0
  715. package/dist-client/helps/setting/images/setting-board.png +0 -0
  716. package/dist-client/helps/setting/images/upload-button.png +0 -0
  717. package/dist-client/helps/setting/partner-setting.en.md +0 -19
  718. package/dist-client/helps/setting/settings.en.md +0 -26
  719. package/dist-client/helps/setting/settings.ko.md +0 -4
  720. package/dist-client/index.html +0 -14
  721. package/dist-client/main.js +0 -228
  722. package/dist-client/modules.js +0 -171
  723. package/dist-client/node_modules/@hatiolab/things-scene/package.json +0 -81
  724. package/dist-client/node_modules/@hatiolab/things-scene/rollup.config.js +0 -40
  725. package/dist-client/node_modules/@hatiolab/things-scene/things-board.js +0 -9
  726. package/dist-client/node_modules/@hatiolab/things-scene/things-scene-ie.js +0 -1
  727. package/dist-client/node_modules/@hatiolab/things-scene/things-scene-min.js +0 -1
  728. package/dist-client/node_modules/@lottiefiles/lottie-player/dist/lottie-player.js +0 -44
  729. package/dist-client/node_modules/@lottiefiles/lottie-player/dist/lottie-player.js.map +0 -1
  730. package/dist-client/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js +0 -206
  731. package/dist-client/node_modules/marked/marked.min.js +0 -6
  732. package/dist-client/node_modules/marked/package.json +0 -88
  733. package/dist-client/node_modules/web-animations-js/web-animations-next.min.js +0 -16
  734. package/dist-client/node_modules/web-animations-js/web-animations-next.min.js.map +0 -1
  735. package/dist-client/oauth2/oauth2-decision-error-page.js +0 -299
  736. package/dist-client/oauth2/oauth2-decision-page.js +0 -362
  737. package/dist-client/openapi/unstable/scenario.yaml +0 -240
  738. package/dist-client/openapi/unstable.yaml +0 -41
  739. package/dist-client/profile.js +0 -1
  740. package/dist-client/public/home.js +0 -332
  741. package/dist-client/service-worker.js +0 -1
  742. package/dist-client/theme.css +0 -33
  743. package/dist-client/theme.js +0 -1
  744. package/dist-client/translations/en.json +0 -1083
  745. package/dist-client/translations/ko.json +0 -1083
  746. package/dist-client/translations/ms.json +0 -1073
  747. package/dist-client/translations/zh.json +0 -1061
  748. package/dist-client/vendors~modules.js +0 -2423
  749. package/dist-client/views/auth-page.html +0 -93
  750. package/dist-client/views/dependencies-view-graphviz.html +0 -75
  751. package/dist-client/views/dependencies-view.html +0 -139
  752. package/dist-client/views/internal-board-service-view.html +0 -65
  753. package/dist-client/views/internal-label-command-view.html +0 -301
  754. package/dist-client/views/oauth2-page.html +0 -90
  755. package/dist-client/views/public/home.html +0 -83
  756. package/dist-client/views/scenario-view.html +0 -64
  757. package/dist-client/views/template.html +0 -21
  758. package/logs/application-2021-11-08-10.log +0 -4
  759. package/logs/connections-2021-11-02-18.log +0 -0
  760. package/logs/connections-2021-11-03-09.log +0 -0
  761. package/logs/connections-2021-11-04-12.log +0 -0
  762. package/logs/connections-2021-11-04-13.log +0 -0
  763. package/logs/connections-2021-11-04-20.log +0 -0
  764. package/logs/connections-2021-11-08-10.log +0 -0
@@ -1,171 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[10],{1001:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));var i,r=n(284),a=n(35),o=n(17);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){d(a,i,r,o,s,"next",e)}function s(e){d(a,i,r,o,s,"throw",e)}o(void 0)}))}}function u(){return new o.ReferenceMap(function(){var e=p((function*(e,t,n){try{var s,c=(yield a.client.query({query:Object(r.a)(i||(p=["\n query FetchBoardById($id: String!) {\n board(id: $id) {\n model\n }\n }\n "],u||(u=p.slice(0)),i=Object.freeze(Object.defineProperties(p,{raw:{value:Object.freeze(u)}})))),variables:{id:e},context:Object(a.gqlContext)()})).data.board,d=JSON.parse(c.model);try{s=yield h.get(e),console.warn("Board fetched more than twice.",e)}catch(e){s=Object(o.create)({model:d,mode:0,refProvider:h})}t(s,l(l({},c),{},{model:d}))}catch(e){Object(o.error)(e),n(e)}var p,u}));return function(t,n,i){return e.apply(this,arguments)}}(),function(){var e=p((function*(e,t){t.dispose()}));return function(t,n){return e.apply(this,arguments)}}())}var h=u()},1002:function(e,t,n){"use strict";var i=n(1048);n.d(t,"a",(function(){return i.a})),n.d(t,"b",(function(){return i.b}))},1015:function(e,t,n){"use strict";n.d(t,"a",(function(){return R}));n(42),n(8);var i,r,a,o,s,l=n(982),c=n(35),d=n(5),p=(n(612),n(0)),u=n(77),h=n(45);function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class m extends(Object(u.a)(c.store)(p.a)){static get styles(){return[h.c,Object(p.b)(i||(i=b(["\n :host {\n display: flex;\n max-width: 100%;\n background-color: rgba(var(--primary-color-rgb), 0.1);\n border-bottom: var(--border-dark-color);\n }\n\n :host * {\n vertical-align: middle;\n }\n\n div {\n flex: 1;\n display: flex;\n flex-direction: row;\n padding: var(--padding-default);\n }\n\n mwc-icon {\n background-color: rgba(var(--primary-color-rgb), 0.8);\n margin-right: var(--margin-narrow);\n padding: 2px;\n border-radius: 50%;\n font-size: var(--fontsize-large);\n color: var(--theme-white-color);\n }\n span,\n select {\n flex: 1;\n color: var(--secondary-color);\n font: bold 14px/20px var(--theme-font);\n }\n\n select {\n border: none;\n background-color: transparent;\n }\n\n select:focus {\n outline: 0;\n }\n :host([dark]) {\n background-color: rgba(var(--secondary-color-rgb), 0.7);\n padding: 0 !important;\n border-bottom: none;\n }\n :host([dark]) mwc-icon {\n background-color: rgba(0, 0, 0, 0.3);\n margin: 1px 4px 0px 0px;\n padding: 1px 2px;\n border-radius: 50%;\n color: var(--primary-color);\n line-height: 19px;\n }\n :host([dark]) span,\n :host([dark]) select {\n color: var(--theme-white-color);\n font: bold 13px/13px var(--theme-font);\n }\n :host([dark]) span {\n line-height: 23px;\n }\n\n :host([rounded-corner]) {\n height: 30px;\n border-radius: 20px;\n border: var(--border-dark-color);\n }\n :host([rounded-corner]) div {\n padding: var(--padding-narrow) var(--padding-default);\n }\n "])))]}static get properties(){return{domains:Array,domain:Object}}render(){var e=this.domains||[],t=this.domain||{};return Object(p.e)(r||(r=b(["\n <div>\n <mwc-icon>outlined_flag</mwc-icon>\n ","\n </div>\n "])),e.length<=1?Object(p.e)(a||(a=b([" <span>","</span> "])),t.name):Object(p.e)(o||(o=b(["\n <select\n .value=","\n @change=","\n >\n ","\n </select>\n "])),t.subdomain,e=>window.location.pathname="/auth/checkin/".concat(e.target.value),e.map(e=>Object(p.e)(s||(s=b(["\n <option .value="," ?selected=",">","</option>\n "])),e.subdomain,e.subdomain==t.subdomain,e.name))))}stateChanged(e){this.domains=e.app.domains,this.domain=e.app.domain}}customElements.define("domain-switch",m);var g,v,f,y,w,A,x,O,j,k;n(1094);function E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function R(e){e.owner&&(c.store.dispatch({type:l.a,morenda:{icon:Object(d.g)(g||(g=E([" <mwc-icon>how_to_reg</mwc-icon> "]))),name:Object(d.g)(v||(v=E([' <i18n-msg msgid="text.role_management"></i18n-msg> ']))),action:()=>{Object(c.navigate)("roles")}}}),c.store.dispatch({type:l.a,morenda:{icon:Object(d.g)(f||(f=E([" <mwc-icon>devices</mwc-icon> "]))),name:Object(d.g)(y||(y=E([' <i18n-msg msgid="text.appliance"></i18n-msg> ']))),action:()=>{Object(c.navigate)("appliance-home")}}}),c.store.dispatch({type:l.a,morenda:{icon:Object(d.g)(w||(w=E([" <mwc-icon>apps</mwc-icon> "]))),name:Object(d.g)(A||(A=E([' <i18n-msg msgid="text.application management"></i18n-msg> ']))),action:()=>{Object(c.navigate)("applications")}}}),c.store.dispatch({type:l.a,morenda:{icon:Object(d.g)(x||(x=E([" <mwc-icon>people</mwc-icon> "]))),name:Object(d.g)(O||(O=E([' <i18n-msg msgid="text.user management"></i18n-msg> ']))),action:()=>{Object(c.navigate)("users")}}})),e.super&&c.store.dispatch({type:l.a,morenda:{icon:Object(d.g)(j||(j=E([" <mwc-icon>business</mwc-icon> "]))),name:Object(d.g)(k||(k=E([' <i18n-msg msgid="text.domain management"></i18n-msg> ']))),action:()=>{Object(c.navigate)("domains")}}})}},1019:function(e,t,n){"use strict";function i(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function r(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,l,"next",e)}function l(e){i(o,r,a,s,l,"throw",e)}s(void 0)}))}}n.d(t,"a",(function(){return o}));var a=new Worker("/assets/scripts/markdown-webworker.js");function o(e,t){return s.apply(this,arguments)}function s(){return(s=r((function*(e,t){return new Promise((n,i)=>{var r=setTimeout(()=>{i("Marked took too long!")},2e4);a.onmessage=e=>{clearTimeout(r),n(e.data)},a.postMessage({content:e,options:t})})}))).apply(this,arguments)}},1034:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i="ADD_BOARD_COMPONENTS"},1035:function(e,t,n){"use strict";var i,r,a,o,s,l,c,d,p,u=n(8),h=n(0),b=n(284),m=n(35),g=n(29),v=n(45);n(1124);function f(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function y(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){f(a,i,r,o,s,"next",e)}function s(e){f(a,i,r,o,s,"throw",e)}o(void 0)}))}}function w(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var A=Object(b.a)(r||(r=w(["\n {\n groups {\n items {\n id\n name\n description\n }\n total\n }\n }\n"]))),x=Object(b.a)(a||(a=w(["\n mutation CreateBoard($board: NewBoard!) {\n createBoard(board: $board) {\n id\n name\n description\n model\n createdAt\n updatedAt\n }\n }\n"])));class O extends(Object(m.InfiniteScrollable)(Object(u.b)(u.a)(h.a))){static get styles(){return[v.c,Object(h.b)(o||(o=w(["\n :host {\n display: grid;\n grid-template-rows: auto auto 1fr;\n overflow: hidden;\n background-color: var(--popup-content-background-color);\n }\n\n #main {\n overflow: auto;\n padding: var(--popup-content-padding);\n display: grid;\n grid-template-columns: var(--card-list-template);\n grid-auto-rows: var(--card-list-rows-height);\n grid-gap: 20px;\n }\n\n .card {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n border-radius: var(--card-list-border-radius);\n background-color: var(--card-list-background-color);\n }\n\n .card[selected] {\n border: red solid;\n }\n\n .card.create {\n overflow: visible;\n }\n\n .card:hover {\n cursor: pointer;\n }\n\n .card > .name {\n background-color: var(--board-renderer-name-background-color);\n opacity: 0.8;\n margin-top: -35px;\n width: 100%;\n color: #fff;\n font-weight: bolder;\n font-size: 13px;\n text-indent: 7px;\n }\n\n .card > .description {\n background-color: rgba(0, 0, 0, 0.7);\n width: 100%;\n min-height: 15px;\n font-size: 0.6rem;\n color: #fff;\n text-indent: 7px;\n }\n .card img {\n max-height: 100%;\n min-height: 100%;\n }\n\n #filter {\n padding: var(--popup-content-padding);\n background-color: #fff;\n box-shadow: var(--box-shadow);\n }\n\n #filter * {\n font-size: 15px;\n }\n\n select {\n text-transform: capitalize;\n float: right;\n }\n "])))]}static get properties(){return{groups:Array,boards:Array,group:String,_page:Number,_total:Number,creatable:Boolean,value:String}}constructor(){super(),this.groups=[],this.boards=[],this._page=1,this._total=0,this._infiniteScrollOptions.limit=20}render(){return Object(h.e)(s||(s=w(['\n <div id="filter">\n <select\n @change=','\n >\n <option value="">',"</option>\n ",'\n </select>\n </div>\n\n <div\n id="main"\n @scroll=',"\n >\n ","\n ","\n </div>\n "])),e=>{this.group=e.currentTarget.value,this.requestUpdate()},u.a.t("label.all"),this.groups.map(e=>Object(h.e)(l||(l=w([" <option value=",">","</option> "])),e.id,e.description)),e=>{this.onScroll(e)},this.creatable?Object(h.e)(c||(c=w(['\n <board-creation-card\n class="card create"\n .groups=',"\n .defaultGroup=","\n @create-board=","\n ></board-creation-card>\n "])),this.groups,this.group,e=>this.onCreateBoard(e)):Object(h.e)(d||(d=w([""]))),this.boards.map(e=>Object(h.e)(p||(p=w(['\n <div class="card" @click='," ?selected=",">\n <img src=",' />\n <div class="name">','</div>\n <div class="description">',"</div>\n </div>\n "])),t=>this.onClickSelect(e),this.value===e.id,e.thumbnail,e.name,e.description)))}get scrollTargetEl(){return this.renderRoot.querySelector("#main")}scrollAction(){var e=this;return y((function*(){return e.appendBoards()}))()}firstUpdated(){this.refreshGroups()}updated(e){e.has("group")&&this.refreshBoards()}onClickSelect(e){this.dispatchEvent(new CustomEvent("board-selected",{composed:!0,bubbles:!0,detail:{board:e}}))}onCreateBoard(e){var t=this;return y((function*(){var{name:n,description:i,groupId:r}=e.detail;yield t.createBoard(n,i,r),t.refreshBoards()}))()}refreshGroups(){var e=this;return y((function*(){var t=yield m.client.query({query:A,context:Object(m.gqlContext)()});if(t&&t.data){var n=t.data.groups.items;e.groups=[...n],e.group=n.filter(t=>t.id==e.group).length>0?e.group:""}}))()}refreshBoards(){var e=this;return y((function*(){var t=yield e.getBoards();e.boards=[...t];var n=e.shadowRoot.querySelector("board-creation-card");n&&n.reset()}))()}appendBoards(){var e=this;return y((function*(){var t=yield e.getBoards({page:e._page+1});e.boards=[...e.boards,...t]}))()}getBoards({page:e=1,limit:t=this._infiniteScrollOptions.limit}={}){var n=this;return y((function*(){var r=[],a={limit:t,page:e};n.group&&r.push({name:"group_id",operator:"eq",value:n.group});var o,s={filters:r,sortings:[],pagination:a},l=yield m.client.query({query:(o=s,Object(b.a)(i||(i=w(["\n {\n boards(",") {\n items {\n id\n name\n description\n thumbnail\n }\n total\n }\n }\n"])),g.g.buildArgs(o))),context:Object(m.gqlContext)()});return l&&l.data?(n._total=l.data.boards.total,n._page=e,l.data.boards.items):[]}))()}createBoard(e,t,n){return y((function*(){var i=JSON.stringify({width:800,height:600});return(yield m.client.mutate({mutation:x,variables:{board:{name:e,description:t,groupId:n,model:i}},context:Object(m.gqlContext)()})).data}))()}}customElements.define("board-selector",O)},1036:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return p}));var i,r=n(35),a=n(284);function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function s(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function l(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){s(a,i,r,o,l,"next",e)}function l(e){s(a,i,r,o,l,"throw",e)}o(void 0)}))}}var c="UPDATE_BOARD_SETTINGS",d="CLEAR_BOARD_SETTINGS";function p(e){return u.apply(this,arguments)}function u(){return(u=l((function*(e){var t=yield r.client.query({query:Object(a.a)(i||(i=o(["\n query($names: [String!]) {\n boardSettings(names: $names) {\n name\n value\n board {\n id\n name\n description\n thumbnail\n }\n }\n }\n "]))),variables:{names:e}});if(t&&t.data)return t.data.boardSettings}))).apply(this,arguments)}},1037:function(e,t,n){"use strict";function i(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function r(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,l,"next",e)}function l(e){i(o,r,a,s,l,"throw",e)}s(void 0)}))}}n.d(t,"a",(function(){return a}));class a{constructor(e=[{vendorId:2655},{vendorId:1273},{vendorId:2088}]){this.filters=e}setup(){var e=this;return r((function*(){if(!navigator.usb)throw new Error("Browser could not access USB device. You can print only https or localhost origin.");var t=yield navigator.usb.requestDevice({filters:e.filters});e.device=t,console.log(e.device),yield e.device.open(),e.device.configuration||(yield e.device.selectConfiguration(1)),yield e.device.claimInterface(0),e.device.configuration.interfaces[0].alternate||(yield e.device.selectAlternateInterface(0,0))}))()}read(){var e=this;return r((function*(){var{endpointNumber:t}=e.device.configuration.interfaces[0].alternate.endpoints[0],n=yield e.device.transferIn(t,64);return(new TextDecoder).decode(n.data)}))()}_print(e){var t=this;return r((function*(){var n=(new TextEncoder).encode(e),{endpointNumber:i}=t.device.configuration.interfaces[0].alternate.endpoints[1];yield t.device.transferOut(i,n)}))()}connectAndPrint(e){var t=this;return r((function*(){t.print(e)}))()}print(e){var t=this;return r((function*(){try{t.device||(yield t.setup()),yield t._print(e)}catch(e){throw console.log(e),delete t.device,e}}))()}}},1038:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(1313),r=n.n(i);function a(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}class o{constructor(){this.printer=new r.a}print(e){var t,n=this;return(t=function*(){try{var t=yield n.printer.getDefaultPrinter();if(!t)throw new Error("There is no default printer in your configuration");n.printer.setPrinter(t),n.printer.print(e)}catch(e){throw new Error(e)}},function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function s(e){a(o,i,r,s,l,"next",e)}function l(e){a(o,i,r,s,l,"throw",e)}s(void 0)}))})()}}},1045:function(e,t,n){"use strict";n.d(t,"b",(function(){return O})),n.d(t,"a",(function(){return j})),n.d(t,"e",(function(){return k})),n.d(t,"c",(function(){return E})),n.d(t,"f",(function(){return R})),n.d(t,"d",(function(){return M}));var i,r,a,o,s=n(284),l=n(35),c=["id"];function d(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function m(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){m(a,i,r,o,s,"next",e)}function s(e){m(a,i,r,o,s,"throw",e)}o(void 0)}))}}function v(){return(v=g((function*(e){var t=yield l.client.query({query:Object(s.a)(i||(i=b(["\n query($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n fonts(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n provider\n uri\n path\n active\n createdAt\n updatedAt\n }\n total\n }\n }\n "]))),variables:e});return t.data&&t.data.fonts}))).apply(this,arguments)}function f(){return(f=g((function*(e){return(yield l.client.mutate({mutation:Object(s.a)(r||(r=b(["\n mutation CreateFont($font: NewFont!) {\n createFont(font: $font) {\n name\n provider\n uri\n path\n active\n createdAt\n updatedAt\n }\n }\n "]))),variables:{font:u({active:!1},e)}})).data}))).apply(this,arguments)}function y(){return(y=g((function*(e){var{id:t}=e,n=d(e,c);return(yield l.client.mutate({mutation:Object(s.a)(a||(a=b(["\n mutation UpdateFont($id: String!, $patch: FontPatch!) {\n updateFont(id: $id, patch: $patch) {\n id\n name\n provider\n uri\n path\n active\n createdAt\n updatedAt\n }\n }\n "]))),variables:{id:t,patch:n}})).data}))).apply(this,arguments)}function w(){return(w=g((function*(e){return(yield l.client.mutate({mutation:Object(s.a)(o||(o=b(["\n mutation($id: String!) {\n deleteFont(id: $id)\n }\n "]))),variables:{id:e}})).data}))).apply(this,arguments)}function A(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function x(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){A(a,i,r,o,s,"next",e)}function s(e){A(a,i,r,o,s,"throw",e)}o(void 0)}))}}var O="UPDATE_FONT_LIST",j="CLEAR_FONT_LIST",k=e=>function(){var t=x((function*(t){try{var n=yield function(e){return v.apply(this,arguments)}(e||{filters:[]});t({type:O,list:n&&n.items})}catch(e){console.error(e),t({type:j})}}));return function(e){return t.apply(this,arguments)}}(),E=e=>function(){var t=x((function*(t){try{(yield function(e){return f.apply(this,arguments)}(e)).createFont;t(k())}catch(e){console.error(e)}}));return function(e){return t.apply(this,arguments)}}(),R=e=>function(){var t=x((function*(t){try{(yield function(e){return y.apply(this,arguments)}(e)).updateFont;t(k())}catch(e){console.error(e)}}));return function(e){return t.apply(this,arguments)}}(),M=e=>function(){var t=x((function*(t){try{var{id:n}=e;yield function(e){return w.apply(this,arguments)}(n);t(k())}catch(e){console.error(e)}}));return function(e){return t.apply(this,arguments)}}()},1046:function(e,t,n){"use strict";n.d(t,"a",(function(){return a.b}));var i,r,a=n(1085),o=n(0);function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class l extends o.a{static get styles(){return[Object(o.b)(i||(i=s(["\n :host {\n display: block;\n margin:var(--setting-let-margin);\n padding: var(--setting-content-padding);\n background-color:var(--setting-let-background);\n border-radius:var(--setting-let-border-radius);\n border:var(--setting-let-border);\n text-transform: capitalize;\n }\n\n slot {\n display: block;\n }\n slot[name=\"title\"]{\n margin-bottom: var(--margin-default);\n border-bottom: 1px dotted rgba(var(--primary-color-rgb),.5);\n }\n slot[name='title']::slotted(*) {\n color: var(--setting-title-color);\n font: var(--setting-title-font);\n }\n\n slot[name='content']::slotted(*) {\n color: var(--setting-content-color);\n font: var(--setting-content-font);\n }\n "])))]}render(){return Object(o.e)(r||(r=s(['\n <slot name="title"></slot>\n <slot name="content"></slot>\n '])))}}customElements.define("setting-let",l)},1047:function(e,t,n){"use strict";var i,r=n(0),a=(n(1044),n(42),n(17)),o=n(29);var s,l,c,d,p,u,h,b,m,g,v=Object(r.b)(i||(s=["\n :host {\n display: flex;\n flex-direction: column;\n\n position: relative;\n\n width: 100%; /* 전체화면보기를 위해서 필요함. */\n overflow: hidden;\n }\n\n #target {\n flex: 1;\n\n width: 100%; /* 전체화면보기를 위해서 필요함. */\n height: 100%;\n\n outline: 0;\n }\n\n /* navigation buttons */\n mwc-icon {\n z-index: 10;\n position: absolute;\n top: 45%;\n min-width: 50px;\n width: 50px;\n height: 50px;\n margin: 0;\n padding: 0;\n color: #fff;\n\n --mdc-icon-size: 3em;\n }\n\n mwc-icon[hidden] {\n display: none;\n }\n\n mwc-icon:hover {\n background-color: rgba(0, 0, 0, 0.2);\n border-radius: 50%;\n }\n\n #prev {\n left: 5px;\n }\n\n #next {\n right: 5px;\n }\n\n #fullscreen {\n position: absolute;\n bottom: 15px;\n right: 16px;\n }\n\n /* for scroller */\n ::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n }\n ::-webkit-scrollbar-track {\n background-color: transparent;\n }\n ::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.2);\n }\n ::-webkit-scrollbar-thumb:hover {\n background-color: #aa866a;\n }\n"],l||(l=s.slice(0)),i=Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(l)}}))));function f(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function y(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){f(a,i,r,o,s,"next",e)}function s(e){f(a,i,r,o,s,"throw",e)}o(void 0)}))}}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class j extends r.a{constructor(){super(),this.board={},this.provider=null,this.scene=null,this.forward=[],this.backward=[],this.hideFullscreen=!1}static get properties(){return{board:Object,provider:Object,baseUrl:String,data:Object,hideFullscreen:{type:Boolean,reflect:!0,attribute:"hide-fullscreen"},hideNavigation:{type:Boolean,reflect:!0,attribute:"hide-navigation"}}}static get styles(){return[v,Object(r.b)(c||(c=O(["\n [hidden] {\n display: none;\n }\n\n @media print {\n mwc-fab,\n mwc-con {\n display: none;\n }\n }\n "])))]}render(){var e=Object(o.h)()||this.hideFullscreen?Object(r.e)(p||(p=O([""]))):Object(r.e)(d||(d=O(['\n <mwc-fab\n id="fullscreen"\n .icon=',"\n @click=","\n @mouseover=","\n @mouseout=",'\n title="fullscreen"\n ></mwc-fab>\n '])),document.fullscreenElement?"fullscreen_exit":"fullscreen",e=>this.onTapFullscreen(e),e=>this.transientShowButtons(!0),e=>this.transientShowButtons()),t=this.hideNavigation?Object(r.e)(h||(h=O([""]))):Object(r.e)(u||(u=O(['\n <mwc-icon\n id="prev"\n @click=',"\n @mouseover=","\n @mouseout=","\n hidden\n >keyboard_arrow_left</mwc-icon\n >\n "])),e=>this.onTapPrev(e),e=>this.transientShowButtons(!0),e=>this.transientShowButtons()),n=this.hideNavigation?Object(r.e)(m||(m=O([""]))):Object(r.e)(b||(b=O(['\n <mwc-icon\n id="next"\n @click=',"\n @mouseover=","\n @mouseout=","\n hidden\n >keyboard_arrow_right</mwc-icon\n >\n "])),e=>this.onTapNext(e),e=>this.transientShowButtons(!0),e=>this.transientShowButtons());return Object(r.e)(g||(g=O(["\n ",'\n\n <div\n id="target"\n @touchstart=',"\n @mousemove=","\n ></div>\n\n "," ","\n "])),t,e=>this.transientShowButtons(),e=>this.transientShowButtons(),n,e)}firstUpdated(){window.addEventListener("resize",()=>{this.scene&&this.scene.fit()}),this.shadowRoot.addEventListener("close-scene",e=>{e.preventDefault(),this.onTapPrev()},!1)}updated(e){e.has("board")&&(this.board&&this.board.id?this.initScene():this.closeScene()),e.has("data")&&this.scene&&this.data&&(this.scene.data=this.data)}initScene(){if(this.board&&this.board.id){var e=Object(a.create)({model:A({},this.board.model),mode:0,refProvider:this.provider});this.baseUrl&&(e.baseUrl=this.baseUrl),this.provider.add(this.board.id,e),this.showScene(this.board.id),e.release()}}closeScene(){this.scene&&(this.unbindSceneEvents(this.scene),this.scene.target=null,this.scene.release(),delete this.scene),this.forward.forEach(e=>e.release()),this.forward=[],this.backward.forEach(e=>e.release()),this.backward=[]}get target(){return this.shadowRoot.querySelector("#target")}get prev(){return this.shadowRoot.querySelector("#prev")}get next(){return this.shadowRoot.querySelector("#next")}get fullscreen(){return this.shadowRoot.querySelector("#fullscreen")}releaseScene(){this.scene&&(this.unbindSceneEvents(this.scene,this),this.scene.target=null,this.scene.release(),delete this.scene,this.forward.forEach(e=>{e.release()}),this.forward=[],this.backward.forEach(e=>{e.release()}),this.backward=[],this.transientShowButtons())}setupScene(e){this.scene=e,this._oldtarget=this.scene.target,this.scene.fit(this.board.model.fitMode),this.scene.target=this.target,this.data&&(this.scene.data=this.data),this.bindSceneEvents(this.scene),this.transientShowButtons()}showScene(e,t){var n=this;return y((function*(){if(e)try{var i=yield n.provider.get(e,!0),r=n.scene;if(n.scene=i,i.target===n.target)return void i.release();r&&(n.unbindSceneEvents(r),r.target=n._oldtarget,n.backward.push(r)),n.forward.forEach(e=>{e.release()}),n.forward=[],n.setupScene(i),t&&(i.data=t)}catch(e){console.error(e)}}))()}bindSceneEvents(){this.scene.on("goto",this.onLinkGoto,this),this.scene.on("link-open",this.onLinkOpen,this),this.scene.on("link-move",this.onLinkMove,this),this.scene.on("route-page",this.onRoutePage,this)}unbindSceneEvents(e){this.scene.off("goto",this.onLinkGoto,this),this.scene.off("link-open",this.onLinkOpen,this),this.scene.off("link-move",this.onLinkMove,this),this.scene.off("route-page",this.onRoutePage,this)}transientShowButtons(e){var t=[];!this.hideNavigation&&t.push(this.next,this.prev),!this.hideFullscreen&&t.push(this.fullscreen),0!=t.length&&(this._fade_animations||(this._fade_animations=t.filter(e=>e).map(e=>{var t=e.animate([{opacity:1,easing:"ease-in"},{opacity:0}],{delay:1e3,duration:2e3});return t.onfinish=()=>{e.setAttribute("hidden","")},t})),this.forward.length<=0?this.next.setAttribute("hidden",""):this.next.removeAttribute("hidden"),this.backward.length<=0?this.prev.setAttribute("hidden",""):this.prev.removeAttribute("hidden"),this.fullscreen&&this.fullscreen.removeAttribute("hidden"),this._fade_animations.forEach(t=>{t.cancel(),e||t.play()}))}onTapNext(){var e=this.forward.pop();e&&(this.scene&&(this.scene.target=null,this.scene.target=this._oldtarget,this.unbindSceneEvents(this.scene),this.backward.push(this.scene)),this.setupScene(e))}onTapPrev(){var e=this.backward.pop();e&&(this.scene&&(this.scene.target=null,this.scene.target=this._oldtarget,this.unbindSceneEvents(this.scene),this.forward.push(this.scene)),this.setupScene(e))}onTapFullscreen(){Object(o.o)(this,()=>{this.requestUpdate()},()=>{this.requestUpdate()})}onLinkGoto(e,t,n){this.showScene(e,n.data)}onLinkOpen(e,t,n){if(e)try{window.open(e)}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,ex:e}}))}}onLinkMove(e,t,n){e&&(location.href=e)}onRoutePage(e){e&&(history.pushState({},"",e),window.dispatchEvent(new Event("popstate")))}getSceneImageData(e=!1){var t=this;return y((function*(){if(t.scene){var{width:n,height:i}=t.scene.model,r=window.devicePixelRatio,a=document.createElement("canvas");a.width=Number(n),a.height=Number(i);var o=t.scene.root,s=o.get("translate"),l=o.get("scale");o.set("translate",{x:0,y:0}),o.set("scale",{x:1/r,y:1/r});var c=a.getContext("2d");return o.draw(c),o.set("translate",s),o.set("scale",l),{width:n,height:i,data:e?a.toDataURL():c.getImageData(0,0,n,i).data}}}))()}printTrick(e){var t=this;return y((function*(){var n,i;e||(e=(yield t.getSceneImageData(!0)).data),(i=document.createElement("img")).id="target",i.src=e,i.style.width="100%",i.style.height="100%";var r=e=>{e.matches?n||(n=t.renderRoot.getElementById("target"),t.renderRoot.replaceChild(i,n)):(t.renderRoot.replaceChild(n,i),i.remove(),a.removeListener(r))};if(window.matchMedia){var a=window.matchMedia("print");a.addListener(r)}}))()}}customElements.define("board-viewer",j)},1048:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return r}));var i="APPEND_APP_TOOL",r="REMOVE_APP_TOOL"},1050:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i="ADD_MODELLER_EDITORS"},1051:function(e,t,n){"use strict";var i,r,a,o=n(0),s=n(1052),l=n.n(s),c=n(1053),d=n.n(c),p=n(1054),u=n.n(p),h=n(945),b=n.n(h),m=(n(1129),n(1226),n(1055),n(1056),n(45));function g(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
2
- /**
3
- * @license Copyright © HatioLab Inc. All rights reserved.
4
- */class f extends o.a{static get is(){return"things-editor-code"}static get properties(){return{value:String,mode:String,tabSize:{attribute:"tab-size"},tabAsSpace:{attribute:"tab-as-space"}}}static get styles(){return[m.c,Object(o.b)(i||(i=v(["\n ","\n ","\n ","\n "])),Object(o.k)(l.a),Object(o.k)(d.a),Object(o.k)(u.a)),Object(o.b)(r||(r=v(["\n :host {\n display: block;\n position: relative;\n }\n\n textarea {\n display: block;\n height: 100%;\n width: 100%;\n resize: none;\n font-size: 16px;\n line-height: 20px;\n border: 0px;\n padding: 0px;\n }\n "])))]}updated(e){this._outside_changing=!0,e.has("value")&&this.editor&&!this._self_changing&&(this.editor.setValue(void 0===this.value?"":String(this.value)),this.editor.refresh()),this._outside_changing=!1}render(){return Object(o.e)(a||(a=v([" <textarea></textarea> "])))}get editor(){var e=this;if(!this._editor){var t=this.shadowRoot.querySelector("textarea"),n=this.mode||"javascript",i=Number(this.tabSize)||2,r=i,a=this.lint,o=this.hintOptions,s="true"==(this.tabAsSpace||"false").toLowerCase()?function(e){var t=Array(e.getOption("indentUnit")+1).join(" ");e.replaceSelection(t,"end","+input")}:null;t&&(this._editor=b.a.fromTextArea(t,{value:this.value,mode:n,lint:a,hintOptions:o,tabSize:i,indentUnit:r,lineNumbers:!1,showCursorWhenSelecting:!0,theme:"night",extraKeys:{F11:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Tab:s},autoRefresh:{delay:500}}),this._editor.on("blur",e=>{this._changed&&(this.value=e.getValue(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}),this._editor.on("change",function(){var t,n=(t=function*(t){e._self_changing=!0,e._changed=!0,yield e.renderComplete,e._self_changing=!1},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){g(a,i,r,o,s,"next",e)}function s(e){g(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}()))}return this._editor}}customElements.define(f.is,f)},1084:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i,r=n(0);var a,o,s=Object(r.b)(i||(a=["\n :host {\n margin: 5px;\n\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n\n align-items: center;\n\n color: var(--property-sidebar-fieldset-legend-color);\n }\n\n :host > * {\n box-sizing: border-box;\n\n grid-column: span 7;\n order: 2;\n\n align-self: stretch;\n }\n\n :host > label {\n grid-column: span 3;\n order: 1;\n\n text-align: right;\n\n font-size: 0.8em;\n line-height: 2;\n text-transform: capitalize;\n\n align-self: center;\n }\n\n :host > input[type='checkbox'] ~ label {\n grid-column: span 6;\n order: 2;\n\n text-align: left;\n }\n\n :host > select,\n :host > input[type='text'],\n :host > input[type='number'] {\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n :host > legend {\n grid-column: 1 / -1;\n\n display: inline-block;\n\n text-align: left;\n text-transform: capitalize;\n }\n\n :host > [fullwidth] {\n grid-column: 1 / -1;\n }\n\n :host > input[type='checkbox'] {\n grid-column: span 4;\n order: 1;\n\n justify-self: end;\n align-self: center;\n }\n"],o||(o=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(o)}}))))},1085:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return a}));var i="ADD_SETTING",r="REMOVE_SETTING",a="ADD_REFRESH_HANDLER"},1087:function(e,t,n){"use strict";n(1034),n(1112),n(1123),n(1118),n(1047),n(1001),n(1035),n(1124);var i=n(1175);n.d(t,"a",(function(){return i.BoardViewerPage}));n(1176),n(1211)},1088:function(e,t,n){"use strict";n(875),n(880),n(874),n(876),n(883),n(878),n(877),n(879),n(884),n(881),n(882)},1089:function(e,t,n){"use strict";n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return s}));var i="home",r="dashboard",a="dashboard-mobile",o="dashboard",s="dashboard mobile"},1090:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i,r=n(0);var a,o,s=Object(r.b)(i||(a=["\n :host {\n overflow: auto;\n background-color: var(--search-form-background-color);\n }\n\n .search-form {\n position: relative;\n display: grid;\n grid-template-columns: repeat(24, 1fr);\n grid-gap: var(--form-grid-gap);\n grid-auto-rows: minmax(24px, auto);\n padding: var(--search-form-box-padding);\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n .search-form label {\n grid-column: span 3;\n text-align: right;\n align-self: center;\n text-transform: capitalize;\n\n color: var(--label-color);\n font: var(--label-font);\n }\n\n .search-form input,\n .search-form select {\n grid-column: span 9;\n\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n max-width: 85%;\n color: var(--input-field-color);\n background-color: var(--input-field-background-color);\n }\n\n .search-form select {\n min-height: 25px;\n max-width: calc(85% + 18px);\n }\n\n .search-form input[type='checkbox'],\n .search-form input[type='radio'] {\n justify-self: end;\n align-self: center;\n grid-column: span 3 / auto;\n position: relative;\n left: 17px;\n }\n\n .search-form input[type='checkbox'] + label,\n .search-form input[type='radio'] + label {\n padding-left: 17px;\n text-align: left;\n align-self: center;\n grid-column: span 9 / auto;\n\n font: var(--form-sublabel-font);\n color: var(--form-sublabel-color);\n }\n\n input:focus {\n outline: none;\n border: 1px solid var(--focus-background-color);\n }\n input[type='checkbox'] {\n margin: 0;\n }\n\n [search] {\n position: absolute;\n right: 1%;\n bottom: 15px;\n color: var(--search-form-icon-color);\n }\n\n @media screen and (max-width: 460px) {\n .search-form {\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 10px 5px;\n background-color: var(--search-form-narrow-background-color);\n\n max-height: 54px;\n overflow-y: auto;\n }\n .search-form label {\n grid-column: span 3;\n padding-right: 5px;\n align-self: center;\n color: var(--search-form-narrow-text-color);\n }\n .search-form input,\n .search-form select {\n grid-column: span 8;\n max-width: 100%;\n color: var(--theme-white-color);\n }\n .search-form input[type='checkbox'],\n .search-form input[type='radio'] {\n justify-self: end;\n align-self: center;\n grid-column: span 3 / auto;\n }\n\n .search-form input[type='checkbox'] + label,\n .search-form input[type='radio'] + label {\n grid-column: span 8 / auto;\n align-self: center;\n position: relative;\n left: 5px;\n color: var(--search-form-narrow-text-color);\n }\n\n [search] {\n right: 3%;\n color: var(--search-form-narrow-text-color);\n }\n }\n @media (min-width: 461px) and (max-width: 1024px) {\n .search-form select {\n max-width: calc(85% + 10px);\n }\n }\n @media screen and (min-width: 1201px) and (max-width: 2000px) {\n .search-form {\n grid-template-columns: repeat(36, 1fr);\n }\n .search-form input,\n .search-form select {\n max-width: 90%;\n }\n .search-form select {\n max-width: calc(90% + 18px);\n }\n }\n\n @media screen and (min-width: 2001px) {\n .search-form {\n grid-template-columns: repeat(48, 1fr);\n }\n .search-form input,\n .search-form select {\n max-width: 90%;\n }\n .search-form select {\n max-width: calc(90% + 18px);\n }\n [search] {\n right: 0.8%;\n }\n }\n"],o||(o=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(o)}}))))},1091:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i="ADD_MORENDA"},1092:function(e,t,n){"use strict";n.d(t,"b",(function(){return v})),n.d(t,"c",(function(){return f})),n.d(t,"a",(function(){return y}));var i,r,a,o,s=n(0),l=n(284),c=n(35),d=n(29),p=n(48),u=n(1002);n(1222);function h(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function b(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){h(a,i,r,o,s,"next",e)}function s(e){h(a,i,r,o,s,"throw",e)}o(void 0)}))}}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var g;function v(e){var{hovering:t=!!Object(d.j)(),slotTemplate:n,portraitSlotTemplate:o,landscapeSlotTemplate:l,position:h=p.e.NAVBAR}=e||{},b=h==p.e.HEADERBAR?"landscape":"portrait",v=("landscape"==b?l:o)||n||Object(s.e)(i||(i=m([""])));Object(p.f)({name:"lite-menu-part",viewpart:{show:!t,resizable:!0,hovering:t,template:Object(s.e)(r||(r=m([" <lite-menu-part .orientation=",">","</lite-menu-part> "])),b,v)},position:h}),t&&"portrait"==b?g||(g={name:"hamburger",template:Object(s.e)(a||(a=m(["\n <mwc-icon\n @click=","\n >view_headline</mwc-icon\n >\n "])),e=>Object(p.k)("lite-menu-part",{backdrop:!0})),position:p.b.FRONT_END},c.store.dispatch({type:u.a,tool:g})):g&&(c.store.dispatch({type:u.b,name:"hamburger"}),g=null)}function f(e){c.store.dispatch({type:"UPDATE_MENU_TEMPLATE",template:e})}function y(){return w.apply(this,arguments)}function w(){return(w=b((function*(){var e=(yield c.client.query({query:Object(l.a)(o||(o=m(["\n {\n liteMenus {\n items {\n id\n name\n description\n parent\n rank\n active\n type\n value\n icon\n }\n total\n }\n }\n "])))})).data.liteMenus.items;c.store.dispatch({type:"UPDATE_ADDON_MENUS",addon:e})}))).apply(this,arguments)}},1094:function(e,t,n){"use strict";var i,r,a,o=n(8),s=n(35),l=n(284),c=n(0);n(1182);function d(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){d(a,i,r,o,s,"next",e)}function s(e){d(a,i,r,o,s,"throw",e)}o(void 0)}))}}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class h extends(Object(o.b)(o.a)(c.a)){static get styles(){return Object(c.b)(i||(i=u(["\n input {\n border: var(--border-dark-color);\n border-radius: var(--border-radius);\n margin: var(--input-margin);\n padding: var(--input-padding);\n min-width: 250px;\n font: var(--input-font);\n }\n mwc-button {\n margin: var(--input-margin);\n }\n @media screen and (max-width: 480px) {\n div {\n display: grid;\n }\n }\n "])))}static get properties(){return{}}render(){return Object(c.e)(r||(r=u(['\n <div>\n <input name="email" type="email" required name="invite-email" />\n <mwc-button\n @click=','\n outlined\n icon="group_add"\n label="','"\n ></mwc-button>\n </div>\n '])),this.invite.bind(this),o.a.t("label.invite user"))}get emailInput(){return this.renderRoot.querySelector("input[name=email]")}invite(){var e=this;return p((function*(){try{if(!e.emailInput.checkValidity())throw new Error(o.a.t("error.not valid pattern of type",{type:"e-mail"}));if(!(yield Object(s.CustomAlert)({title:o.a.t("text.are_you_sure"),text:o.a.t("text.do_you_want_to_invite_x",{x:o.a.t("label.user")}),confirmButton:{text:o.a.t("button.confirm")},cancelButton:{text:o.a.t("button.cancel")}})).value)return;yield e.inviteUser(e.emailInput.value),e.dispatchEvent(new CustomEvent("invitationCompleted"))}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e.message}}))}}))()}inviteUser(e){var t=this;return p((function*(){(yield s.client.mutate({mutation:Object(l.a)(a||(a=u(["\n mutation inviteUser($email: String!) {\n inviteUser(email: $email)\n }\n "]))),variables:{email:e},context:Object(s.gqlContext)()})).errors||(yield Object(s.CustomAlert)({title:o.a.t("text.completed"),confirmButton:{text:o.a.t("button.confirm")}}),t.emailInput.value="")}))()}}window.customElements.define("invite-user",h)},1112:function(e,t,n){"use strict";var i,r,a,o,s=n(0),l=(n(1044),n(1219),n(1047),n(17));class c extends l.Layer{_draw(e){e.globalAlpha=.3,e.font="50px Verdana",e.fillStyle="red",e.fillText(this.get("text")||"CONFIDENTIAL",20,60)}}l.Component.register("confidential-overlay",c);class d extends s.a{constructor(){super(),this.name="",this.value="",this.type=""}static get is(){return"things-scene-property"}static get properties(){return{name:String,value:String,type:String}}}customElements.define(d.is,d);class p extends s.a{static get is(){return"things-scene-layer"}static get properties(){return{type:String,text:String}}render(){return Object(s.e)(i||(e=['\n <slot select="things-scene-property"></slot>\n '],t||(t=e.slice(0)),i=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))));var e,t}getModel(){var e={type:this.type};return e=Array.from(this.querySelectorAll("things-scene-property")).reduce((e,t)=>{var n=t.value;if(t.name){switch(t.type){case"number":n=Number(n);break;case"boolean":n=Boolean(n)}e[t.name]=n}return e},e)}}customElements.define(p.is,p);class u extends s.a{static get is(){return"things-scene-handler"}static get properties(){return{type:String,model:{type:Object,notify:!0}}}render(){return Object(s.e)(r||(e=['\n <slot select="things-scene-property"></slot>\n '],t||(t=e.slice(0)),r=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))));var e,t}connectedCallback(){super.connectedCallback();var e={type:this.type};(e=Array.from(this.querySelectorAll("things-scene-property")).reduce((e,t)=>{var n=t.getAttribute("name"),i=t.getAttribute("value");return n&&(e[n]=i),e},e)).__host__=this,this.model=e}}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define(u.is,u);class b extends s.a{constructor(){super(),this.scene=null,this.model={},this.mode=0,this.transformMode="translate",this.spaceMode="world",this.screenSize=13.3,this.variables={},this.data={},this.fit="none",this.selected=[],this.disposeWhenDetached=!1,this.baseUrl="",this.provider=null,this.name="noname",this.enableInspector=!0,this.showInspector=!1}static get is(){return"things-scene-viewer"}static get properties(){return{scene:Object,model:Object,mode:Number,transformMode:String,spaceMode:String,screenSize:Number,variables:Object,data:Object,fit:String,selected:Array,disposeWhenDetached:Boolean,baseUrl:String,provider:Object,name:String,enableInspector:Boolean,showInspector:Boolean}}static get styles(){return[Object(s.b)(a||(a=h(["\n :host {\n outline: none;\n }\n "])))]}disconnectedCallback(){super.disconnectedCallback(),this.scene&&this.disposeWhenDetached&&this._disposeScene()}render(){return Object(s.e)(o||(o=h([" <slot></slot> "])))}updated(e){e.has("model")&&this._onModelChanged(this.model),e.has("mode")&&this._onModeChanged(this.mode),e.has("screenSize")&&this._onDisplayChanged(this.screenSize),e.has("data")&&this._onDataChanged(this.data),e.has("baseUrl")&&this._onBaseUrlChanged(this.baseUrl),e.has("transformMode")&&this._onTransformModeChanged(this.transformMode),e.has("spaceMode")&&this._onSpaceModeChanged(this.spaceMode)}_setScene(e){this.scene=e,this.dispatchEvent(new CustomEvent("scene-changed",{bubbles:!0,composed:!0,detail:{value:e}}))}_setMode(e){this.mode=e,this.dispatchEvent(new CustomEvent("mode-changed",{bubbles:!0,composed:!0,detail:{value:e}}))}_setVariables(e){this.variables=e,this.dispatchEvent(new CustomEvent("variables-changed",{bubbles:!0,composed:!0,detail:{value:e}}))}_setSelected(e){this.selected=e,this.dispatchEvent(new CustomEvent("selected-changed",{bubbles:!0,composed:!0,detail:{value:e}}))}_disposeScene(){this.scene&&(this.scene.off("selected",this._onSelectedChanged,this),this.scene.off("mode",this._onSceneModeChanged,this),this.provider?this.scene.release():this.scene.dispose(),this._setScene(null),this._setSelected([]))}resize(e){"object"==typeof this.scene&&((e||"both"===this.fit||Math.abs(this.offsetWidth-(this.lastOffsetWidth||0))>=1)&&requestAnimationFrame(()=>{this.scene&&(this.scene.resize(),this.scene.fit(this.fit))}),this.lastOffsetWidth=this.offsetWidth)}_onModelChanged(e){if(this._disposeScene(),e){var t=Array.from(this.querySelectorAll("things-scene-layer")).map(e=>e.getModel()),n=Array.from(this.querySelectorAll("things-scene-handler")).map(e=>e.getAttribute("type"));this._setScene(Object(l.create)({target:this,model:JSON.parse(JSON.stringify(e)),layers:t,handlers:n,mode:this.mode,refProvider:this.provider})),this.provider&&this.provider.add(this.name,this.scene),this.scene.screen=this.screenSize,this.resize(!0),this._setVariables(e.variables||this.scene.variables),this.scene.on("selected",this._onSelectedChanged,this),this.scene.on("mode",this._onSceneModeChanged,this),this._onModeChanged(this.mode),this._onDisplayChanged(this.screenSize),this._onBaseUrlChanged(this.baseUrl)}}_onDisplayChanged(e){this.scene&&e&&(this.scene.screen=parseFloat(e))}_onModeChanged(e){this.scene&&(this.scene.mode=Number(e))}_onDataChanged(e){this.scene&&e&&(this.scene.data=e)}_onSelectedChanged(e){requestAnimationFrame(()=>{this._setSelected(e)})}_onSceneModeChanged(e){this.scene&&(this.mode!==e&&this._setMode(e),this.style.cursor=2===e?"all-scroll":"default")}_onBaseUrlChanged(e){this.scene&&(this.scene.baseUrl=e)}_onTransformModeChanged(e){this.scene&&(this.scene.transformMode={mode:this.transformMode,space:this.spaceMode})}_onSpaceModeChanged(e){this.scene&&(this.scene.transformMode={mode:this.transformMode,space:this.spaceMode})}}customElements.define(b.is,b);var m,g,v,f,y,w,A,x=n(29),O=n(45);function j(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
5
- /**
6
- * @license Copyright © HatioLab Inc. All rights reserved.
7
- */class k extends s.a{static get styles(){return[O.c,Object(s.b)(m||(m=j(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: stretch;\n\n background-color: var(--component-menu-background-color);\n margin: 0px;\n padding: 0px;\n\n width: 180px;\n height: 100%;\n\n overflow: hidden;\n\n border: 2px solid var(--component-menu-border-color);\n box-sizing: border-box;\n\n position: absolute;\n top: 0px;\n\n z-index: 1;\n }\n\n h2 {\n background-color: var(--component-menu-border-color);\n padding: 1px 5px;\n margin: 0;\n font: var(--component-menu-title);\n color: #fff;\n text-transform: capitalize;\n }\n\n [templates] {\n flex: 1;\n\n display: block;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n\n background-color: var(--component-menu-background-color);\n }\n\n [template] {\n display: flex;\n align-items: center;\n min-height: var(--component-menu-item-icon-size);\n padding: 0 5px 0 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n font-size: 11px;\n color: var(--component-menu-item-color);\n }\n\n [template]:hover,\n [template]:focus {\n color: var(--component-menu-item-hover-color);\n font-weight: bold;\n cursor: pointer;\n }\n\n [template] img {\n margin: 5px;\n width: var(--component-menu-item-icon-size);\n height: var(--component-menu-item-icon-size);\n }\n "])))]}static get properties(){return{groups:Object,scene:Object,group:String,templates:Array}}render(){return this.group?Object(s.e)(g||(g=j(["\n <h2 onclick=",">"," list</h2>\n\n <div templates>\n ","\n </div>\n "])),e=>e.stopPropagation(),this.group,(this.templates||[]).map(e=>Object(s.e)(v||(v=j(["\n <div @click="," data-type="," template>\n <img src="," />","\n </div>\n "])),this.onClickTemplate,e.type,this.templateIcon(e),e.type))):Object(s.e)(f||(f=j([""])))}updated(e){e.has("group")&&(this.group?(this.style.display="flex",this.templates=this.groups.find(e=>e.name===this.group).templates):(this.style.display="none",this.templates=[]))}onClickTemplate(e){for(var t=e.target;t===this||!t||!t.hasAttribute||!t.hasAttribute("data-type");)t=t.parentElement;var n=t.getAttribute("data-type");if(n){var i=this.groups.find(e=>e.name==this.group);if(this.scene&&i){var r=i.templates.find(e=>e.type==n);r&&this.scene.add(Object(x.b)(r.model),{cx:200,cy:200})}this.group=null}}templateIcon(e){return e.icon||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdCQUQzOURFMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdCQUQzOURGMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0JBRDM5REMxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0JBRDM5REQxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4KOLJ3AAABUklEQVR42mL8//8/AzUBEwOVAW0M3LJlyxkQJpeNbCAjKAyhgiZkOuqMj4+PCYqBUJsYgBIoKkFiyAAmjyyOrgfFhSBJIDsKyI4E4uVAvAzNNUZA/AmI7+ByIbZIARkmCaXRQToQe+DzP4qXoQCXC0GumwXEz4HYD4j/E/QygcCfCcTGUHYKEF/A5mUWHAEuBMTMQPwayXVgw54+fSr87Nmzld++fZMBcg+rqKgIl5aWMnR3dyMMRLYBGq4tQMwBDbPfUBps2N27d+WBvmIE+Q7kbSAf5PUEIF6AkrCRDAR5xwyI9YC4DNl1r1+/FoIaBgdQfgSGl9EMhIFAKAaDz58/80BdBo8DKP0VxUCQl5Fi2QxXrPz7928HLHZhXoayd2LkZWhsgWMNFxsYAeqMjIwo5R2UvwIjHRIDQLEJjQBQmNmCYhlq2AJYLDOOvAIWIMAAzV61w1HebFoAAAAASUVORK5CYII="}}function E(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function R(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
8
- /**
9
- * @license Copyright © HatioLab Inc. All rights reserved.
10
- */customElements.define("component-menu",k);class M extends s.a{constructor(){super(),this.componentGroupList=[],this.group="",this.scene=null,this.mode=0}static get properties(){return{componentGroupList:Array,group:String,scene:Object,mode:Number}}static get styles(){return[Object(s.b)(y||(y=R(["\n :host {\n left: 0;\n display: block;\n position: relative;\n\n width: var(--component-toolbar-icon-size);\n background-color: var(--component-toolbar-background-color);\n }\n\n span {\n display: flex;\n flex-direction: row;\n\n width: var(--component-toolbar-icon-size);\n height: var(--component-toolbar-icon-size);\n min-width: 50%;\n\n border-bottom: var(--component-toolbar-border);\n margin: 0;\n background: url(/assets/images/icon-vtoolbar.png) -1px 0 no-repeat;\n }\n\n span[data-group='line'] {\n background-position: 50% -186px;\n }\n\n span[data-group='shape'] {\n background-position: 0px -284px;\n }\n\n span[data-group='textAndMedia'] {\n background-position: 50% -385px;\n }\n\n span[data-group='chartAndGauge'] {\n background-position: 50% -488px;\n }\n\n span[data-group='table'] {\n background-position: 50% -585px;\n }\n\n span[data-group='container'] {\n background-position: 50% -685px;\n }\n\n span[data-group='dataSource'] {\n background-position: 50% -888px;\n }\n\n span[data-group='IoT'] {\n background-position: -3px -788px;\n }\n\n span[data-group='3D'] {\n background-position: 50% -992px;\n }\n\n span[data-group='warehouse'] {\n background-position: -2px -1089px;\n }\n\n span[data-group='form'] {\n background-position: -2px -1287px;\n }\n\n span[data-group='etc'] {\n background-position: -1px -1189px;\n }\n\n .pressed {\n background-position: 0 15px;\n }\n\n .pressed[pressed],\n .pressed[active] {\n background-position: -3px -88px;\n background-color: #beb9b3;\n }\n\n component-menu {\n display: none;\n position: absolute;\n top: 0;\n left: var(--component-toolbar-icon-size);\n height: 100%;\n outline: none;\n }\n "])))]}render(){return Object(s.e)(w||(w=R(['\n <span id="shift" class="pressed" @click="','"> </span>\n\n ','\n\n <component-menu\n tabindex="-1"\n @focusout=','\n id="menu"\n .scene=',"\n .group=","\n .groups=",'\n class="shadow"\n >\n </component-menu>\n '])),e=>this._onClickShift(e),this.componentGroupList.filter(e=>{var t;return(null===(t=e.templates)||void 0===t?void 0:t.length)>0}).map(e=>Object(s.e)(A||(A=R(["\n <span data-group="," @click=","> </span>\n "])),e.name,e=>this._onClickGroup(e))),e=>{this.group=null},this.scene,this.group,this.componentGroupList)}get menu(){return this.shadowRoot.getElementById("menu")}_setMode(e){this.mode=e,this.dispatchEvent(new CustomEvent("mode-changed",{bubbles:!0,composed:!0,detail:{value:e}}))}_onClickShift(e){var t=this.shadowRoot.getElementById("shift");t.hasAttribute("active")?(t.removeAttribute("active"),this._setMode(1)):(t.setAttribute("active",""),this._setMode(2))}_onClickGroup(e){var t,n=this;return(t=function*(){var t=e.target;t.hasAttribute&&t.hasAttribute("data-group")&&(n.group=t.getAttribute("data-group"),n.group&&(yield n.updateComplete,n.menu.focus()))},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){E(a,i,r,o,s,"next",e)}function s(e){E(a,i,r,o,s,"throw",e)}o(void 0)}))})()}}customElements.define("component-toolbar",M);var S,I,N;n(42),n(8),n(985);function z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
11
- /**
12
- * @license Copyright © HatioLab Inc. All rights reserved.
13
- */class D extends s.a{static get is(){return"things-editor-buttons-radio"}static get properties(){return{value:Object,mandatory:Boolean}}static get styles(){return[Object(s.b)(S||(S=z(["\n :host {\n display: inline-block;\n }\n "])))]}updated(e){e.has("value")&&this._onValueChanged(this.value)}render(){return Object(s.e)(I||(I=z([" <slot @click=","></slot> "])),e=>this._onTapButton(e))}get buttons(){return Array.from(this.querySelectorAll("*"))}_onValueChanged(e){this.buttons.forEach(t=>{e===t.getAttribute("data-value")?t.setAttribute("active",""):t.removeAttribute("active")})}_onTapButton(e){for(var t=e.target;!t.hasAttribute("data-value")&&t!==this;)t=t.parentElement;if(t!==this){var n=this.value;this.mandatory?(this.value=t.getAttribute("data-value"),t.setAttribute("active","")):t.getAttribute("active")?(this.value=null,t.removeAttribute("active")):(this.value=t.getAttribute("data-value"),t.setAttribute("active","")),n!==this.value&&this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}}customElements.define(D.is,D);
14
- /**
15
- * @license Copyright © HatioLab Inc. All rights reserved.
16
- */
17
- class T extends s.a{firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChange.bind(this))}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");if(n){var i=this._getValueFromEventTarget(t);this._onAfterValueChange(n,i)}}_getValueFromEventTarget(e){var t;switch(e.tagName){case"THINGS-EDITOR-ANGLE-INPUT":t=Number(e.radian)||0;break;case"INPUT":switch(e.type){case"checkbox":t=e.checked;break;case"number":t=Number(e.valueAsNumber);break;case"text":t=String(e.value)}break;case"PAPER-BUTTON":t=e.active;break;case"PAPER-LISTBOX":t=e.selected;break;default:t=e.value}return t}_onAfterValueChange(e,t){this.dispatchEvent(new CustomEvent("property-change",{bubbles:!0,composed:!0,detail:{[e]:t}}))}}
18
- /**
19
- * @license Copyright © HatioLab Inc. All rights reserved.
20
- */
21
- var C,G,P,B=Object(s.b)(N||(C=["\n fieldset {\n border: none;\n margin: 4px;\n padding: 9px 4px 9px 4px;\n border-bottom: var(--property-sidebar-fieldset-border);\n color: var(--property-sidebar-fieldset-legend-color);\n font: var(--property-sidebar-fieldset-label);\n }\n\n fieldset legend {\n padding: 5px 0 0 5px;\n color: var(--property-sidebar-fieldset-legend-color);\n font: var(--property-sidebar-fieldset-legend);\n text-transform: capitalize;\n }\n\n select,\n input {\n border: var(--property-sidebar-fieldset-border);\n }\n\n /* property grid */\n .property-grid {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n align-items: center;\n }\n\n .property-grid > * {\n width: 100%;\n box-sizing: border-box;\n }\n\n .property-grid > label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n line-height: 2;\n }\n\n .property-grid > input,\n .property-grid > table,\n .property-grid > select,\n .property-grid > things-editor-angle-input,\n .property-grid > things-editor-buttons-radio,\n .property-grid > things-editor-color,\n [custom-editor] {\n grid-column: span 7;\n align-self: stretch;\n }\n\n .property-grid > .checkbox-row {\n grid-column: span 10;\n }\n\n .property-grid > .property-full-label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n }\n\n .property-grid > .property-half-label {\n grid-column: span 1;\n }\n\n .property-grid > .property-full-input {\n grid-column: span 7;\n }\n\n .property-grid > .property-half-input {\n grid-column: span 4;\n }\n\n /* checkbox-row */\n .checkbox-row {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n align-items: center;\n }\n\n .checkbox-row > input {\n grid-column: 4 / 5;\n }\n\n .checkbox-row > label {\n grid-column: span 6;\n text-align: left;\n }\n\n /* image resources */\n .icon-only-label {\n grid-column: span 1;\n\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n float: left;\n margin: 0;\n align-self: stretch;\n }\n\n .icon-only-label.color {\n background-position: 100% -500px;\n }\n .icon-only-label.font-size {\n background-position: 100% -594px;\n }\n .icon-only-label.leading {\n background-position: 100% -696px;\n }\n .icon-only-label.hscale {\n background-position: 100% -296px;\n }\n .icon-only-label.vscale {\n background-position: 100% -396px;\n }\n .icon-only-label.linewidth {\n background-position: 100% -894px;\n }\n .icon-only-label.lineHeight {\n background-position: 100% -995px;\n }\n"],G||(G=C.slice(0)),N=Object.freeze(Object.defineProperties(C,{raw:{value:Object.freeze(G)}}))));var Y,Z,U,L,Q,W,V,F,_,J,H,X,q,K,$,ee,te,ne,ie,re,ae,oe=Object(s.b)(P||(P=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n .box-padding {\n width: 100%;\n }\n\n .box-padding td {\n background: url(/assets/images/icon-properties-padding.png) 50% 0 no-repeat;\n }\n\n .box-padding tr:nth-child(1),\n .box-padding tr:nth-child(3) {\n height: 20px;\n }\n\n .box-padding tr td:nth-child(1),\n .box-padding tr td:nth-child(3) {\n width: 18px;\n }\n\n .box-padding .slide1 {\n background-position: 0 0;\n }\n\n .box-padding .slide2 {\n background-position: 50% -40px;\n background-color: rgba(69, 46, 41, 0.2);\n }\n\n .box-padding .slide3 {\n background-position: 100% -440px;\n }\n\n .box-padding .slide4 {\n background-position: 0 -360px;\n background-color: rgba(69, 46, 41, 0.2);\n }\n\n .box-padding .slide5 {\n background: none;\n text-align: center;\n }\n\n .box-padding .slide6 {\n background-position: 100% -160px;\n background-color: rgba(69, 46, 41, 0.2);\n }\n\n .box-padding .slide7 {\n background-position: 0 100%;\n }\n\n .box-padding .slide8 {\n background-position: 50% -320px;\n background-color: rgba(69, 46, 41, 0.2);\n }\n\n .box-padding .slide9 {\n background-position: 0 0px;\n }\n\n .box-padding input {\n background-color: transparent;\n width: 35px;\n margin: 0px;\n padding: 0px;\n clear: both;\n float: initial;\n border: 1px solid #fff;\n border-width: 0 0 1px 0;\n text-align: right;\n font-size: 14px;\n }\n\n .slide5 input:nth-child(1),\n .slide5 input:nth-child(4) {\n display: block;\n margin: auto;\n }\n\n .slide5 input:nth-child(2) {\n float: left;\n }\n\n .slide5 input:nth-child(3) {\n float: right;\n margin-top: -25px;\n }\n\n .slide5 input:nth-child(4) {\n margin-top: -5px;\n }\n"])));function se(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
22
- /**
23
- * @license Copyright © HatioLab Inc. All rights reserved.
24
- */class le extends T{static get is(){return"property-shape"}static get properties(){return{value:Object,bounds:Object,selected:Array,_3dExpanded:Boolean}}static get styles(){return[B,oe,Object(s.b)(Y||(Y=se(["\n fieldset[collapsable] legend {\n box-sizing: border-box;\n width: 100%;\n }\n\n fieldset[collapsable] legend mwc-icon {\n float: right;\n font-size: medium;\n margin: 0;\n cursor: pointer;\n }\n\n fieldset[collapsable][collapsed] > :not(legend) {\n display: none;\n }\n "]))),Object(s.b)(Z||(Z=se(["\n .icon-label label {\n background: url(/assets/images/icon-properties-label.png) 7px -900px no-repeat;\n }\n\n .icon-label label.width {\n background-position: 7px -96px;\n }\n\n .icon-label label.height {\n background-position: 7px 4px;\n }\n\n .icon-label label.rotate {\n background-position: 7px -198px;\n }\n\n .icon-label label.twidth {\n background-position: 7px -296px;\n }\n\n .icon-label label.theight {\n background-position: 7px -396px;\n }\n\n .icon-label label.zPos {\n background-position: 5px -1098px;\n }\n\n .icon-label label.depth {\n background-position: 5px -1198px;\n }\n\n .icon-label label.rotationX {\n background-position: 5px -1296px;\n }\n\n .icon-label label.rotationY {\n background-position: 5px -1396px;\n }\n\n .icon-label label.rotationZ {\n background-position: 5px -1496px;\n }\n\n things-editor-buttons-radio > * {\n width: 30px;\n height: 25px;\n min-width: initial;\n margin: 0 4px 0 0;\n padding: 0;\n border-radius: 0;\n display: inline-block;\n border-bottom: 2px solid #fff;\n }\n\n things-editor-buttons-radio div {\n background: url(/assets/images/icon-properties.png) no-repeat;\n }\n\n things-editor-buttons-radio div[data-value='left'] {\n background-position: 50% 3px;\n }\n\n things-editor-buttons-radio div[data-value='center'] {\n background-position: 50% -47px;\n }\n\n things-editor-buttons-radio div[data-value='right'] {\n background-position: 50% -97px;\n }\n\n things-editor-buttons-radio div[data-value='justify'] {\n background-position: 50% -147px;\n }\n\n things-editor-buttons-radio div[data-value='top'] {\n background-position: 50% -197px;\n }\n\n things-editor-buttons-radio div[data-value='middle'] {\n background-position: 50% -193px;\n }\n\n things-editor-buttons-radio div[data-value='bottom'] {\n background-position: 50% -188px;\n }\n\n things-editor-buttons-radio div[active] {\n border-color: #f2471c;\n }\n "])))]}constructor(){super(),this.value={},this.bounds={},this.selected=[]}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(U||(U=se(['\n <fieldset>\n <div class="property-grid">\n ',"\n ","\n ","\n ","\n </div>\n </fieldset>\n\n ","\n ","\n ","\n ","\n "])),this._isIdentifiable(this.selected)?Object(s.e)(L||(L=se(['\n <label> <i18n-msg msgid="label.id">ID</i18n-msg> </label>\n <input value-key="id" .value='," />\n "])),this.value.id||""):Object(s.e)(Q||(Q=se([""]))),this._isClassIdentifiable(this.selected)?Object(s.e)(W||(W=se(['\n <label> <i18n-msg msgid="label.class">Class</i18n-msg> </label>\n <input value-key="class" .value='," />\n "])),this.value.class||""):Object(s.e)(V||(V=se([""]))),this._hasTextProperty(this.selected)?Object(s.e)(F||(F=se(['\n <label> <i18n-msg msgid="label.text">Text</i18n-msg> </label>\n <input value-key="text" .value=',' />\n <label> <i18n-msg msgid="label.text-format">Text Format</i18n-msg> </label>\n <input value-key="textFormat" .value=',' list="format-list" />\n <datalist id="format-list">\n <option value="#,###."></option>\n <option value="#,###.#"></option>\n <option value="#,###.0"></option>\n <option value="#,##0.#"></option>\n <option value="#,##0.0"></option>\n <option value="#,##0.0%"></option>\n </datalist>\n '])),this.value.text||"",this.value.textFormat||""):Object(s.e)(_||(_=se([""]))),this._hasProperties(this.selected)?Object(s.e)(J||(J=se(['\n <div class="checkbox-row">\n <input id="checkbox-hidden" value-key="hidden" type="checkbox" .checked=',' />\n <label for="checkbox-hidden"> <i18n-msg msgid="label.item-hidden">Item Hidden</i18n-msg> </label>\n\n <input id="checkbox-locked" value-key="locked" type="checkbox" .checked=',' />\n <label for="checkbox-locked"> <i18n-msg msgid="label.locked">Locked</i18n-msg> </label>\n </div>\n '])),this.value.hidden,this.value.locked):Object(s.e)(H||(H=se([""]))),this._isLine(this.selected)?Object(s.e)($||($=se([""]))):Object(s.e)(X||(X=se(['\n <fieldset class="icon-label unit ratio">\n <legend>\n <title-with-help topic="board-modeller/shapes/size" msgid="label.size">size</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label class="width"> <i18n-msg msgid="label.width">width</i18n-msg> </label>\n <input type="number" value-key="bounds.width" .value=',' />\n <label class="height"> <i18n-msg msgid="label.height">height</i18n-msg> </label>\n <input type="number" value-key="bounds.height" .value='," />\n\n ","\n </div>\n </fieldset>\n "])),this.bounds.width,this.bounds.height,this.selected.length&&this.selected[0].isRootModel()?Object(s.e)(q||(q=se([""]))):Object(s.e)(K||(K=se(['\n <label class="rotate"> <i18n-msg msgid="label.rotate">rotate</i18n-msg> </label>\n <things-editor-angle-input value-key="rotation" .radian=',">\n </things-editor-angle-input>\n "])),this.value.rotation)),this._is3dish(this.selected)?Object(s.e)(ee||(ee=se(['\n <fieldset class="icon-label unit ratio" collapsable ?collapsed=','>\n <legend>\n <title-with-help topic="board-modeller/shapes/3dish" msgid="label.3dish">3D</title-with-help>\n <mwc-icon\n @click=',"\n >",'</mwc-icon\n >\n </legend>\n\n <div class="property-grid">\n <label class="zPos"> <i18n-msg msgid="label.z-pos">pos. Z</i18n-msg> </label>\n <input type="number" value-key="zPos" .value=',' />\n <label class="depth"> <i18n-msg msgid="label.depth">depth</i18n-msg> </label>\n <input type="number" value-key="depth" .value=',' />\n\n <label class="rotationX"> <i18n-msg msgid="label.rotation-x">rot. X</i18n-msg> </label>\n <things-editor-angle-input value-key="rotationX" .radian=','>\n </things-editor-angle-input>\n\n <label class="rotationY"> <i18n-msg msgid="label.rotation-y">rot. Y</i18n-msg> </label>\n <things-editor-angle-input value-key="rotationY" .radian=','>\n </things-editor-angle-input>\n\n <label class="rotationZ"> <i18n-msg msgid="label.rotation-z">rot. Z</i18n-msg> </label>\n <things-editor-angle-input value-key="rotation" .radian=',">\n </things-editor-angle-input>\n </div>\n </fieldset>\n "])),!this._3dExpanded,e=>{this._3dExpanded=!this._3dExpanded},this._3dExpanded?"expand_less":"expand_more",this.value.zPos,this.value.depth,this.value.rotationX,this.value.rotationY,this.value.rotation):Object(s.e)(te||(te=se([""]))),this._hasTextProperty(this.selected)?Object(s.e)(ne||(ne=se(['\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/shapes/text-box" msgid="label.text-box">text box</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label> <i18n-msg msgid="label.horizontal">horizontal</i18n-msg> </label>\n <things-editor-buttons-radio value-key="textAlign" .value=','>\n <div data-value="left"></div>\n <div data-value="center"></div>\n <div data-value="right"></div>\n <div data-value="justify"></div>\n </things-editor-buttons-radio>\n\n <label> <i18n-msg msgid="label.vertical">vertical</i18n-msg> </label>\n <things-editor-buttons-radio value-key="textBaseline" .value=','>\n <div data-value="top"></div>\n <div data-value="middle"></div>\n <div data-value="bottom"></div>\n </things-editor-buttons-radio>\n\n <div class="checkbox-row">\n <input id="checkbox-textwrap" type="checkbox" value-key="textWrap" .checked=',' />\n <label for="checkbox-textwrap"> <i18n-msg msgid="label.text-wrap">Text Wrap</i18n-msg> </label>\n </div>\n\n <label> <i18n-msg msgid="label.padding">padding</i18n-msg> </label>\n <table class="box-padding">\n <tr>\n <td class="slide1"></td>\n <td class="slide2"></td>\n <td class="slide3"></td>\n </tr>\n <tr>\n <td class="slide4"></td>\n <td class="slide5">\n <input type="number" value-key="paddingTop" .value=',' />\n <input type="number" value-key="paddingLeft" .value=',' />\n <input type="number" value-key="paddingRight" .value=',' />\n <input type="number" value-key="paddingBottom" .value=',' />\n </td>\n <td class="slide6"></td>\n </tr>\n <tr>\n <td class="slide7"></td>\n <td class="slide8"></td>\n <td class="slide9"></td>\n </tr>\n </table>\n </div>\n </fieldset>\n '])),this.value.textAlign,this.value.textBaseline,this.value.textWrap,this.value.paddingTop,this.value.paddingLeft,this.value.paddingRight,this.value.paddingBottom):Object(s.e)(ie||(ie=se([""]))),this.selected.length&&this.selected[0].isRootModel()?Object(s.e)(re||(re=se(['\n <fieldset class="icon-label">\n <legend>\n <title-with-help topic="board-modeller/shapes/viewer-option" msgid="label.viewer-option">Viewer Option</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label><i18n-msg msgid="label.fit">Fit</i18n-msg></label>\n <select value-key="fitMode" .value=','>\n <option value="none">none</option>\n <option value="ratio" selected>ratio</option>\n <option value="both">both</option>\n <option value="width">width</option>\n <option value="height">height</option>\n </select>\n </things-editor-angle-input>\n </div>\n </fieldset>\n <fieldset class="icon-label">\n <legend>\n <title-with-help topic="board-modeller/shapes/print-option" msgid="label.label-print">Print Option</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label class="rotate"><i18n-msg msgid="label.label-rotation">Label Rotation</i18n-msg></label>\n <select value-key="labelRotation" .value=','>\n <option value="N" selected>0°</option>\n <option value="B">90°</option>\n <option value="I">180°</option>\n <option value="R">270°</option>\n </select>\n </things-editor-angle-input>\n </div>\n </fieldset>\n '])),this.value.fitMode||"ratio",this.value.labelRotation||"N"):Object(s.e)(ae||(ae=se([""]))))}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");if(n){var i=this._getValueFromEventTarget(t);if(0==n.indexOf("bounds.")){if(isNaN(i))return;this.dispatchEvent(new CustomEvent("bounds-change",{bubbles:!0,composed:!0,detail:{[n.substr(7)]:i}}))}else this._onAfterValueChange(n,i)}}_hasTextProperty(e){for(var t=0;t<e.length;t++)if(!e[t].hasTextProperty)return!1;return!0}_hasProperties(e){return!(!e||0==e.length||e[0]&&e[0].isLayer&&e[0].isLayer())}_isIdentifiable(e){return!(!e||0==e.length||e.length>1||e[0].isLayer&&e[0].isLayer())}_isClassIdentifiable(e){return!(!e||e[0]&&e[0].isLayer&&e[0].isLayer())}_isLine(e){return!!(e&&e[0]&&e[0].isLine&&e[0].isLine())}_is3dish(e){return!!(e&&e[0]&&e[0].is3dish&&e[0].is3dish())}}customElements.define(le.is,le);var ce,de;n(1115),n(955),n(964),n(1310),n(1220),n(1170);function pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(n),!0).forEach((function(t){he(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function he(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function be(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
25
- /**
26
- * @license Copyright © HatioLab Inc. All rights reserved.
27
- */class me extends s.a{constructor(){super(),this.value={}}static get is(){return"things-editor-gradient"}static get properties(){return{value:Object}}static get styles(){return[Object(s.b)(ce||(ce=be(["\n :host {\n display: grid;\n\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n :host > * {\n align-self: stretch;\n }\n\n :host > label {\n grid-column: span 2;\n text-align: right;\n text-transform: capitalize;\n align-self: center;\n }\n\n :host > .icon-only-label {\n grid-column: span 1;\n }\n\n :host > input,\n :host > [editors] {\n grid-column: span 8;\n }\n\n :host > select {\n grid-column: span 4;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n :host > things-editor-angle-input {\n grid-column: span 3;\n }\n\n things-editor-color-stops {\n grid-column: span 10;\n }\n\n .host > input[type='checkbox'] {\n grid-column: 3 / 4;\n }\n\n .host > input[type='checkbox'] ~ label {\n grid-column: span 7;\n text-align: left;\n }\n\n [editors] > :not([active-selector]) {\n display: none;\n }\n\n [gradient-direction] {\n overflow: hidden;\n max-width: 210px;\n }\n\n [gradient-direction] paper-item {\n background: url(/assets/images/icon-editor-gradient-direction.png) 50% 0 no-repeat;\n min-height: 32px;\n padding: 3px 5px;\n width: 30px;\n float: left;\n }\n\n [gradient-direction] [name='lefttop-to-rightbottom'] {\n background-position: 50% 4px;\n }\n\n [gradient-direction] [name='left-top'] {\n background-position: 50% 4px;\n }\n\n [gradient-direction] [name='top-to-bottom'] {\n background-position: 50% -46px;\n }\n\n [gradient-direction] [name='righttop-to-leftbottom'] {\n background-position: 50% -96px;\n }\n\n [gradient-direction] [name='right-top'] {\n background-position: 50% -96px;\n }\n\n [gradient-direction] [name='right-to-left'] {\n background-position: 50% -146px;\n }\n\n [gradient-direction] [name='rightbottom-to-lefttop'] {\n background-position: 50% -196px;\n }\n\n [gradient-direction] [name='right-bottom'] {\n background-position: 50% -196px;\n }\n\n [gradient-direction] [name='bottom-to-top'] {\n background-position: 50% -246px;\n }\n\n [gradient-direction] [name='leftbottom-to-righttop'] {\n background-position: 50% -296px;\n }\n\n [gradient-direction] [name='left-bottom'] {\n background-position: 50% -296px;\n }\n\n [gradient-direction] [name='left-to-right'] {\n background-position: 50% -346px;\n }\n\n [gradient-direction] [name='center-to-corner'] {\n background-position: 50% -396px;\n }\n\n [gradient-direction] [name='center'] {\n background-position: 50% -396px;\n }\n\n [gradient-direction] paper-item[focused] {\n background-color: rgba(255, 246, 143, 0.5);\n }\n\n .icon-only-label {\n top: 0 !important;\n width: 30px !important;\n height: 24px;\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n }\n\n .icon-only-label.color {\n background-position: 70% -198px;\n }\n "])))]}firstUpdated(){this.shadowRoot.addEventListener("change",this._onChange.bind(this))}_onChange(e){var t=e.target,n=t.getAttribute("value-key");if(n){var i;switch(t.tagName){case"THINGS-EDITOR-ANGLE-INPUT":i=Number(t.radian)||0;break;case"INPUT":switch(t.type){case"checkbox":i=t.checked;break;case"number":i=Number(t.value)||0;break;case"text":i=String(t.value)}break;case"PAPER-BUTTON":i=t.active;break;case"PAPER-LISTBOX":i=t.selected;break;default:i=t.value}"direction"==n&&(n="rotation",i=this._convertDirectionToRotation(i)),this.value=ue(ue({},this.value),{},{[n]:i}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}render(){var e=this.value&&this.value.type||"linear";return Object(s.e)(de||(de=be(['\n <label> <i18n-msg msgid="label.type">type</i18n-msg> </label>\n <select value-key="type" .value=','>\n <option>linear</option>\n <option>radial</option>\n </select>\n\n <label class="icon-only-label color"></label>\n <things-editor-angle-input value-key="rotation" .radian=','>\n </things-editor-angle-input>\n\n <label> <i18n-msg msgid="label.direction">direction</i18n-msg> </label>\n <div editors>\n <paper-dropdown-menu no-label-float="true" ?active-selector=','>\n <paper-listbox\n @selected-changed="','"\n value-key="direction"\n slot="dropdown-content"\n gradient-direction\n .selected=','\n attr-for-selected="name"\n >\n <paper-item name="lefttop-to-rightbottom"></paper-item>\n <paper-item name="top-to-bottom"></paper-item>\n <paper-item name="righttop-to-leftbottom"></paper-item>\n <paper-item name="right-to-left"></paper-item>\n <paper-item name="rightbottom-to-lefttop"></paper-item>\n <paper-item name="bottom-to-top"></paper-item>\n <paper-item name="leftbottom-to-righttop"></paper-item>\n <paper-item name="left-to-right"></paper-item>\n <paper-item name="center-to-corner"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n\n <paper-dropdown-menu no-label-float="true" ?active-selector=','>\n <paper-listbox\n @selected-changed="','"\n value-key="center"\n slot="dropdown-content"\n gradient-direction\n .selected=','\n attr-for-selected="name"\n >\n <paper-item name="center"></paper-item>\n <paper-item name="left-top"></paper-item>\n <paper-item name="right-top"></paper-item>\n <paper-item name="right-bottom"></paper-item>\n <paper-item name="left-bottom"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n </div>\n\n <things-editor-color-stops\n value-key="colorStops"\n type="gradient"\n .value=',"\n >\n </things-editor-color-stops>\n "])),this.value&&this.value.type||"linear",this.value&&this.value.rotation||0,"linear"==e,e=>this._onChange(e),this.value&&this.value.direction||"left-to-right","radial"==e,e=>this._onChange(e),this.value&&this.value.center||"center",this.value&&this.value.colorStops||{})}_convertDirectionToRotation(e){var t;switch(e){case"lefttop-to-rightbottom":t=45;break;case"top-to-bottom":t=90;break;case"righttop-to-leftbottom":t=135;break;case"right-to-left":t=180;break;case"rightbottom-to-lefttop":t=215;break;case"bottom-to-top":t=270;break;case"leftbottom-to-righttop":t=315;break;case"left-to-right":t=0;break;default:return}return t/360*Math.PI*2}}customElements.define(me.is,me);var ge,ve,fe,ye;n(1173);function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?we(Object(n),!0).forEach((function(t){xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):we(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
28
- /**
29
- * @license Copyright © HatioLab Inc. All rights reserved.
30
- */class je extends s.a{static get is(){return"things-editor-pattern"}static get properties(){return{value:Object}}static get styles(){return[Object(s.b)(ge||(ge=Oe(["\n :host,\n .grid-10 {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 2;\n text-align: right;\n text-transform: capitalize;\n\n align-self: center;\n }\n\n .grid-10 {\n grid-column: span 10;\n }\n\n select,\n input,\n [custom-editor] {\n grid-column: span 8;\n }\n\n select {\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n input[type='checkbox'] {\n grid-column: 3 / 4;\n align-self: center;\n }\n\n input[type='checkbox'] ~ label {\n grid-column: span 7;\n text-align: left;\n }\n\n .grid-10 > input[type='number'] {\n grid-column: span 3;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n .grid-10 > label {\n grid-column: span 2;\n text-align: right;\n }\n "])))]}render(){return Object(s.e)(ve||(ve=Oe(['\n <label> <i18n-msg msgid="label.image" auto="">image</i18n-msg> </label>\n\n <things-editor-attachment-selector\n value-key="image"\n .value=','\n custom-editor\n ></things-editor-attachment-selector>\n\n <label> <i18n-msg msgid="label.align" auto="">align</i18n-msg> </label>\n\n <select value-key="align" class="select-content" .value=','>\n <option value="left-top">Left Top</option>\n <option value="top">Top</option>\n <option value="right-top">Right Top</option>\n <option value="left">Left</option>\n <option value="center">Center</option>\n <option value="right">Right</option>\n <option value="left-bottom">Left Bottom</option>\n <option value="bottom">Bottom</option>\n <option value="right-bottom">Right Bottom</option>\n </select>\n\n <div class="grid-10">\n <label> <i18n-msg msgid="label.offset-x" auto="">offsetX</i18n-msg> </label>\n <input type="number" value-key="offsetX" .value=',' />\n\n <label> <i18n-msg msgid="label.offset-y" auto="">offsetY</i18n-msg> </label>\n <input type="number" value-key="offsetY" .value=',' />\n\n <label> <i18n-msg msgid="label.width" auto="">width</i18n-msg> </label>\n <input type="number" value-key="width" .value=',' />\n\n <label> <i18n-msg msgid="label.height" auto="">height</i18n-msg> </label>\n <input type="number" value-key="height" .value=',' />\n </div>\n\n <div class="grid-10">\n <input value-key="fitPattern" type="checkbox" .checked=',' required />\n <label> <i18n-msg msgid="label.fit" auto="">Fit</i18n-msg> </label>\n </div>\n '])),this.value&&this.value.image||"",this.value&&this.value.align,this.value&&this.value.offsetX,this.value&&this.value.offsetY,this.value&&this.value.width,this.value&&this.value.height,this.value&&this.value.fitPattern)}firstUpdated(){this.shadowRoot.addEventListener("change",this._onChange.bind(this))}_onChange(e){var t=e.target,n=t.getAttribute("value-key"),i=t.value;"fitPattern"==n&&(i=t.checked),this.value=Ae(Ae({},this.value),{},{[n]:i}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}function ke(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ee(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
31
- /**
32
- * @license Copyright © HatioLab Inc. All rights reserved.
33
- */customElements.define(je.is,je);class Re extends s.a{static get is(){return"things-editor-color-style"}static get properties(){return{value:Object,fillType:String,solid:String,gradient:Object,pattern:Object}}static get styles(){return[Object(s.b)(fe||(fe=Ee(["\n :host {\n display: flex;\n flex-direction: column;\n }\n\n [fill-type] {\n display: flex;\n margin: 0 0 14px 0;\n }\n\n [fill-type] * {\n flex: auto;\n margin: 0;\n text-align: left;\n align-self: center;\n }\n\n .grid-10 {\n display: grid;\n\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n }\n\n .grid-10 > things-editor-color {\n grid-column: span 4;\n }\n\n .grid-10 > .icon-only-label {\n grid-column: span 1;\n\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n float: left;\n margin: 0;\n }\n\n .icon-only-label.color {\n background-position: 70% -498px;\n }\n\n [editors] > :not([active]) {\n display: none;\n }\n "])))]}updated(e){e.has("value")&&this._onChangedValue(this.value)}render(){return Object(s.e)(ye||(ye=Ee(["\n <div @change=",' fill-type>\n <input\n type="radio"\n id="fill-type-no"\n name="fill-type"\n value="no"\n .checked=','\n />\n <label for="fill-type-no"><i18n-msg msgid="label.no-fill">no fill</i18n-msg></label>\n <input type="radio" id="fill-type-solid" name="fill-type" value="solid" .checked=',' />\n <label for="fill-type-solid"><i18n-msg msgid="label.solid">solid</i18n-msg></label>\n <input\n type="radio"\n id="fill-type-gradient"\n name="fill-type"\n value="gradient"\n .checked=','\n />\n <label for="fill-type-gradient"><i18n-msg msgid="label.gradient">gradient</i18n-msg></label>\n <input\n type="radio"\n id="fill-type-pattern"\n name="fill-type"\n value="pattern"\n .checked=','\n />\n <label for="fill-type-pattern"><i18n-msg msgid="label.pattern">pattern</i18n-msg></label>\n </div>\n\n <div editors>\n <div ?active=','></div>\n\n <div class="grid-10" ?active=','>\n <label class="icon-only-label color"></label>\n <things-editor-color @change='," .value=","> </things-editor-color>\n </div>\n\n <div ?active=",">\n <things-editor-gradient @change="," .value=",">\n </things-editor-gradient>\n </div>\n\n <div ?active=",">\n <things-editor-pattern @change="," .value=",">\n </things-editor-pattern>\n </div>\n </div>\n "])),e=>this._onChangedFillType(e),!this.fillType||"no"==this.fillType,"solid"==this.fillType,"gradient"==this.fillType,"pattern"==this.fillType,"no"==this.fillType,"solid"==this.fillType,e=>this._onChangedSolid(e),this.solid,"gradient"==this.fillType,e=>this._onChandedGradient(e),this.gradient,"pattern"==this.fillType,e=>this._onChangedPattern(e),this.pattern)}_onChangedValue(e){var t,n=this;return(t=function*(){if(yield n.renderComplete,!e)return n.fillType="no",n._block_reset||(n.solid=null,n.gradient=null,n.pattern=null),void(n._block_reset=!1);switch(typeof e){case"string":n.fillType="solid",n.solid=e,n._block_reset||(n.gradient=null,n.pattern=null);break;case"object":n.fillType=e.type,"gradient"===e.type?(n.gradient={type:e.gradientType||"linear",colorStops:e.colorStops||[{position:0,color:n.solid||"#000000"},{position:1,color:n.solid||"#FFFFFF"}],rotation:parseFloat(e.rotation)||0,center:e.center},n._block_reset||(n.pattern=null,n.solid=null)):"pattern"===e.type&&(n.pattern={image:e.image,offsetX:parseInt(e.offsetX)||0,offsetY:parseInt(e.offsetY)||0,width:parseInt(e.width),height:parseInt(e.height),align:e.align,fitPattern:e.fitPattern},n._block_reset||(n.gradient=null,n.solid=null))}n._block_reset=!1},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){ke(a,i,r,o,s,"next",e)}function s(e){ke(a,i,r,o,s,"throw",e)}o(void 0)}))})()}_onChangedFillType(e){switch(this.fillType=e.target.value,this.fillType){case"gradient":this.gradient||(this.gradient={type:"linear",colorStops:[{position:0,color:this.solid||"#000000"},{position:1,color:this.solid||"#FFFFFF"}],rotation:0,center:"center"}),this.value={type:"gradient",gradientType:this.gradient.type||"linear",colorStops:this.gradient.colorStops||[{position:0,color:this.solid||"#000000"},{position:1,color:this.solid||"#FFFFFF"}],rotation:parseFloat(this.gradient.rotation)||0,center:this.gradient.center};break;case"pattern":this.pattern||(this.pattern={}),this.value={type:"pattern",image:this.pattern.image,offsetX:parseInt(this.pattern.offsetX)||0,offsetY:parseInt(this.pattern.offsetY)||0,width:parseInt(this.pattern.width),height:parseInt(this.pattern.height),align:this.pattern.align,fitPattern:this.pattern.fitPattern};break;case"solid":this.solid||(this.solid="#fff"),this.value=this.solid;break;case"no":this.value=""}this._block_reset=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_onChangedSolid(e){"solid"===this.fillType&&(this.solid=e.target.value,this.value=this.solid,this._block_reset=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}_onChandedGradient(e){"gradient"===this.fillType&&(this.gradient=e.target.value,this.value={type:"gradient",gradientType:this.gradient.type||"linear",colorStops:this.gradient.colorStops||[{position:0,color:this.solid||"#000000"},{position:1,color:this.solid||"#FFFFFF"}],rotation:parseFloat(this.gradient.rotation)||0,center:this.gradient.center},this._block_reset=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}_onChangedPattern(e){"pattern"===this.fillType&&(this.pattern=e.target.value,this.value={type:"pattern",image:this.pattern.image,offsetX:parseInt(this.pattern.offsetX)||0,offsetY:parseInt(this.pattern.offsetY)||0,width:parseInt(this.pattern.width),height:parseInt(this.pattern.height),align:this.pattern.align,fitPattern:this.pattern.fitPattern},this._block_reset=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}customElements.define(Re.is,Re);var Me,Se,Ie,Ne,ze;n(1216);function De(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
34
- /**
35
- * @license Copyright © HatioLab Inc. All rights reserved.
36
- */class Te extends T{static get is(){return"property-style"}static get properties(){return{value:Object,selected:Array,fonts:Array}}static get styles(){return[B,Object(s.b)(Me||(Me=De(["\n paper-slider {\n width: 100%;\n }\n\n .btn-group {\n height: 24px;\n }\n\n .btn-group paper-button {\n width: 30px;\n height: 24px;\n min-width: initial;\n margin: 0 4px 0 0;\n padding: 0;\n border-radius: 0;\n display: inline-block;\n border-bottom: 2px solid #fff;\n\n background: url(/assets/images/icon-properties.png) no-repeat;\n background-size: 70%;\n }\n\n .btn-group paper-button.tbold {\n background-position: 50% -170px;\n }\n\n .btn-group paper-button.titalic {\n background-position: 50% -205px;\n }\n\n .btn-group paper-button.tunderline {\n background-position: 50% -240px;\n }\n\n .btn-group paper-button.tstrikethrough {\n background-position: 50% -415px;\n }\n\n .btn-group paper-button[active] {\n border-color: #f2471c;\n }\n\n .line-type paper-listbox {\n overflow: hidden;\n max-width: 100px;\n }\n .line-type paper-item {\n background: url(/assets/images/icon-properties-line-type.png) 50% 0 no-repeat;\n min-height: 25px;\n padding: 3px 9px;\n width: 80px;\n }\n\n .line-type paper-item.solid {\n background-position: 50% 10px;\n }\n .line-type paper-item.round-dot {\n background-position: 50% -40px;\n }\n .line-type paper-item.square-dot {\n background-position: 50% -90px;\n }\n .line-type paper-item.dash {\n background-position: 50% -140px;\n }\n .line-type paper-item.dash-dot {\n background-position: 50% -190px;\n }\n .line-type paper-item.long-dash {\n background-position: 50% -240px;\n }\n .line-type paper-item.long-dash-dot {\n background-position: 50% -290px;\n }\n .line-type paper-item.long-dash-dot-dot {\n background-position: 50% -340px;\n }\n\n .line-type .paper-input-container input {\n background: url(/assets/images/icon-properties-line-type.png) 50% 0 no-repeat !important;\n }\n .line-type.solid .paper-input-container input {\n background-position: 50% 5px !important;\n }\n .line-type.round-dot .paper-input-container input {\n background-position: 50% -45px !important;\n }\n .line-type.square-dot .paper-input-container input {\n background-position: 50% -85px !important;\n }\n .line-type.dash .paper-input-container input {\n background-position: 50% -145px !important;\n }\n .line-type.dash-dot .paper-input-container input {\n background-position: 50% -185px !important;\n }\n .line-type.long-dash .paper-input-container input {\n background-position: 50% -245px !important;\n }\n .line-type.long-dash-dot .paper-input-container input {\n background-position: 50% -285px !important;\n }\n .line-type.long-dash-dot-dot .paper-input-container input {\n background-position: 50% -345px !important;\n }\n\n .arrow-type paper-menu {\n overflow: hidden;\n max-width: 140px;\n }\n .arrow-type paper-item {\n background: url(/assets/images/icon-properties-arrow-type.png) 50% 0 no-repeat;\n min-height: 30px;\n padding: 3px 7px;\n width: 30px;\n float: left;\n }\n .arrow-type paper-item.begin-no {\n background-position: 50% 16px;\n }\n .arrow-type paper-item.begin-arrow {\n background-position: 50% -39px;\n }\n .arrow-type paper-item.begin-open-arrow {\n background-position: 50% -89px;\n }\n .arrow-type paper-item.begin-stealth-arrow {\n background-position: 50% -139px;\n }\n .arrow-type paper-item.begin-diamond-arrow {\n background-position: 50% -190px;\n }\n .arrow-type paper-item.begin-oval-arrow {\n background-position: 50% -238px;\n }\n .arrow-type paper-item.begin-size1 {\n background-position: 50% -286px;\n }\n .arrow-type paper-item.begin-size2 {\n background-position: 50% -336px;\n }\n .arrow-type paper-item.begin-size3 {\n background-position: 50% -386px;\n }\n .arrow-type paper-item.begin-size4 {\n background-position: 50% -436px;\n }\n .arrow-type paper-item.begin-size5 {\n background-position: 50% -486px;\n }\n .arrow-type paper-item.begin-size6 {\n background-position: 50% -536px;\n }\n .arrow-type paper-item.begin-size7 {\n background-position: 50% -589px;\n }\n .arrow-type paper-item.begin-size8 {\n background-position: 50% -639px;\n }\n .arrow-type paper-item.begin-size9 {\n background-position: 50% -689px;\n }\n .arrow-type paper-item.end-no {\n background-position: 50% 16px;\n }\n .arrow-type paper-item.end-arrow {\n background-position: 50% -739px;\n }\n .arrow-type paper-item.end-open-arrow {\n background-position: 50% -789px;\n }\n .arrow-type paper-item.end-stealth-arrow {\n background-position: 50% -839px;\n }\n .arrow-type paper-item.end-diamond-arrow {\n background-position: 50% -890px;\n }\n .arrow-type paper-item.end-oval-arrow {\n background-position: 50% -938px;\n }\n .arrow-type paper-item.end-size1 {\n background-position: 50% -986px;\n }\n .arrow-type paper-item.end-size2 {\n background-position: 50% -1036px;\n }\n .arrow-type paper-item.end-size3 {\n background-position: 50% -1086px;\n }\n .arrow-type paper-item.end-size4 {\n background-position: 50% -1136px;\n }\n .arrow-type paper-item.end-size5 {\n background-position: 50% -1186px;\n }\n .arrow-type paper-item.end-size6 {\n background-position: 50% -1236px;\n }\n .arrow-type paper-item.end-size7 {\n background-position: 50% -1289px;\n }\n .arrow-type paper-item.end-size8 {\n background-position: 50% -1339px;\n }\n .arrow-type paper-item.end-size9 {\n background-position: 50% -1389px;\n }\n\n .arrow-type .paper-input-container input {\n background: url(/assets/images/icon-properties-arrow-type.png) 110% 0 no-repeat !important;\n }\n .arrow-type.begin-no .paper-input-container input {\n background-position: 110% 5px !important;\n }\n .arrow-type.begin-arrow .paper-input-container input {\n background-position: 110% -50px !important;\n }\n .arrow-type.begin-open-arrow .paper-input-container input {\n background-position: 110% -100px !important;\n }\n .arrow-type.begin-stealth-arrow .paper-input-container input {\n background-position: 110% -150px !important;\n }\n .arrow-type.begin-diamond-arrow .paper-input-container input {\n background-position: 110% -200px !important;\n }\n .arrow-type.begin-oval-arrow .paper-input-container input {\n background-position: 110% -250px !important;\n }\n .arrow-type.begin-size1 .paper-input-container input {\n background-position: 110% -298px !important;\n }\n .arrow-type.begin-size2 .paper-input-container input {\n background-position: 110% -348px !important;\n }\n .arrow-type.begin-size3 .paper-input-container input {\n background-position: 110% -398px !important;\n }\n .arrow-type.begin-size4 .paper-input-container input {\n background-position: 110% -448px !important;\n }\n .arrow-type.begin-size5 .paper-input-container input {\n background-position: 110% -498px !important;\n }\n .arrow-type.begin-size6 .paper-input-container input {\n background-position: 110% -548px !important;\n }\n .arrow-type.begin-size7 .paper-input-container input {\n background-position: 110% -600px !important;\n }\n .arrow-type.begin-size8 .paper-input-container input {\n background-position: 110% -650px !important;\n }\n .arrow-type.begin-size9 .paper-input-container input {\n background-position: 110% -700px !important;\n }\n .arrow-type.end-no .paper-input-container input {\n background-position: 110% 5px !important;\n }\n .arrow-type.end-arrow .paper-input-container input {\n background-position: 110% -750px !important;\n }\n .arrow-type.end-open-arrow .paper-input-container input {\n background-position: 110% -800px !important;\n }\n .arrow-type.end-stealth-arrow .paper-input-container input {\n background-position: 110% -850px !important;\n }\n .arrow-type.end-diamond-arrow .paper-input-container input {\n background-position: 110% -900px !important;\n }\n .arrow-type.end-oval-arrow .paper-input-container input {\n background-position: 110% -950px !important;\n }\n .arrow-type.end-size1 .paper-input-container input {\n background-position: 110% -998px !important;\n }\n .arrow-type.end-size2 .paper-input-container input {\n background-position: 110% -1048px !important;\n }\n .arrow-type.end-size3 .paper-input-container input {\n background-position: 110% -1098px !important;\n }\n .arrow-type.end-size4 .paper-input-container input {\n background-position: 110% -1148px !important;\n }\n .arrow-type.end-size5 .paper-input-container input {\n background-position: 110% -1198px !important;\n }\n .arrow-type.end-size6 .paper-input-container input {\n background-position: 110% -1248px !important;\n }\n .arrow-type.end-size7 .paper-input-container input {\n background-position: 110% -1300px !important;\n }\n .arrow-type.end-size8 .paper-input-container input {\n background-position: 110% -1350px !important;\n }\n .arrow-type.end-size9 .paper-input-container input {\n background-position: 110% -1400px !important;\n }\n "])))]}constructor(){super(),this.value={},this.selected=[],this.fonts=[]}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChange.bind(this))}render(){var{alpha:e,fontFamily:t,fontSize:n,lineHeight:i,fontColor:r,bold:a,italic:o,fillStyle:l,lineWidth:c,strokeStyle:d,lineDash:p,lineCap:u,lineJoin:h,begin:b,beginSize:m,end:g,endSize:v}=this.value;return Object(s.e)(Se||(Se=De(['\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/styles/opacity" msgid="label.opacity">opacity</title-with-help>\n </legend>\n <paper-slider min="0" max="1" step="0.1" value-key="alpha" .value=',' editable> </paper-slider>\n </fieldset>\n\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/styles/text-style" msgid="label.text-style">text style</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label class="property-full-label">\n <i18n-msg msgid="label.font-family">Font Family</i18n-msg>\n </label>\n\n <things-editor-font-selector\n value-key="fontFamily"\n .value=','\n class="property-full-input"\n custom-editor\n ></things-editor-font-selector>\n\n <label class="property-half-label icon-only-label font-size"></label>\n <input type="number" value-key="fontSize" .value=',' class="property-half-input" />\n\n <label class="property-half-label icon-only-label lineHeight"></label>\n <input type="number" value-key="lineHeight" .value=',' class="property-half-input" />\n\n <label class="property-half-label icon-only-label color"></label>\n <things-editor-color value-key="fontColor" .value=',' class="property-half-input">\n </things-editor-color>\n\n <label class="property-half-label"></label>\n <div class="property-half-input btn-group">\n <paper-button toggles value-key="bold" ?active=',' class="tbold"> </paper-button>\n <paper-button toggles value-key="italic" ?active=',' class="titalic"> </paper-button>\n </div>\n </div>\n </fieldset>\n\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/styles/fill-style" msgid="label.fill-style">fill style</title-with-help>\n </legend>\n\n <things-editor-color-style value-key="fillStyle" .value=','> </things-editor-color-style>\n </fieldset>\n\n <fieldset>\n <legend>\n <title-with-help msgid="label.line-style" topic="board-modeller/styles/line-style"></title-with-help>\n </legend>\n\n <div class="property-grid">\n <label class="property-half-label icon-only-label linewidth"></label>\n <input type="number" value-key="lineWidth" .value=',' class="property-half-input" />\n\n <label class="property-half-label icon-only-label color"></label>\n <things-editor-color value-key="strokeStyle" .value=',' class="property-half-input">\n </things-editor-color>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.line-type">line type</i18n-msg>\n </label>\n <paper-dropdown-menu no-label-float="true" class="property-full-input line-type solid">\n \x3c!-- solid는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n value-key="lineDash"\n @selected-changed=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="solid" name="solid"></paper-item>\n <paper-item class="round-dot" name="round-dot"></paper-item>\n <paper-item class="square-dot" name="square-dot"></paper-item>\n <paper-item class="dash" name="dash"></paper-item>\n <paper-item class="dash-dot" name="dash-dot"></paper-item>\n <paper-item class="long-dash" name="long-dash"></paper-item>\n <paper-item class="long-dash-dot" name="long-dash-dot"></paper-item>\n <paper-item class="long-dash-dot-dot" name="long-dash-dot-dot"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.cap-type">cap type</i18n-msg>\n </label>\n <select class="property-full-input select-content" value-key="lineCap" .value=','>\n <option value="butt"><i18n-msg msgid="label.square">square</i18n-msg></option>\n <option value="round"><i18n-msg msgid="label.round">round</i18n-msg></option>\n </select>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.join-type">join type</i18n-msg>\n </label>\n <select class="property-full-input select-content" value-key="lineJoin" .value=','>\n <option value="miter"><i18n-msg msgid="label.miter">miter</i18n-msg></option>\n <option value="round"><i18n-msg msgid="label.round">round</i18n-msg></option>\n <option value="bevel"><i18n-msg msgid="label.bevel">bevel</i18n-msg></option>\n </select>\n\n ',"\n </div>\n </fieldset>\n "])),e||1,t,n,i,r,a,o,l,c,d,e=>this._onValueChange(e),p,u,h,this._isLine(this.selected)?Object(s.e)(Ie||(Ie=De(['\n <label class="property-full-label">\n <i18n-msg msgid="label.begin-type">begin type</i18n-msg>\n </label>\n <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type begin-no">\n \x3c!-- begin-no는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n value-key="begin"\n @selected-changed=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="begin-no" name="none"></paper-item>\n <paper-item class="begin-arrow" name="arrow"></paper-item>\n <paper-item class="begin-open-arrow" name="open-arrow"></paper-item>\n <paper-item class="begin-stealth-arrow" name="sharp-arrow"></paper-item>\n <paper-item class="begin-diamond-arrow" name="diamond"></paper-item>\n <paper-item class="begin-oval-arrow" name="oval"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.begin-size">begin size</i18n-msg>\n </label>\n <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type begin-size1">\n \x3c!-- begin-size1는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n value-key="beginSize"\n @selected-changed=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="begin-size1" name="size1"></paper-item>\n <paper-item class="begin-size2" name="size2"></paper-item>\n <paper-item class="begin-size3" name="size3"></paper-item>\n <paper-item class="begin-size4" name="size4"></paper-item>\n <paper-item class="begin-size5" name="size5"></paper-item>\n <paper-item class="begin-size6" name="size6"></paper-item>\n <paper-item class="begin-size7" name="size7"></paper-item>\n <paper-item class="begin-size8" name="size8"></paper-item>\n <paper-item class="begin-size9" name="size9"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.end-type">end type</i18n-msg>\n </label>\n <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type end-no">\n \x3c!-- end-no는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n value-key="end"\n @selected-changed=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="end-no" name="none"></paper-item>\n <paper-item class="end-arrow" name="arrow"></paper-item>\n <paper-item class="end-open-arrow" name="open-arrow"></paper-item>\n <paper-item class="end-stealth-arrow" name="sharp-arrow"></paper-item>\n <paper-item class="end-diamond-arrow" name="diamond"></paper-item>\n <paper-item class="end-oval-arrow" name="oval"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n\n <label class="property-full-label">\n <i18n-msg msgid="label.end-size">end size</i18n-msg>\n </label>\n <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type end-size1">\n \x3c!-- end-size1는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n value-key="endSize"\n @selected-changed=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="end-size1" name="size1"></paper-item>\n <paper-item class="end-size2" name="size2"></paper-item>\n <paper-item class="end-size3" name="size3"></paper-item>\n <paper-item class="end-size4" name="size4"></paper-item>\n <paper-item class="end-size5" name="size5"></paper-item>\n <paper-item class="end-size6" name="size6"></paper-item>\n <paper-item class="end-size7" name="size7"></paper-item>\n <paper-item class="end-size8" name="size8"></paper-item>\n <paper-item class="end-size9" name="size9"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n '])),e=>this._onValueChange(e),b,e=>this._onValueChange(e),m,e=>this._onValueChange(e),g,e=>this._onValueChange(e),v):Object(s.e)(Ne||(Ne=De([""]))))}_isLine(e){for(var t=!1,n=0;n<e.length;n++){var i=e[n];if(!i.isLine||!i.isLine())return t=!1;t=!0}return t}}window.customElements.define(Te.is,Te);
37
- /**
38
- * @license Copyright © HatioLab Inc. All rights reserved.
39
- */
40
- var Ce,Ge,Pe,Be,Ye,Ze,Ue,Le,Qe,We,Ve,Fe,_e,Je,He,Xe,qe,Ke,$e,et,tt=Object(s.b)(ze||(ze=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n :host {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n\n align-self: center;\n }\n\n input,\n select,\n things-editor-angle-input,\n things-editor-color,\n [custom-editor] {\n grid-column: span 7;\n }\n\n input,\n select,\n things-editor-angle-input input,\n things-editor-color input,\n [custom-editor] input {\n border: var(--property-sidebar-fieldset-border);\n }\n\n input[type='checkbox'] {\n grid-column: 4 / 5;\n align-self: center;\n }\n\n label.checkbox-label {\n grid-column: span 6;\n text-align: left;\n }\n\n [fullwidth] {\n grid-column: 1 / -1;\n }\n"])));function nt(e){switch(e.tagName){case"THINGS-EDITOR-ANGLE-INPUT":return Number(e.radian)||0;case"INPUT":switch(e.type){case"checkbox":return e.checked;case"number":return Number(e.value)||0;case"text":return String(e.value)}break;case"PAPER-BUTTON":return e.active;case"PAPER-LISTBOX":return e.selected;default:return e.value}}function it(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?it(Object(n),!0).forEach((function(t){at(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):it(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function at(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ot(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
41
- /**
42
- * @license Copyright © HatioLab Inc. All rights reserved.
43
- */class st extends s.a{static get properties(){return{value:Object,scene:Object}}static get styles(){return[tt]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(Ce||(Ce=ot(['\n <label>Animation Type</label>\n <select value-key="type" .value=','>\n <option value="">None</option>\n <option value="rotation">Rotation</option>\n <option value="vibration">Vibration</option>\n <option value="heartbeat">Heartbeat</option>\n <option value="moving">Moving</option>\n <option value="fade">Fade</option>\n <option value="outline">Outline</option>\n </select>\n\n <label> <i18n-msg msgid="label.waiting-time">waiting time</i18n-msg> </label>\n <input type="number" value-key="delay" .value=',' placeholder="ms" />\n\n <label> <i18n-msg msgid="label.duration">duration</i18n-msg> </label>\n <input type="number" value-key="duration" .value=',' placeholder="ms" />\n\n ',"\n ","\n ","\n ","\n ",'\n\n <input id="checkbox-repeat" value-key="repeat" type="checkbox" .checked=',' />\n <label for="checkbox-repeat" class="checkbox-label"> <i18n-msg msgid="label.repeat">repeat</i18n-msg> </label>\n\n <label>delta</label>\n <select value-key="delta" .value=','>\n <option value="linear">linear</option>\n <option value="quad">quad</option>\n <option value="circ">circ</option>\n <option value="back">back</option>\n <option value="bounce">bounce</option>\n <option value="elastic">elastic</option>\n </select>\n\n <label>ease</label>\n <select value-key="ease" .value=','>\n <option value="in">in</option>\n <option value="out">out</option>\n <option value="inout">inout</option>\n </select>\n '])),this.value&&this.value.type,this.value.delay,this.value.duration,"rotation"==this.value.type||"vibration"==this.value.type?Object(s.e)(Ge||(Ge=ot(['\n <label> <i18n-msg msgid="label.theta">theta</i18n-msg> </label>\n <things-editor-angle-input value-key="theta" .radian=',"> </things-editor-angle-input>\n "])),this.value.theta):Object(s.e)(Pe||(Pe=ot([""]))),"heartbeat"==this.value.type?Object(s.e)(Be||(Be=ot(['\n <label> <i18n-msg msgid="label.scale">scale</i18n-msg> </label>\n <input type="number" value-key="scale" .value='," />\n "])),this.value.scale):Object(s.e)(Ye||(Ye=ot([""]))),"moving"==this.value.type?Object(s.e)(Ze||(Ze=ot(['\n <label> <i18n-msg msgid="label.x-axes">X-axes</i18n-msg> </label>\n <input type="number" value-key="x" .value=',' />\n\n <label> <i18n-msg msgid="label.y-axes">Y-axes</i18n-msg> </label>\n <input type="number" value-key="y" .value='," />\n "])),this.value.x,this.value.y):Object(s.e)(Ue||(Ue=ot([""]))),"fade"==this.value.type?Object(s.e)(Le||(Le=ot(['\n <label> <i18n-msg msgid="label.start-alpha">start alpha</i18n-msg> </label>\n <input type="number" value-key="startAlpha" .value=',' />\n\n <label> <i18n-msg msgid="label.end-alpha">end alpha</i18n-msg> </label>\n <input type="number" value-key="endAlpha" .value='," />\n "])),this.value.startAlpha,this.value.endAlpha):Object(s.e)(Qe||(Qe=ot([""]))),"outline"==this.value.type?Object(s.e)(We||(We=ot(['\n <label> <i18n-msg msgid="label.target">target</i18n-msg> </label>\n <input value-key="rideOn" .value=',' list="target-list" />\n <datalist id="target-list">\n ',"\n </datalist>\n "])),this.value.rideOn||"",this.scene.ids.map(e=>e.key).map(e=>Object(s.e)(Ve||(Ve=ot([" <option value=","></option> "])),e))):Object(s.e)(Fe||(Fe=ot([""]))),this.value.repeat,this.value.delta,this.value.ease)}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=rt(rt({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lt(Object(n),!0).forEach((function(t){dt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function dt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
44
- /**
45
- * @license Copyright © HatioLab Inc. All rights reserved.
46
- */customElements.define("property-animation",st);class ut extends s.a{static get properties(){return{value:Object,scene:Object,_expanded:Boolean}}static get styles(){return[B,Object(s.b)(_e||(_e=pt(["\n fieldset[collapsable] legend {\n box-sizing: border-box;\n width: 100%;\n }\n\n fieldset[collapsable] legend mwc-icon {\n float: right;\n font-size: medium;\n margin: 0;\n cursor: pointer;\n }\n\n fieldset[collapsable][collapsed] > :not(legend) {\n display: none;\n }\n "])))]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(Je||(Je=pt(["\n <fieldset collapsable ?collapsed=",'>\n <legend>\n <title-with-help topic="board-modeller/effects/animation" msgid="label.animation">animation</title-with-help>\n <mwc-icon\n @click=',"\n >",'</mwc-icon\n >\n </legend>\n\n <property-animation value-key="oncreate" .scene='," .value=",">\n </property-animation>\n </fieldset>\n "])),!this._expanded,e=>{this._expanded=!this._expanded},this._expanded?"expand_less":"expand_more",this.scene,this.value.oncreate||{})}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=ct(ct({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}function ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ht(Object(n),!0).forEach((function(t){mt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ht(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
47
- /**
48
- * @license Copyright © HatioLab Inc. All rights reserved.
49
- */customElements.define("property-animations",ut);class vt extends s.a{static get properties(){return{value:Object,scene:Object}}static get styles(){return[tt]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){var{action:e,value:t="",target:n="",emphasize:i,restore:r}=this.value;return Object(s.e)(He||(He=gt(['\n <input id="checkbox-emphasize" type="checkbox" value-key="emphasize" .checked=',' />\n <label for="checkbox-emphasize" class="checkbox-label">\n <i18n-msg msgid="label.emphasize">emphasize</i18n-msg>\n </label>\n\n <label> <i18n-msg msgid="label.action">action</i18n-msg> </label>\n <select id="tap-select" value-key="action" .value=','>\n <option value=""></option>\n <option value="popup">popup target board</option>\n <option value="infoWindow">open infowindow</option>\n <option value="data-toggle">toggle(true/false) target component data</option>\n <option value="data-tristate">tristate(0/1/2) target component data</option>\n <option value="data-set">set value to target component data</option>\n <option value="value-set">set value to target component value</option>\n </select>\n\n <label> <i18n-msg msgid="label.target">target</i18n-msg> </label>\n\n ',"\n ",'\n\n <input id="checkbox-restore" type="checkbox" value-key="restore" .checked=',' />\n <label for="checkbox-restore" class="checkbox-label">\n <i18n-msg msgid="label.restore-on-leave">restore on leave</i18n-msg>\n </label>\n '])),i,e||"","popup"==e?Object(s.e)(Xe||(Xe=gt(['\n <things-editor-board-selector\n value-key="target"\n .value=',"\n custom-editor\n ></things-editor-board-selector>\n "])),n):Object(s.e)(qe||(qe=gt(['\n <input\n value-key="target"\n .value=','\n list="target-list"\n .placeholder="','"\n />\n\n <datalist id="target-list">\n ',"\n </datalist>\n "])),n||"",this._getPlaceHoder(e),this._getTargetList(e).map(e=>Object(s.e)(Ke||(Ke=gt([" <option .value=","></option> "])),e))),"data-set"==e||"value-set"==e?Object(s.e)($e||($e=gt(['\n <label> <i18n-msg msgid="label.value">value</i18n-msg> </label>\n <things-editor-data value-key="value" .value='," custom-editor fullwidth></things-editor-data>\n "])),t):Object(s.e)(et||(et=gt([""]))),r)}_getPlaceHoder(e){switch(e){case"popup":case"goto":return"SCENE-100";case"link-open":case"link-move":return"http://www.hatiolab.com/";default:return""}}_getTargetList(e){switch(e){case"data-toggle":case"data-tristate":case"data-set":case"value-set":var t=this.scene&&this.scene.ids.map(e=>"#".concat(e.key))||[];return t.unshift("(self)"),t;case"infoWindow":return this.scene&&this.scene.ids.filter(e=>"info-window"==this.scene.findById(e.key).get("type")).map(e=>"".concat(e.key))||[];default:return[]}}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=bt(bt({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}customElements.define("property-event-hover",vt);var ft,yt,wt,At,xt,Ot,jt,kt,Et,Rt;n(1174);function Mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function St(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mt(Object(n),!0).forEach((function(t){It(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function It(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
50
- /**
51
- * @license Copyright © HatioLab Inc. All rights reserved.
52
- */class zt extends s.a{static get properties(){return{value:Object,scene:Object}}static get styles(){return[tt]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){var{action:e,value:t="",target:n="",pressed:i}=this.value;return Object(s.e)(ft||(ft=Nt(['\n <input id="checkbox-pressed" type="checkbox" value-key="pressed" .checked=',' />\n <label for="checkbox-pressed" class="checkbox-label"> <i18n-msg msgid="label.pressed">pressed</i18n-msg> </label>\n\n <label> <i18n-msg msgid="label.action">action</i18n-msg> </label>\n <select id="tap-select" value-key="action" .value=','>\n <option value=""></option>\n <option value="goto">go to target board</option>\n <option value="link-open">open new window for target link</option>\n <option value="link-move">move to target link</option>\n <option value="route-page">route to page</option>\n <option value="popup">popup target board</option>\n <option value="modal-popup">modal popup target board</option>\n <option value="close-scene">close current board</option>\n <option value="infoWindow">open infowindow</option>\n <option value="toggle-info-window">toggle infowindow</option>\n <option value="data-toggle">toggle(true/false) target component data</option>\n <option value="data-tristate">tristate(0/1/2) target component data</option>\n <option value="data-set">set value to target component data</option>\n <option value="value-set">set value to target component value</option>\n </select>\n\n <label> <i18n-msg msgid="label.target">target</i18n-msg> </label>\n\n ',"\n ","\n "])),i,e||"","goto"==e||"popup"==e?Object(s.e)(yt||(yt=Nt(['\n <things-editor-board-selector\n value-key="target"\n .value=',"\n custom-editor\n ></things-editor-board-selector>\n "])),n):Object(s.e)(wt||(wt=Nt(['\n <input\n value-key="target"\n .value=','\n list="target-list"\n .placeholder="','"\n />\n\n <datalist id="target-list">\n ',"\n </datalist>\n "])),n,this._getPlaceHoder(e),this._getTargetList(e).map(e=>Object(s.e)(At||(At=Nt([" <option .value=","></option> "])),e))),"data-set"==e||"value-set"==e?Object(s.e)(xt||(xt=Nt(['\n <label> <i18n-msg msgid="label.value">value</i18n-msg> </label>\n <things-editor-data value-key="value" .value='," custom-editor fullwidth></things-editor-data>\n "])),t):Object(s.e)(Ot||(Ot=Nt([""]))))}_getPlaceHoder(e){switch(e){case"popup":case"goto":return"SCENE-100";case"link-open":case"link-move":return"http://www.hatiolab.com/";default:return""}}_getTargetList(e){switch(e){case"data-toggle":case"data-tristate":case"data-set":case"value-set":var t=this.scene&&this.scene.ids.map(e=>"#".concat(e.key))||[];return t.unshift("(self)"),t;case"infoWindow":case"toggle-info-window":return this.scene&&this.scene.ids.filter(e=>"info-window"==this.scene.findById(e.key).get("type")).map(e=>"".concat(e.key))||[];default:return[]}}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=St(St({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ct(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}customElements.define("property-event-tap",zt);
53
- /**
54
- * @license Copyright © HatioLab Inc. All rights reserved.
55
- */
56
- class Gt extends s.a{static get properties(){return{value:Object,scene:Object}}static get styles(){return[B]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(jt||(jt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <fieldset>\n <legend>\n <title-with-help msgid="label.hover-event" topic="board-modeller/effects/hover-event"></title-with-help>\n </legend>\n\n <property-event-hover value-key="hover" .scene='," .value=",'>\n </property-event-hover>\n </fieldset>\n\n <fieldset>\n <legend><title-with-help msgid="label.tap-event" topic="board-modeller/effects/tap-event"></title-with-help></legend>\n\n <property-event-tap value-key="tap" .scene='," .value=","> </property-event-tap>\n </fieldset>\n "])),this.scene,this.value.hover||{},this.scene,this.value.tap||{})}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=Tt(Tt({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}function Pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pt(Object(n),!0).forEach((function(t){Yt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Yt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
57
- /**
58
- * @license Copyright © HatioLab Inc. All rights reserved.
59
- */customElements.define("property-event",Gt);class Ut extends s.a{static get properties(){return{value:Object}}static get styles(){return[Object(s.b)(kt||(kt=Zt(["\n :host {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n\n align-self: center;\n }\n\n input[type='number'],\n things-editor-color {\n grid-column: span 7;\n }\n input[type='number'] {\n border: var(--property-sidebar-fieldset-border);\n }\n\n .icon-only-label {\n grid-column: span 3;\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n float: left;\n margin: 0;\n align-self: stretch;\n }\n\n .icon-only-label.color {\n background-position: 100% -500px;\n }\n "])))]}constructor(){super(),this.value={}}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(Et||(Et=Zt(['\n <label> <i18n-msg msgid="label.shadowOffsetX">offset-X</i18n-msg> </label>\n\n <input type="number" value-key="left" .value=',' />\n\n <label> <i18n-msg msgid="label.shadowOffsetY">offset-Y</i18n-msg> </label>\n\n <input type="number" value-key="top" .value=',' />\n\n <label> <i18n-msg msgid="label.shadowSize">Size</i18n-msg> </label>\n\n <input type="number" value-key="blurSize" .value=',' />\n\n <label class="icon-only-label color"></label>\n\n <things-editor-color value-key="color" .value=',"> </things-editor-color>\n "])),this.value.left,this.value.top,this.value.blurSize,this.value.color)}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key");n&&(this.value=Bt(Bt({},this.value),{},{[n]:nt(t)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}customElements.define("property-shadow",Ut);customElements.define("property-effect",
60
- /**
61
- * @license Copyright © HatioLab Inc. All rights reserved.
62
- */
63
- class extends T{static get properties(){return{value:Object,scene:Object}}static get styles(){return[B]}constructor(){super(),this.value={}}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChange.bind(this))}render(){return Object(s.e)(Rt||(Rt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/effects/shadow" msgid="label.shadow">shadow</title-with-help>\n </legend>\n\n <property-shadow value-key="shadow" .value=','> </property-shadow>\n </fieldset>\n\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/effects/retention" msgid="label.retention">retention</title-with-help>\n </legend>\n\n <div class="property-grid">\n <label> <i18n-msg msgid="label.retention">retention</i18n-msg> </label>\n <input type="number" value-key="retention" .value=',' placeholder="ms" />\n </div>\n </fieldset>\n\n <property-animations value-key="animation" .scene='," .value=",'>\n </property-animations>\n\n <property-event value-key="event" .scene='," .value=","> </property-event>\n "])),this.value.shadow||{},this.value.retention,this.scene,this.value.animation||{},this.scene,this.value.event||{})}});n(1114);
64
- /**
65
- * @license Copyright © HatioLab Inc. All rights reserved.
66
- */var Lt,Qt,Wt={legend:"",number:0,angle:0,string:"",password:"",textarea:"",checkbox:!1,select:"",color:"#000000","solidcolor-stops":null,"gradientcolor-stops":null,"gltf-selector":"","image-selector":"",multiplecolor:null,editortable:null,imageselector:"",options:null,date:null};class Vt extends s.a{static get is(){return"specific-properties-builder"}static get properties(){return{value:Object,props:Array,propertyEditor:Object}}constructor(){super(),this.props=[]}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChanged.bind(this))}updated(e){e.has("props")&&this._onPropsChanged(this.props),e.has("value")&&this._setValues()}_onPropsChanged(e){this.renderRoot.textContent="",(e||[]).forEach(e=>{var t=this.propertyEditor[e.type];if(t){var n=document.createElement(t);n.label=e.label,n.type=e.type,n.placeholder=e.placeholder,n.setAttribute("name",e.name),e.observe&&(n.observe=e.observe),n.property=e.property,n.setAttribute("property-editor",!0),this.renderRoot.appendChild(n)}else console.warn("Property Editor not defined",e.type)})}_setValues(){this.value&&Array.from(this.renderRoot.querySelectorAll("[name]")).forEach(e=>{var t=e.getAttribute("name"),n=function(e,t){var n=""==String(t).trim()?void 0:t;switch(e){case"number":case"angle":n=NaN==(n=parseFloat(t))?void 0:n}return n}(e.type,this.value[t]);null==n&&(n=Wt[e.type]),e.value=n,e.observe&&e.observe.call(e,e.value)})}_onValueChanged(e){e.stopPropagation();for(var t=e.target;t&&!t.hasAttribute("property-editor");)t=t.parentNode;if(t&&t.hasAttribute("property-editor")){var n=t.getAttribute("name");this.value[n]=t.value,this._setValues(),this.dispatchEvent(new CustomEvent("property-change",{bubbles:!0,composed:!0,detail:{[n]:t.value}}))}}}function Ft(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
67
- /**
68
- * @license Copyright © HatioLab Inc. All rights reserved.
69
- */customElements.define(Vt.is,Vt);class _t extends s.a{static get is(){return"property-specific"}static get properties(){return{value:Object,scene:Object,selected:Array,props:Array,propertyEditor:Array}}static get styles(){return[B,Object(s.b)(Lt||(Lt=Ft(["\n label {\n display: block;\n margin: 10px;\n\n text-align: right;\n font: bold 14px var(--theme-font);\n color: var(--primary-color);\n text-transform: capitalize;\n }\n #pattern-set paper-button {\n background: url('/assets/images/icon-properties-ipattern.png') no-repeat;\n display: block;\n float: left;\n margin: 0 7px 10px 0 !important;\n width: 55px;\n height: 40px;\n min-width: inherit;\n }\n\n #pattern-set paper-button iron-icon {\n display: none;\n }\n\n #pattern-set paper-button[data-value='+u+s'] {\n background-position: 50% 3px;\n }\n\n #pattern-set paper-button[data-value='+u-s'] {\n background-position: 50% -97px;\n }\n\n #pattern-set paper-button[data-value='-u+s'] {\n background-position: 50% -197px;\n }\n\n #pattern-set paper-button[data-value='-u-s'] {\n background-position: 50% -297px;\n }\n\n #pattern-set paper-button[data-value='+s+u'] {\n background-position: 50% -397px;\n }\n\n #pattern-set paper-button[data-value='+s-u'] {\n background-position: 50% -497px;\n }\n\n #pattern-set paper-button[data-value='-s+u'] {\n background-position: 50% -597px;\n }\n\n #pattern-set paper-button[data-value='-s-u'] {\n background-position: 50% -697px;\n }\n\n #pattern-set paper-button[data-value='cw'] {\n background-position: 50% -797px;\n }\n\n #pattern-set paper-button[data-value='ccw'] {\n background-position: 50% -897px;\n }\n "])))]}constructor(){super(),this.value={},this.selected=[],this.props=[],this.propertyEditor=[],this.boundINeedSelected=this._onINeedSelected.bind(this),this.boundTableCellBorderSet=this._onTableCellBorderSet.bind(this),this.boundActionClick=this._onActionClick.bind(this),this.boundTableCellEvent=this._onTableCellEvent.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("i-need-selected",this.boundINeedSelected),this.addEventListener("table-cell-border-set",this.boundTableCellBorderSet),this.addEventListener("action-editor-clicked",this.boundActionClick),this.addEventListener("table-delete-row",this.boundTableCellEvent),this.addEventListener("table-delete-column",this.boundTableCellEvent),this.addEventListener("table-insert-above",this.boundTableCellEvent),this.addEventListener("table-insert-below",this.boundTableCellEvent),this.addEventListener("table-insert-left",this.boundTableCellEvent),this.addEventListener("table-insert-right",this.boundTableCellEvent),this.addEventListener("table-merge-cells",this.boundTableCellEvent),this.addEventListener("table-split-cells",this.boundTableCellEvent),this.addEventListener("table-distribute-horizontal",this.boundTableCellEvent),this.addEventListener("table-distribute-vertical",this.boundTableCellEvent)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("table-cell-border-set",this.boundTableCellBorderSet),this.removeEventListener("action-editor-clicked",this.boundActionClick),this.removeEventListener("table-delete-row",this.boundTableCellEvent),this.removeEventListener("table-delete-column",this.boundTableCellEvent),this.removeEventListener("table-insert-above",this.boundTableCellEvent),this.removeEventListener("table-insert-below",this.boundTableCellEvent),this.removeEventListener("table-insert-left",this.boundTableCellEvent),this.removeEventListener("table-insert-right",this.boundTableCellEvent),this.removeEventListener("table-merge-cells",this.boundTableCellEvent),this.removeEventListener("table-split-cells",this.boundTableCellEvent),this.removeEventListener("table-distribute-horizontal",this.boundTableCellEvent),this.removeEventListener("table-distribute-vertical",this.boundTableCellEvent)}render(){var e,t=this.selected&&this.selected[0];return Object(s.e)(Qt||(Qt=Ft(["\n <label>","<help-icon .topic=","></help-icon></label>\n\n <specific-properties-builder .value="," .props="," .propertyEditor=",">\n </specific-properties-builder>\n "])),this.value.type,null==t||null===(e=t.nature)||void 0===e?void 0:e.help,this.value,this.props,this.propertyEditor)}_onINeedSelected(e){e.stopPropagation();var{callback:t}=e.detail;t.call(null,this.selected)}_onRackTableCellIncrementSet(e,t){if(this.value){var n=this.selected,{increasingDirection:i,skipNumbering:r,startSection:a,startUnit:o}=t;this.scene.undoableChange((function(){n.increaseLocation(i,r,a,o)}))}}_onTableCellBorderSet(e){if(this.value){var{type:t,borderWidth:n,borderStyle:i,borderColor:r}=e.detail,a=this.selected[0].parent;if(a&&("table"==a.get("type")||"data-list"==a.get("type"))){var o=this.selected;this.scene.undoableChange((function(){a.setCellsStyle(o,{strokeStyle:r,lineDash:i,lineWidth:n},t)}))}}}_onActionClick(e){var t=e.detail;"function"==typeof t&&t(this.selected[0])}_onTableCellEvent(e){var t=this.selected[0].parent;if(t&&t.get("type").match(/table$/)){var n=this;this.scene.undoableChange((function(){switch(e.type){case"table-delete-row":t.deleteRows(n.selected);break;case"table-delete-column":t.deleteColumns(n.selected);break;case"table-insert-above":t.insertCellsAbove(n.selected);break;case"table-insert-below":t.insertCellsBelow(n.selected);break;case"table-insert-left":t.insertCellsLeft(n.selected);break;case"table-insert-right":t.insertCellsRight(n.selected);break;case"table-merge-cells":t.mergeCells(n.selected);break;case"table-split-cells":t.splitCells(n.selected);break;case"table-distribute-horizontal":t.distributeHorizontal(n.selected);break;case"table-distribute-vertical":t.distributeVertical(n.selected)}}))}}}window.customElements.define(_t.is,_t);var Jt,Ht,Xt,qt,Kt,$t,en,tn,nn;n(1051),n(1171),n(1172);function rn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function an(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rn(Object(n),!0).forEach((function(t){on(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function on(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sn(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ln(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
70
- /**
71
- * @license Copyright © HatioLab Inc. All rights reserved.
72
- */class cn extends s.a{static get is(){return"data-binding-mapper"}static get properties(){return{mapping:Object,rule:Object,properties:Array,scene:Object,_valueTypes:Object,_componentIds:Array}}static get styles(){return[Object(s.b)(Jt||(Jt=ln(["\n :host {\n background-color: rgba(255, 255, 255, 0.5);\n overflow: hidden;\n padding: 7px 0 0 0;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-width: 0 1px 1px 1px;\n padding: 4px;\n line-height: 2;\n\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 4px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n :host > * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n }\n\n input,\n select,\n things-editor-buttons-radio,\n [mapping-rule] {\n grid-column: span 7;\n }\n input,\n select {\n border: var(--property-sidebar-fieldset-border);\n }\n\n things-editor-buttons-radio {\n display: flex;\n padding: 0 4px;\n }\n\n things-editor-buttons-radio > * {\n text-align: center;\n flex: 1;\n margin: 2px;\n border-bottom: 2px solid #fff;\n }\n\n things-editor-buttons-radio div[active] {\n border-color: #f2471c;\n }\n\n select {\n height: 22px;\n }\n\n [mapping-rule] {\n display: flex;\n }\n\n [mapping-rule] * {\n flex: auto;\n margin: 0;\n text-align: left;\n align-self: center;\n }\n\n [rule-editors] {\n grid-column: span 10;\n\n display: 'flex';\n align-content: auto;\n }\n\n [rule-editors] :not([active]) {\n display: none;\n }\n\n things-editor-code {\n height: 300px;\n overflow: auto;\n }\n "])))]}constructor(){super(),this.mapping={rule:"value"},this.rule={},this.properties=[],this._valueTypes={play:"boolean",hidden:"boolean",started:"boolean",rotation:"number",value:"number",fillStyle:"color",strokeStyle:"color",fontColor:"color",data:"object",source:"object",location:"object",dimension:"object",text:"string",ref:"string"},this._componentIds=[]}firstUpdated(){this.renderRoot.addEventListener("change",e=>this._onChange(e))}updated(e){e.has("mapping")&&this._onChangedMapping(this.mapping)}render(){return Object(s.e)(Ht||(Ht=ln(['\n <label for="accessor-input"> <i18n-msg msgid="label.accessor">accessor</i18n-msg> </label>\n <input\n id="accessor-input"\n value-key="accessor"\n type="text"\n data-mapping-accessor\n .value=','\n />\n\n <label for="target-input"> <i18n-msg msgid="label.target">target</i18n-msg> </label>\n <input\n id="target-input"\n type="text"\n value-key="target"\n list="target-list"\n .value=',"\n @focusin=",'\n />\n <datalist id="target-list">\n <option value="(self)"></option>\n <option value="(key)"></option>\n ','\n </datalist>\n\n <label for="property-input"> <i18n-msg msgid="label.property">property</i18n-msg> </label>\n <select id="property-input" value-key="property" .value=',">\n ",'\n </select>\n\n <label> <i18n-msg msgid="label.rule-type">rule type</i18n-msg> </label>\n <things-editor-buttons-radio .value='," @change=",'>\n <div data-value="value"><i18n-msg msgid="label.value"></i18n-msg></div>\n <div data-value="map"><i18n-msg msgid="label.map"></i18n-msg></div>\n <div data-value="range"><i18n-msg msgid="label.range"></i18n-msg></div>\n <div data-value="eval"><i18n-msg msgid="label.eval"></i18n-msg></div>\n </things-editor-buttons-radio>\n\n <div rule-editors class="content" ?hidden=','>\n <things-editor-value-map\n value-key="map"\n .value=',"\n .valuetype=","\n ?active=",'\n >\n </things-editor-value-map>\n\n <things-editor-value-range\n value-key="range"\n .value=',"\n .valuetype=","\n ?active=",'\n >\n </things-editor-value-range>\n\n <things-editor-code\n value-key="eval"\n id="eval-editor"\n .value=',"\n ?active=","\n >\n </things-editor-code>\n </div>\n "])),this.mapping.accessor||"",this.mapping.target||"",e=>{this.scene||(this._componentIds=[]),this._componentIds=this.scene.ids.map(e=>e.key).filter(e=>!!e)},this._componentIds.length?Object(s.e)(Xt||(Xt=ln([" "," "])),this._componentIds.map(e=>Object(s.e)(qt||(qt=ln([" <option value=","></option> "])),e))):Object(s.e)(Kt||(Kt=ln([""]))),this.mapping.property,this.properties.map(e=>Object(s.e)($t||($t=ln([" <option .value="," ?selected=",">","</option> "])),e.name,e.name==this.mapping.property,e.label)),this.mapping.rule,e=>this._onChangeRule(e),"value"==this.mapping.rule,this.rule.map||{},this._valuetype(this.mapping.property),"map"==this.mapping.rule,this.rule.range||[],this._valuetype(this.mapping.property),"range"==this.mapping.rule,this.rule.eval||"","eval"==this.mapping.rule)}_valuetype(e){return this._valueTypes[e]||"string"}_onChangedMapping(e){var t,n=this;return(t=function*(){if(n._keep_saved_rule_params)n._keep_saved_rule_params=!1;else{yield n.renderComplete;var e={};if(n.mapping)switch(n.mapping.rule){case"map":e.map=n.mapping.param||{};break;case"range":e.range=n.mapping.param||[];break;case"eval":e.eval=n.mapping.param||"";break;default:n.mapping.rule="value"}n.rule=e,n.requestUpdate()}},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){sn(a,i,r,o,s,"next",e)}function s(e){sn(a,i,r,o,s,"throw",e)}o(void 0)}))})()}_onChangeRule(e){var t,n=e.target.value;switch(n){case"map":t=this.rule.map;break;case"range":t=this.rule.range;break;case"eval":t=this.rule.eval||"";var i=this.renderRoot.querySelector("#eval-editor");t||(i.value="return")}this.mapping=an(an({},this.mapping),{},{rule:n,param:t}),this._keep_saved_rule_params=!0,this.dispatchEvent(new CustomEvent("value-change",{bubbles:!0,composed:!0}))}_onChange(e){var t=e.target,n=t.getAttribute("value-key");if(n){var i=t.value;"target"==n?(i.length>0&&!/^[.#(\[]/.test(i)&&(i="#"+i.trim(),this.renderRoot.querySelector("#target-input").value=i),this.mapping=an(an({},this.mapping),{},{target:i})):"accessor"==n?this.mapping=an(an({},this.mapping),{},{accessor:(i||"").trim()}):"property"==n?this.mapping=an(an({},this.mapping),{},{property:(i||"").trim()}):"map"!=n&&"range"!=n&&"eval"!=n||(this.rule[n]=i,this.mapping=an(an({},this.mapping),{},{param:i})),this.mapping.rule||(this.mapping.rule="value"),this._keep_saved_rule_params=!0,this.dispatchEvent(new CustomEvent("value-change",{bubbles:!0,composed:!0,detail:{changed:{[n]:i}}}))}}}function dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dn(Object(n),!0).forEach((function(t){un(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function un(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hn(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function bn(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){hn(a,i,r,o,s,"next",e)}function s(e){hn(a,i,r,o,s,"throw",e)}o(void 0)}))}}function mn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
73
- /**
74
- * @license Copyright © HatioLab Inc. All rights reserved.
75
- */customElements.define(cn.is,cn);var gn="{}",vn=["","text",["fillStyle","fill style"],["strokeStyle","stroke style"],["fontColor","font color"],"value","data","source","hidden","started","play",["ref","reference"],"options","rotate","scale","translate","dimension","location","accessor"].map(e=>"string"==typeof e?{name:e,label:e}:{name:e[0],label:e[1]});customElements.define("property-data-binding",class extends T{static get is(){return"property-data-binding"}static get properties(){return{scene:Object,value:Object,mappingIndex:Number,_afterRender:Function,_dataExpanded:Boolean}}static get styles(){return[B,Object(s.b)(en||(en=mn(["\n #tab-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n #tab-header > mwc-icon {\n padding: 0;\n margin: 0;\n width: 25px;\n height: 25px;\n font-size: x-large;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n fieldset[collapsable] legend {\n box-sizing: border-box;\n width: 100%;\n }\n\n fieldset[collapsable] legend mwc-icon {\n float: right;\n font-size: medium;\n margin: 0;\n }\n\n fieldset[collapsable][collapsed] > :not(legend) {\n display: none;\n }\n\n paper-tabs {\n flex: 1;\n height: 25px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-width: 1px 1px 0 1px;\n }\n\n paper-tab {\n background-color: rgba(0, 0, 0, 0.2);\n border: 1px solid rgba(0, 0, 0, 0.07);\n border-width: 0 1px 0 0;\n padding: 0 5px;\n color: #fff;\n font-size: 13px;\n max-width: 25px;\n min-width: 25px;\n }\n\n paper-tab[disabled] {\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n paper-tab:last-child {\n border-width: 0;\n }\n\n paper-tab.iron-selected {\n background-color: rgba(255, 255, 255, 0.5);\n color: #585858;\n }\n\n [has-set]::before {\n content: '';\n position: relative;\n left: 3px;\n width: 5px;\n height: 5px;\n display: inline-block;\n border-radius: 50%;\n background-color: #4caf50;\n }\n\n div[binding] {\n display: flex;\n flex-direction: row-reverse;\n background-color: rgba(255, 255, 255, 0.5);\n overflow: hidden;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.2);\n border-image: initial;\n border-width: 0px 1px;\n padding: 7px 5px 2px 5px;\n }\n mwc-icon {\n margin-left: 5px;\n color: var(--secondary-color);\n opacity: 0.8;\n cursor: pointer;\n --mdc-icon-size: 18px;\n }\n mwc-icon:hover {\n color: var(--primary-color);\n opacity: 1;\n }\n\n data-binding-mapper {\n --things-select: {\n min-width: 50%;\n margin-bottom: 10px;\n padding: 3px 20px 2px 5px;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n font-size: 15px;\n font-weight: 300;\n -webkit-appearance: none;\n }\n }\n "])))]}constructor(){super(),this.scene=null,this.value={mappings:[]},this.mapping={},this.mappingIndex=0}get mappings(){return this.value.mappings||[]}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChange.bind(this)),this.tabContainer.addEventListener("scroll",e=>{this._onTabScroll(e)})}updated(e){e.has("value")&&this._onValueChanged(this.value)}render(){return Object(s.e)(tn||(tn=mn(['\n <fieldset>\n <legend>\n <title-with-help topic="board-modeller/data-binding" msgid="label.identifier">identifier</title-with-help>\n </legend>\n <div class="property-grid">\n <label> <i18n-msg msgid="label.id">ID</i18n-msg> </label>\n <input value-key="id" .value=',' />\n\n <label> <i18n-msg msgid="label.class">Class</i18n-msg> </label>\n <input value-key="class" .value=',' />\n\n <label> <i18n-msg msgid="label.template-prefix">Template Prefix</i18n-msg> </label>\n <input value-key="templatePrefix" .value=',' />\n\n <div class="checkbox-row">\n <input id="checkbox-ndns" type="checkbox" value-key="ndns" .checked=',' />\n <label for="checkbox-ndns"> <i18n-msg msgid="label.ndns">No Data No Show</i18n-msg> </label>\n </div>\n\n <div class="checkbox-row">\n <input id="checkbox-sensitive" type="checkbox" value-key="sensitive" .checked=',' />\n <label for="checkbox-sensitive">\n <i18n-msg msgid="label.intent-sensitive">Intent Sensitive</i18n-msg>\n </label>\n </div>\n </div>\n </fieldset>\n\n <fieldset collapsable ?collapsed=','>\n <legend>\n <i18n-msg msgid="label.initial-data">initial value</i18n-msg>\n <mwc-icon\n @click=',"\n >",'</mwc-icon\n >\n </legend>\n <things-editor-data value-key="data" .value=','> </things-editor-data>\n </fieldset>\n\n <fieldset>\n <legend><i18n-msg msgid="label.data-spread">Data Spread</i18n-msg></legend>\n <div id="tab-header">\n <mwc-icon\n id="tab-nav-left-button"\n @click=','\n disabled\n >chevron_left</mwc-icon\n >\n <paper-tabs\n id="tabs"\n @iron-select=',"\n .selected=","\n noink\n no-bar\n scrollable\n hide-scroll-buttons\n fit-container\n >\n ",'\n <paper-tab data-mapping="','">','</paper-tab>\n </paper-tabs>\n <mwc-icon\n id="tab-nav-right-button"\n @click=','\n disabled\n >chevron_right</mwc-icon\n >\n </div>\n\n <div binding>\n <mwc-icon style="font-size:19px" @click=',' title="delete"\n >delete_forever</mwc-icon\n >\n <mwc-icon @click=',' title="past">content_paste</mwc-icon>\n <mwc-icon style="font-size:17px" @click=',' title="copy"\n >content_copy</mwc-icon\n >\n </div>\n\n <data-binding-mapper\n @value-change=',"\n .scene=","\n .mapping=","\n .properties=","\n >\n </data-binding-mapper>\n </fieldset>\n "])),this.value.id||"",this.value.class||"",this.value.templatePrefix||"",this.value.ndns,this.value.sensitive,!this._dataExpanded,e=>{this._dataExpanded=!this._dataExpanded},this._dataExpanded?"expand_less":"expand_more",this.value.data,e=>{this._onTabScrollNavLeft(e)},e=>this._setMappingIndex(e.target.selected),this.mappingIndex,this.mappings.map((e,t)=>Object(s.e)(nn||(nn=mn([' <paper-tab data-mapping="','">',"</paper-tab> "])),t+1,t+1)),this.mappings.length+1,this.mappings.length+1,e=>{this._onTabScrollNavRight(e)},e=>this._clearDataBindingMapper(),e=>this._pasteDataBindingMapper(),e=>this._copyDataBindingMapper(),e=>this._onMappingChanged(e),this.scene,this.value.mappings&&this.value.mappings[this.mappingIndex]||{},vn)}_resetMappingTabs(){var e=this.value.mappings||[];Array.from(this.renderRoot.querySelectorAll("paper-tab[data-mapping]")).map((t,n)=>{e[n]?(t.active=!0,t.setAttribute("has-set",!0),n):(t.active=!1,t.removeAttribute("has-set"))}),this._onTabScroll()}_setMappingIndex(e){this.mappingIndex=isNaN(Number(e))?0:Number(e),this._resetMappingTabs()}_clearDataBindingMapper(){var e=[...this.value.mappings||[]];e.splice(this.mappingIndex,1),this._onAfterValueChange("mappings",e.filter(e=>!!e))}_copyDataBindingMapper(){gn=JSON.stringify(this.mappings[this.mappingIndex])}_pasteDataBindingMapper(){var e=this;return bn((function*(){var t=e.mappingIndex,n=[...e.value.mappings||[]];n[e.mappingIndex]=JSON.parse(gn),e._onAfterValueChange("mappings",n),setTimeout(()=>{e._setMappingIndex(t)},100)}))()}_onValueChanged(e){var t=this;return bn((function*(){yield t.renderComplete,t._afterRender?t._afterRender():t._setMappingIndex(0),t._afterRender=null}))()}_onValueChange(e){var t=e.target,n=t.getAttribute("value-key"),i=this._getValueFromEventTarget(t);n&&(this.value=pn(pn({},this.value),{},{[n]:i}),this._onAfterValueChange(n,i))}get tabContainer(){return this.renderRoot.querySelector("#tabs").shadowRoot.querySelector("#tabsContainer")}_onMappingChanged(e){var t=this;return bn((function*(){var n=e.target.mapping;n&&n.target&&t.scene&&t.scene.findAll(n.target,t.scene.selected&&t.scene.selected[0]).forEach((e,t)=>{0==t&&e.trigger("tagreset"),e.trigger("tag",{})});var i=[...t.value.mappings||[]];if(n.target&&n.property&&n.rule){i[t.mappingIndex]=n;var r=t.mappingIndex;t._afterRender=()=>{t._setMappingIndex(r),t.tabContainer.scrollLeft=t.tabContainer.scrollWidth},t.dispatchEvent(new CustomEvent("property-change",{bubbles:!0,composed:!0,detail:{mappings:i.filter(e=>!!e)}})),yield t.requestUpdate()}else if(!n.target&&!n.property&&e.detail&&e.detail.changed&&!e.detail.changed.accessor){i[t.mappingIndex]=null;var a=Math.max(t.mappingIndex-1,0);t._afterRender=()=>{t._setMappingIndex(a)},t.dispatchEvent(new CustomEvent("property-change",{bubbles:!0,composed:!0,detail:{mappings:i.filter(e=>!!e)}}))}}))()}_onTabScroll(e){var t=this.renderRoot.querySelector("#tab-nav-left-button"),n=this.renderRoot.querySelector("#tab-nav-right-button");this.tabContainer.clientWidth==this.tabContainer.scrollWidth?(t.disabled=!0,n.disabled=!0):0==this.tabContainer.scrollLeft?(t.disabled=!0,n.disabled=!1):this.tabContainer.scrollLeft+this.tabContainer.clientWidth>=this.tabContainer.scrollWidth?(t.disabled=!1,n.disabled=!0):(t.disabled=!1,n.disabled=!1)}_onTabScrollNavLeft(e){this.tabContainer.style.scrollBehavior="smooth",this.tabContainer.scrollLeft-=this.tabContainer.clientWidth,this.tabContainer.style.scrollBehavior="auto"}_onTabScrollNavRight(e){this.tabContainer.style.scrollBehavior="smooth",this.tabContainer.scrollLeft+=this.tabContainer.clientWidth,this.tabContainer.style.scrollBehavior="auto"}});var fn,yn,wn,An,xn,On,jn,kn,En,Rn,Mn,Sn,In,Nn,zn,Dn,Tn,Cn,Gn,Pn,Bn=n(1311);function Yn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Zn extends s.a{constructor(){var e,t,n;super(),e=this,t="sortableConfig",n={group:"inspector",animation:150,draggable:".component",swapThreshold:1,onSort:this.onSort.bind(this)},t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}static get properties(){return{scene:Object}}static get styles(){return[Object(s.b)(fn||(fn=Yn(["\n :host {\n color: var(--scene-inspector-color);\n }\n\n .component {\n display: block;\n overflow: hidden;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n font-size: 14px;\n }\n\n .component[selected] {\n background-color: var(--scene-inspector-selected-background-color);\n border-top: var(--scene-inspector-selected-border);\n border-bottom: var(--scene-inspector-selected-border);\n }\n [selected] .type {\n font-weight: bold;\n }\n\n span,\n i {\n display: inline-block;\n }\n\n span.type {\n text-overflow: ellipses;\n }\n\n span.name {\n background-color: var(--scene-inspector-name-background-color);\n border-radius: var(--border-radius);\n padding: 0 4px;\n color: #fff;\n font-size: 0.8em;\n }\n\n .eye {\n margin: 0 0 0 5px;\n vertical-align: middle;\n opacity: 0.7;\n font-size: 1.1em;\n color: var(--scene-inspector-eye-icon-color);\n }\n\n .collapsed::before,\n .extended::before,\n .collapsespace::before {\n background: url(/assets/images/icon-shell-inspector.png) no-repeat;\n width: 16px;\n height: 18px;\n display: inline-block;\n content: '';\n opacity: 0.6;\n }\n\n .collapsed::before {\n background-position: 100% -195px;\n }\n\n .extended::before {\n background-position: 100% -295px;\n }\n\n .collapsespace::before {\n background-position: 100% -395px;\n opacity: 0.9;\n width: 16px;\n }\n .collapsed,\n .extended,\n .collapsespace {\n border-left: 1px dotted rgba(0, 0, 0, 0.1);\n }\n\n pre {\n display: inline;\n }\n "])))]}render(){return Object(s.e)(yn||(yn=Yn(["\n ","\n "])),this.scene?this.renderComponent(this.scene.root,0):Object(s.e)(wn||(wn=Yn([""]))))}firstUpdated(){dispatchEvent(new Event("resize")),this.shadowRoot.addEventListener("click",this.onclick.bind(this)),this.shadowRoot.addEventListener("dblclick",this.ondblclick.bind(this))}updated(e){if(e.has("scene")){var t=e.get("scene");t&&(t.off("selected"),t.off("execute"),t.off("undo"),t.off("redo"),delete this.extendedMap),this.scene&&this.scene.root&&(this.extendedMap.set(this.scene.root,!0),this.scene.on("selected",(e,t)=>{e.forEach(e=>{for(var t=e.parent;t&&!this.extendedMap.get(t);)this.extendedMap.set(t,!0),t=t.parent}),this.requestUpdate()}),this.scene.on("execute",(e,t)=>{this.requestUpdate()}),this.scene.on("undo",(e,t)=>{this.extendedMap.set(this.scene.root,!0),this.requestUpdate()}),this.scene.on("redo",(e,t)=>{this.extendedMap.set(this.scene.root,!0),this.requestUpdate()}))}this.updateComplete.then(()=>{this.shadowRoot.querySelectorAll("[sortable]").forEach(e=>{new Bn.a(e,this.sortableConfig)})})}onSort(e){if(this.scene){var t=e.item.component,n=e.to.component,i=e.newIndex-1;this.scene.move(t,n,i),this.show=!1,this.updateComplete.then(()=>{this.show=!0})}}disconnectedCallback(){super.disconnectedCallback(),delete this.scene,delete this._extendedMap}onclick(e){e.stopPropagation();for(var t,n=e.target,i=n.classList;!t&&n&&!(t=n.component)&&(n=n.parentNode)&&n!==this.shadowRoot;);t?(i.contains("eye")?this.toggleHidden(t):(i.contains("extended")||i.contains("collapsed"))&&this.toggleExtended(t),this.selectComponent(t)):i.contains("inspector")&&(this.show=!this.show,this.style.height=this.show?"100%":""),this.requestUpdate()}ondblclick(e){e.stopPropagation();for(var t,n=e.target;!t&&n&&!(t=n.component)&&(n=n.parentNode)&&n!==this.shadowRoot;);t&&t.isContainer()&&this.toggleExtended(t),this.requestUpdate()}get extendedMap(){return this._extendedMap||(this._extendedMap=new WeakMap),this._extendedMap}getNodeHandleClass(e){return e.isContainer()&&e.components.length>0?this.extendedMap.get(e)?"extended":"collapsed":"collapsespace"}isExtended(e){return!!this.extendedMap.get(e)}toggleExtended(e){var t=this.isExtended(e);t?this.extendedMap.delete(e):this.extendedMap.set(e,!t),this.requestUpdate()}toggleHidden(e){e.set("hidden",!e.hidden),this.requestUpdate()}selectComponent(e){this.scene.selected=[e],this.requestUpdate()}renderComponent(e,t){if(!e)return Object(s.e)(An||(An=Yn([""])));var n=e.components||[],i=this.isExtended(e)?n:[];return Object(s.e)(xn||(xn=Yn(['\n <div\n class="component"\n ?selected=',"\n .component=","\n ?sortable=","\n >\n <span>\n ","\n\n <span class=",'> </span>\n\n <span class="type">',"</span> ","\n </span>\n\n ","\n </div>\n "])),(this.scene.selected||[]).indexOf(e)>-1,e,e.isContainer(),t>0?Object(s.e)(On||(On=Yn(['\n <mwc-icon class="eye">',"</mwc-icon>\n <pre>","</pre>\n "])),e.get("hidden")?"visibility_off":"visibility"," ".repeat(t)):Object(s.e)(jn||(jn=Yn(["\n <pre>","</pre>\n "]))," ".repeat(t+2)),this.getNodeHandleClass(e),0==t?"ROOT":e.get("type"),e.get("id")?Object(s.e)(kn||(kn=Yn(['\n <span class="name">#',"</span>\n "])),e.get("id")):Object(s.e)(En||(En=Yn([""]))),i.map(e=>this.renderComponent(e,t+1)))}}function Un(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ln(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Un(a,i,r,o,s,"next",e)}function s(e){Un(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Qn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qn(Object(n),!0).forEach((function(t){Fn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Fn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
76
- /**
77
- * @license Copyright © HatioLab Inc. All rights reserved.
78
- */customElements.define("scene-inspector",Zn);class _n extends s.a{constructor(){super(),Fn(this,"propertyTarget",null),this.scene=null,this.bounds={},this.model={},this.selected=[],this.specificProps=[],this.tabIndex="shape",this.collapsed=!1,this.fonts=[],this.propertyEditor=[]}static get properties(){return{scene:Object,bounds:Object,model:Object,selected:Array,specificProps:Array,tabIndex:String,collapsed:Boolean,fonts:Array,propertyEditor:Array}}static get styles(){return[O.c,Object(s.b)(Rn||(Rn=Vn(["\n :host {\n border-left: 1px solid var(--paper-blue-grey-100);\n width: 270px;\n display: flex;\n flex-direction: column;\n background-color: var(--property-sidebar-background-color);\n user-select: none;\n }\n\n [tab] {\n display: flex;\n background-color: rgba(0, 0, 0, 0.08);\n opacity: 0.85;\n }\n\n [tab] mwc-icon {\n flex: 1;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n color: var(--property-sidebar-tab-icon-color);\n height: 40px;\n }\n\n [tab] [selected] {\n background-color: var(--property-sidebar-background-color);\n border-left: 1px solid rgba(255, 255, 255, 0.5);\n border-right: 1px solid rgba(0, 0, 0, 0.15);\n opacity: 1;\n }\n\n [content] {\n flex: 1;\n\n overflow: hidden;\n overflow-y: auto;\n }\n\n [content] > :not([active]) {\n display: none;\n }\n "])))]}firstUpdated(){this.shadowRoot.addEventListener("property-change",this._onPropertyChanged.bind(this)),this.shadowRoot.addEventListener("bounds-change",this._onBoundsChanged.bind(this))}updated(e){e.has("scene")&&this._onSceneChanged(this.scene),e.has("selected")&&this._onSelectedChanged(this.selected),e.has("collapsed")&&this._onCollapsed(this.collapsed)}render(){var e=this.tabIndex?this.tabIndex:"shape";return Object(s.e)(Mn||(Mn=Vn(["\n <div\n tab\n @click=",'\n >\n <mwc-icon name="shape" ?selected=','>format_shapes</mwc-icon>\n <mwc-icon name="style" ?selected=','>palette</mwc-icon>\n <mwc-icon name="effect" ?selected=','>movie_filter</mwc-icon>\n <mwc-icon name="specific" ?selected=','>tune</mwc-icon>\n <mwc-icon name="data-binding" ?selected=','>share</mwc-icon>\n <mwc-icon name="inspector" ?selected=',">visibility</mwc-icon>\n </div>\n\n <div content>\n ","\n </div>\n "])),e=>{this.tabIndex=e.target.getAttribute("name")},"shape"==e,"style"==e,"effect"==e,"specific"==e,"data-binding"==e,"inspector"==e,Object(s.e)(Sn||(Sn=Vn(["\n ","\n "])),{shape:Object(s.e)(In||(In=Vn(["\n <property-shape\n .value=","\n .bounds=","\n .selected=","\n ?active=","\n >\n </property-shape>\n "])),this.model,this.bounds,this.selected,"shape"==e),style:Object(s.e)(Nn||(Nn=Vn(["\n <property-style\n .value=","\n .selected=","\n .fonts=","\n ?active=","\n >\n </property-style>\n "])),this.model,this.selected,this.fonts,"style"==e),effect:Object(s.e)(zn||(zn=Vn(["\n <property-effect .value="," .scene="," ?active=",">\n </property-effect>\n "])),this.model,this.scene,"effect"==e),specific:Object(s.e)(Dn||(Dn=Vn(["\n <property-specific\n .value=","\n .scene=","\n .selected=","\n .props=","\n .propertyEditor=","\n ?active=","\n >\n </property-specific>\n "])),this.model,this.scene,this.selected,this.specificProps,this.propertyEditor,"specific"==e),"data-binding":Object(s.e)(Tn||(Tn=Vn(["\n <property-data-binding .scene="," .value="," ?active=",">\n </property-data-binding>\n "])),this.scene,this.model,"data-binding"==e),inspector:Object(s.e)(Cn||(Cn=Vn(["\n <scene-inspector .scene="," ?active=","></scene-inspector>\n "])),this.scene,"inspector"==e)}[this.tabIndex]))}_onPropertyChanged(e){var t=e.detail;this.propertyTarget?this.scene&&this.scene.undoableChange(()=>this.propertyTarget.set(t)):this.scene&&this.scene.undoableChange(()=>this.selected.forEach(e=>e.set(t)))}_onBoundsChanged(e){var t=e.detail;this.propertyTarget?this.scene.undoableChange(()=>{this.propertyTarget.bounds=Wn(Wn({},this.propertyTarget.bounds),t)}):this.scene.undoableChange(()=>{this.selected.forEach(e=>{e.bounds=Wn(Wn({},e.bounds),t)})})}_onChangedByScene(e,t){this.propertyTarget&&(this.model=Wn({},this.propertyTarget.model))}_setPropertyTargetAsDefault(){this.scene?this.scene.select("model-layer"):(this._setPropertyTarget(null),this.specificProps=[],this.model={},this.bounds={})}_onCollapsed(e){!e&&(this.style.display=""),this.animate(e?[{transform:"translateX(0)",opacity:1,easing:"ease-in"},{transform:"translateX(100%)",opacity:1}]:[{transform:"translateX(100%)",opacity:1},{transform:"translateX(0)",opacity:1,easing:"ease-out"}],{duration:500}).onfinish=()=>{e&&(this.style.display="none"),dispatchEvent(new Event("resize"))}}_onSceneChanged(){var e=this;return Ln((function*(){yield e.renderComplete,e.scene&&(e.selected=e.scene.select("model-layer"))}))()}_onSelectedChanged(e,t){var n=this;return Ln((function*(){if(yield n.renderComplete,1==e.length)n._setPropertyTarget(e[0]),n.specificProps=Object(x.b)(n.propertyTarget.nature.properties),n.model=Wn({},n.propertyTarget.model),n._setBounds(n.propertyTarget.bounds);else if(0==e.length)n._setPropertyTargetAsDefault();else{for(var t=e[0].model.type,i=1;i<e.length;i++)if(e[i].model.type!=t){t=void 0;break}n._setPropertyTarget(null),n.specificProps=t?Object(x.b)(e[0].nature.properties):null,n.model={type:t,alpha:1},n.bounds={}}}))()}_setPropertyTarget(e){var t=this.propertyTarget;t&&t.off("change",this._onChangedByScene,this),e&&e.on("change",this._onChangedByScene,this),this.propertyTarget=e}_setBounds(e){this.bounds={left:e.left,top:e.top,width:Math.round(e.width),height:Math.round(e.height)}}}function Jn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("property-sidebar",_n);class Hn extends s.a{constructor(){super(),this.boardName="",this.model=null,this.baseUrl="",this.selected=[],this.mode=1,this.provider=null,this.hideProperty=!1,this.overlay=null,this.scene=null,this.componentGroupList=[],this.fonts=[],this.propertyEditor=[],document.addEventListener("get-all-scene-component-ids",e=>{var{component:t,callback:n}=e.detail;this.scene&&n((t?this.scene.findAll(t).map(e=>e.model.id):this.scene.ids.map(({key:e,value:t})=>e)).filter(e=>!!e).sort())})}static get properties(){return{boardName:String,model:Object,baseUrl:String,selected:Array,mode:Number,provider:Object,hideProperty:Boolean,overlay:String,scene:Object,componentGroupList:Array,fonts:Array,propertyEditor:Array}}static get styles(){return[Object(s.b)(Gn||(Gn=Jn(["\n :host {\n display: flex;\n flex-direction: row;\n height: 100%;\n overflow: hidden;\n }\n\n #scene-wrap {\n flex: 1;\n position: relative;\n\n display: flex;\n flex-direction: row;\n }\n\n things-scene-viewer {\n flex: 1;\n width: 100%;\n height: 100%;\n }\n\n mwc-fab {\n position: absolute;\n right: 15px;\n bottom: 15px;\n }\n "])))]}render(){return Object(s.e)(Pn||(Pn=Jn(["\n <component-toolbar\n .scene=","\n .mode=","\n @mode-changed=","\n .componentGroupList=","\n .group=",'\n >\n </component-toolbar>\n\n <div id="scene-wrap">\n <things-scene-viewer\n id="scene"\n .scene=',"\n @scene-changed=","\n .model=","\n .selected=","\n @selected-changed=","\n .mode=","\n @mode-changed=",'\n fit="ratio"\n .baseUrl=',"\n @contextmenu=","\n .provider=",'\n name="modeller"\n >\n <things-scene-layer type="selection-layer"></things-scene-layer>\n <things-scene-layer type="modeling-layer"></things-scene-layer>\n <things-scene-layer type="guide-layer">\n <things-scene-property name="ruler" value="disabled"></things-scene-property>\n </things-scene-layer>\n <things-scene-layer type="shift-layer">\n <things-scene-property name="text" value="','"></things-scene-property>\n <things-scene-property name="alpha" value="0.3"></things-scene-property>\n <things-scene-property name="fontFamily" value="arial"></things-scene-property>\n <things-scene-property name="fontSize" value="30" type="number"></things-scene-property>\n <things-scene-property name="fontColor" value="navy"></things-scene-property>\n <things-scene-property name="textBaseline" value="top"></things-scene-property>\n <things-scene-property name="textAlign" value="left"></things-scene-property>\n <things-scene-property name="paddingTop" value="50" type="number"></things-scene-property>\n <things-scene-property name="paddingLeft" value="50" type="number"></things-scene-property>\n </things-scene-layer>\n <things-scene-layer type="tag-layer"></things-scene-layer>\n <things-scene-handler type="text-editor"></things-scene-handler>\n <things-scene-handler type="move-handler"></things-scene-handler>\n </things-scene-viewer>\n\n <mwc-fab icon="save" @click=',' title="save"> </mwc-fab>\n </div>\n\n <property-sidebar\n .scene=',"\n .selected=","\n .collapsed=","\n .fonts=","\n .propertyEditor=","\n >\n </property-sidebar>\n "])),this.scene,this.mode,e=>{this.mode=e.detail.value},this.componentGroupList,this.group,this.scene,e=>{this.scene=e.detail.value},this.model,this.selected,e=>{this.selected=e.detail.value},this.mode,e=>{this.mode=e.detail.value},this.baseUrl,e=>this.onContextMenu(e),this.provider,this.overlay,e=>this.onTapSave(e),this.scene,this.selected,this.hideProperty,this.fonts,this.propertyEditor)}close(){this.model=null,this.requestUpdate()}get modellingContainer(){return this.renderRoot.getElementById("scene-wrap")}onShortcut(e,t){if(t)var n=e.metaKey;else n=e.ctrlKey;switch(e.code){case"KeyS":n&&(this.onTapSave(),e.preventDefault())}}preview(){var e;this.previewModel=null!==(e=this.scene)&&void 0!==e&&e.model?JSON.parse(JSON.stringify(this.scene.model)):null;var t=document.createElement("board-viewer");t.style.width="100%",t.style.height="100%",t.style.margin="0",t.style.padding="0",t.style.flex=1,t.provider=this.provider,t.board={id:"preview",model:this.previewModel},t.baseUrl=this.baseUrl;var n=document.createElement("paper-dialog");n.style.width="100%",n.style.height="100%",n.style.display="flex",n.style["flex-direction"]="column",n.setAttribute("with-backdrop",!0),n.setAttribute("auto-fit-on-attach",!0),n.setAttribute("always-on-top",!0),n.addEventListener("iron-overlay-closed",()=>{t.board=null,n.parentNode.removeChild(n)}),n.appendChild(t),document.body.appendChild(n),n.open(),requestAnimationFrame(()=>{dispatchEvent(new Event("resize"))})}onTapSave(){this.dispatchEvent(new CustomEvent("save-model",{bubbles:!0,composed:!0,detail:{model:this.model}}))}onContextMenu(){}}customElements.define("board-modeller",Hn)},1114:function(e,t,n){"use strict";n.d(t,"a",(function(){return De}));n(8);var i,r,a=n(29),o=n(0);n(985);function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
79
- /**
80
- * @license Copyright © HatioLab Inc. All rights reserved.
81
- */class l extends o.a{static get is(){return"things-editor-range-input"}static get properties(){return{value:Number,step:Number,min:Number,max:Number}}static get styles(){return[Object(o.b)(i||(i=s(["\n :host {\n font-size: 16px;\n display: flex;\n align-items: center;\n padding: 1px 0;\n\n width: 100%;\n user-select: text;\n }\n\n input[type='number'] {\n width: 48px;\n overflow: hidden;\n }\n\n input[type='number'] {\n color: black;\n border: none;\n font-weight: 300;\n background: white;\n padding: 1px 2px;\n }\n\n input[type='range'] {\n -webkit-appearance: none;\n border: none;\n outline: none;\n width: 100%;\n flex: 1;\n height: 16px;\n background-color: transparent;\n }\n input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 1px;\n background: black;\n border: none;\n border-radius: 5px;\n }\n input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background: black;\n margin-top: -5px;\n }\n input[type='range']:focus {\n outline: none;\n }\n input[type='range']:focus::-webkit-slider-runnable-track {\n background: black;\n }\n\n input[type='range']::-moz-range-track {\n width: 100%;\n height: 1px;\n background: black;\n border: none;\n border-radius: 5px;\n }\n input[type='range']::-moz-range-thumb {\n border: none;\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background: black;\n }\n\n input[type='range']:-moz-focusring {\n outline: 1px solid black;\n outline-offset: -1px;\n }\n\n input[type='range']::-ms-track {\n width: 100%;\n height: 1px;\n background: black;\n border-radius: 10px;\n color: transparent;\n border: none;\n outline: none;\n }\n input[type='range']::-ms-thumb {\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background: black;\n border: none;\n outline: none;\n margin-top: 2px;\n }\n\n input:focus {\n outline: none;\n opacity: 1;\n }\n "])))]}constructor(){super(),this.step=1,this.min=-100,this.max=100,this.value=0}render(){return Object(o.e)(r||(r=s(['\n <input\n type="range"\n .value=',"\n .step=","\n .min=","\n .max=","\n @input=",'\n />\n\n <input\n type="number"\n .value=',"\n .step=","\n .min=","\n .max=","\n @change=","\n />\n "])),this.value,this.step,this.min,this.max,e=>{e.stopPropagation(),this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))},this.value,this.step,this.min,this.max,e=>{e.stopPropagation(),this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))})}}customElements.define(l.is,l);n(1051);var c,d,p,u=n(1227),h=n(133),b=n(1052),m=n.n(b),g=n(1053),v=n.n(g),f=n(1300),y=n.n(f),w=n(1301),A=n.n(w),x=n(1054),O=n.n(x),j=n(945),k=n.n(j),E=(n(1055),n(1056),n(1302),n(1303),n(1304),n(1306),n(1307),n(35));function R(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function M(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){R(a,i,r,o,s,"next",e)}function s(e){R(a,i,r,o,s,"throw",e)}o(void 0)}))}}function S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
82
- /**
83
- * @license Copyright © HatioLab Inc. All rights reserved.
84
- */class I extends o.a{static get is(){return"things-editor-graphql"}static get properties(){return{value:String,link:String}}static get styles(){return[Object(o.b)(c||(c=S(["\n ","\n ","\n ","\n ","\n ","\n "])),Object(o.k)(m.a),Object(o.k)(v.a),Object(o.k)(O.a),Object(o.k)(y.a),Object(o.k)(A.a)),Object(o.b)(d||(d=S(["\n :host {\n display: block;\n position: relative;\n }\n\n textarea {\n display: block;\n height: 100%;\n width: 100%;\n resize: none;\n font-size: 16px;\n line-height: 20px;\n border: 0px;\n padding: 0px;\n }\n "])))]}updated(e){var t=this;return M((function*(){t._outside_changing=!0,t._editor&&!e.has("value")&&!e.has("link")||t._self_changing||(e.has("link")&&(t._editor=null),(yield t.getEditor()).setValue(void 0===t.value?"":String(t.value))),t._outside_changing=!1}))()}render(){return Object(o.e)(p||(p=S([" <textarea></textarea> "])))}getEditor(){var e=this;return M((function*(){if(!e._editor){var t=e.link?Object(h.b)({uri:e.link}):E.client.link,n=yield Object(u.introspectSchema)(t),i=e.shadowRoot.querySelector("textarea");i&&(e._editor=k.a.fromTextArea(i,{value:e.value,mode:"graphql",lint:{schema:n},hintOptions:{schema:n},tabSize:2,lineNumbers:!1,showCursorWhenSelecting:!0,theme:"night",extraKeys:{F11:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))}},autoRefresh:{delay:500}}),e._editor.on("blur",t=>{e._changed&&(e.value=t.getValue(),e.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}),e._editor.on("change",function(){var t=M((function*(t){e._self_changing=!0,e._changed=!0,yield e.renderComplete,e._self_changing=!1}));return function(e){return t.apply(this,arguments)}}()))}return e._editor}))()}}customElements.define(I.is,I);var N,z,D,T,C,G,P,B,Y,Z,U;n(1308),n(964),n(1170);function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
85
- /**
86
- * @license Copyright © HatioLab Inc. All rights reserved.
87
- */class Q extends o.a{static get is(){return"things-editor-id"}static get properties(){return{value:String,property:Object,_ids:Array}}static get styles(){return[Object(o.b)(N||(N=L(["\n :host {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n }\n\n input {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n "])))]}render(){return Object(o.e)(z||(z=L(['\n <input\n id="text"\n type="text"\n .value=',"\n @focusin=","\n @change=","\n .placeholder=",'\n list="ids"\n />\n <datalist id="ids">\n ',"\n </datalist>\n "])),this.value||"",e=>this._onInputFocused(e),e=>this._onInputChanged(e),this.getAttribute("placeholder")||"",this._ids.map(e=>Object(o.e)(D||(D=L([" <option value=","></option> "])),e)))}connectedCallback(){super.connectedCallback(),this._ids=[]}_onInputFocused(e){this._ids=[];var{component:t}=this.property||{};document.dispatchEvent(new CustomEvent("get-all-scene-component-ids",{detail:{component:t,callback:e=>{this._ids=e}}}))}_onInputChanged(e){e.stopPropagation(),this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}function W(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
88
- /**
89
- * @license Copyright © HatioLab Inc. All rights reserved.
90
- */customElements.define(Q.is,Q);class V extends o.a{static get is(){return"things-editor-multiple-color"}static get properties(){return{values:Array}}static get styles(){return[Object(o.b)(T||(T=W(["\n :host {\n display: inline-block;\n }\n\n #colors-container > div {\n display: grid;\n grid-template-columns: 22px 1fr 22px;\n grid-gap: 5px;\n align-items: center;\n justify-content: left;\n }\n\n things-editor-color {\n height: 25px;\n width: 100%;\n }\n\n input[type='button'] {\n width: 22px;\n height: 25px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n padding-top: 0px;\n padding-bottom: 2px;\n background-color: #f1f2f4;\n color: #8f9192;\n font-size: 16px;\n }\n "])))]}constructor(){super(),this.values=[]}firstUpdated(){this.shadowRoot.addEventListener("change",this._onValueChanged.bind(this))}render(){return Object(o.e)(C||(C=W(['\n <div id="colors-container">\n ',"\n </div>\n "])),(this.values||[]).map((e,t)=>Object(o.e)(G||(G=W(['\n <div>\n <input type="button" value="+" @click="','" data-index='," />\n\n <things-editor-color .value=","> </things-editor-color>\n\n ","\n </div>\n "])),e=>this._appendEditorColor(e),t,e,(this.values||[]).length>1?Object(o.e)(P||(P=W(['\n <input type="button" value="-" @click='," data-index="," />\n "])),e=>this._removeEditorColor(e),t):Object(o.e)(B||(B=W([""]))))))}_onValueChanged(e){this.values=this._getheringValues()}_appendEditorColor(e){this.values=[...this.values,"black"],this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_removeEditorColor(e){for(var t=[],n=0;n<this.values.length;n++)n!=e.target.dataset.index&&t.push(this.values[n]);this.values=t,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_getheringValues(){var e=this.shadowRoot.querySelector("#colors-container"),t=[];return Array.from(e.querySelectorAll("things-editor-color")).forEach(e=>{t.push(e.value)}),t}}function F(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
91
- /**
92
- * @license Copyright © HatioLab Inc. All rights reserved.
93
- */customElements.define(V.is,V);class _ extends o.a{static get is(){return"things-editor-options"}static get properties(){return{options:Array}}static get styles(){return[Object(o.b)(Y||(Y=F(["\n div {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n }\n\n input[data-text] {\n grid-column: span 5;\n }\n\n input[data-value] {\n grid-column: span 4;\n }\n\n button {\n grid-column: span 1;\n }\n "])))]}constructor(){super(),this.options=[]}firstUpdated(){this.shadowRoot.addEventListener("change",this._onChange.bind(this))}render(){return Object(o.e)(Z||(Z=F(["\n ",'\n\n <div data-record-new="">\n <input type="text" data-text="" placeholder="text" value="" />\n <input type="text" data-value="" placeholder="value" value="" @change=',' />\n <button class="record-action" @click=',' tabindex="-1">+</button>\n </div>\n '])),(this.options||[]).map(e=>Object(o.e)(U||(U=F(['\n <div data-record="">\n <input type="text" data-text="" placeholder="text" .value=',' />\n <input type="text" data-value="" placeholder="value" .value=',' />\n <button class="record-action" @click=',' tabindex="-1">-</button>\n </div>\n '])),e.text,e.value,e=>this._delete(e))),e=>this._add(e),e=>this._add(e))}_onChange(e){if(!this._changingNow){this._changingNow=!0;var t=e.target,n=t.value,i=t.parentElement;if(i.hasAttribute("data-record"))for(var r=i.querySelectorAll("[data-value]:not([hidden])"),a=0;a<r.length;a++)r[a]!==t&&(r[a].value=n||"");i.hasAttribute("data-record")?this._build(!0):i.hasAttribute("data-record-new")&&t.hasAttribute("data-value")&&this._add(),e.stopPropagation(),this._changingNow=!1}}_build(e){if(e)var t=this.shadowRoot.querySelectorAll("[data-record],[data-record-new]");else t=this.shadowRoot.querySelectorAll("[data-record]");for(var n=[],i=0;i<t.length;i++){var r=t[i],a=r.querySelector("[data-text]").value,o=r.querySelectorAll('[data-value]:not([style*="display: none"])');if(o&&0!=o.length){var s=o[o.length-1].value;a&&n.push({text:a,value:s||a})}}this.options=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_sort(e){this.options=this._toArray(this.options).sort((function(e,t){return t.text<e.text})).reduce((function(e,t){return e[t.text]=t.value,e}),{}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_add(e){this._build(!0);for(var t=this.shadowRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])'),n=0;n<t.length;n++){t[n].value=""}t[0].focus()}_delete(e){e.target.parentElement.querySelector("[data-text]").value="",this._build()}}customElements.define(_.is,_);var J,H;n(42),n(1115),n(1220);function X(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
94
- /**
95
- * @license Copyright © HatioLab Inc. All rights reserved.
96
- */class q extends o.a{static get is(){return"things-editor-table"}static get properties(){return{borderWidth:Number,borderColor:String,borderStyle:String}}static get styles(){return[Object(o.b)(J||(J=X(["\n :host {\n display: block;\n }\n\n fieldset {\n border: none;\n border-bottom: 1px solid #cfd8dc;\n color: var(--primary-text-color);\n font-size: 12px;\n padding: 0 0 10px 0;\n margin: 0 0 10px 0;\n }\n\n fieldset legend {\n padding: 5px 0 0 5px;\n font-size: 11px;\n color: #e46c2e;\n font-weight: bold;\n text-transform: capitalize;\n }\n\n .icon-only-label {\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n width: 30px;\n height: 24px;\n }\n\n .property-grid {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n grid-auto-rows: minmax(24px, auto);\n margin: 10px 0 0 0;\n }\n\n .property-grid > * {\n line-height: 1.5;\n }\n\n #border-set > mwc-icon {\n grid-column: span 2;\n margin: 0 0 0 8px;\n width: 32px;\n height: 32px;\n }\n\n .property-grid > label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n }\n\n .property-grid > label.icon-only-label {\n grid-column: span 1;\n }\n\n .property-grid > things-editor-color,\n .property-grid > input[type='number'] {\n grid-column: span 4;\n padding: 0;\n margin: 0;\n }\n\n .property-grid > paper-dropdown-menu {\n grid-column: span 7;\n padding: 0;\n margin: 0;\n }\n\n [table-event] {\n position: relative;\n background: url('/assets/images/icon-properties-table.png') no-repeat;\n grid-column: span 2;\n min-height: 65px;\n }\n\n [table-event] span {\n position: absolute;\n bottom: 0;\n font-size: 0.9em;\n line-height: 1.2;\n text-transform: capitalize;\n text-align: center;\n vertical-align: bottom;\n }\n\n #merge-cells {\n background-position: 50% 3px;\n }\n\n #split-cells {\n background-position: 50% -97px;\n }\n\n #delete-row {\n background-position: 50% -197px;\n }\n\n #delete-column {\n background-position: 50% -297px;\n }\n\n #insert-above {\n background-position: 50% -397px;\n }\n\n #insert-below {\n background-position: 50% -497px;\n }\n\n #insert-left {\n background-position: 50% -597px;\n }\n\n #insert-right {\n background-position: 50% -697px;\n }\n\n #distribute-horizontal {\n background-position: 50% -797px;\n }\n\n #distribute-vertical {\n background-position: 50% -897px;\n }\n\n .line-type paper-item {\n background: no-repeat url(/assets/images/icon-properties-line-type.png);\n width: 80px;\n min-height: 25px;\n }\n .line-type paper-item.solid {\n background-position: 50% 12px;\n }\n .line-type paper-item.round-dot {\n background-position: 50% -38px;\n }\n .line-type paper-item.square-dot {\n background-position: 50% -88px;\n }\n .line-type paper-item.dash {\n background-position: 50% -138px;\n }\n .line-type paper-item.dash-dot {\n background-position: 50% -188px;\n }\n .line-type paper-item.long-dash {\n background-position: 50% -238px;\n }\n .line-type paper-item.long-dash-dot {\n background-position: 50% -288px;\n }\n .line-type paper-item.long-dash-dot-dot {\n background-position: 50% -338px;\n }\n "])))]}constructor(){super(),this.borderWidth=1,this.borderColor="black",this.borderStyle="solid"}firstUpdated(){this.shadowRoot.querySelector("#border-fieldset").addEventListener("change",this._onClickType.bind(this))}render(){return Object(o.e)(H||(H=X(['\n <fieldset id="border-fieldset">\n <legend><i18n-msg msgid="label.border-style">border style</i18n-msg></legend>\n\n <div\n id="border-set"\n class="property-grid\n border-style-btn"\n @click=','\n >\n <mwc-icon data-value="out">border_outer</mwc-icon>\n <mwc-icon data-value="in">border_inner</mwc-icon>\n <mwc-icon data-value="all">border_all</mwc-icon>\n <mwc-icon data-value="left">border_left</mwc-icon>\n <mwc-icon data-value="center">border_vertical</mwc-icon>\n <mwc-icon data-value="right">border_right</mwc-icon>\n <mwc-icon data-value="top">border_top</mwc-icon>\n <mwc-icon data-value="middle">border_horizontal</mwc-icon>\n <mwc-icon data-value="bottom">border_bottom</mwc-icon>\n <mwc-icon data-value="clear">border_clear</mwc-icon>\n </div>\n\n <div class="property-grid">\n <label class="icon-only-label linewidth"> </label>\n <input\n type="number"\n id="border-width"\n @change=',"\n .value=",'\n />\n\n <label class="icon-only-label color"> </label>\n <things-editor-color\n id="border-color"\n @change=',"\n .value=",'\n >\n </things-editor-color>\n\n <label> <i18n-msg msgid="label.border-type">border type</i18n-msg> </label>\n <paper-dropdown-menu no-label-float="true" class="line-type solid">\n \x3c!-- solid는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 --\x3e\n <paper-listbox\n id="border-style"\n @iron-select=','\n slot="dropdown-content"\n .selected=','\n attr-for-selected="name"\n >\n <paper-item class="solid" name="solid"></paper-item>\n <paper-item class="round-dot" name="round-dot"></paper-item>\n <paper-item class="square-dot" name="square-dot"></paper-item>\n <paper-item class="dash" name="dash"></paper-item>\n <paper-item class="dash-dot" name="dash-dot"></paper-item>\n <paper-item class="long-dash" name="long-dash"></paper-item>\n <paper-item class="long-dash-dot" name="long-dash-dot"></paper-item>\n <paper-item class="long-dash-dot-dot" name="long-dash-dot-dot"></paper-item>\n </paper-listbox>\n </paper-dropdown-menu>\n </div>\n </fieldset>\n\n <fieldset id="cell-fieldset" @click=','>\n <div class="property-grid">\n <div id="merge-cells" table-event><span>merge cells</span></div>\n <div id="split-cells" table-event><span>split cells</span></div>\n <div id="delete-row" table-event><span>delete row</span></div>\n <div id="delete-column" table-event><span>delete column</span></div>\n <div id="insert-above" table-event><span>insert above</span></div>\n <div id="insert-below" table-event><span>insert below</span></div>\n <div id="insert-left" table-event><span>insert left</span></div>\n <div id="insert-right" table-event><span>insert right</span></div>\n <div id="distribute-horizontal" table-event><span>distribute horizontal</span></div>\n <div id="distribute-vertical" table-event><span>distribute vertical</span></div>\n </div>\n </fieldset>\n '])),e=>this._onClickType(e),e=>this.borderWidth=e.target.value,this.borderWidth,e=>this.borderColor=e.target.value,this.borderColor,e=>this.borderStyle=e.target.selected,this.borderStyle,e=>this._onClickCell(e))}_onClickCell(e){for(var t=e.target;t&&!t.hasAttribute("table-event")&&t!==this;)t=t.parentElement;t!==this&&null!==t&&(this.dispatchEvent(new CustomEvent("table-"+t.id,{bubbles:!0,composed:!0})),e.stopPropagation())}_onClickType(e){for(var t=e.target;t&&!t.hasAttribute("data-value")&&t!==this;)t=t.parentElement;t!==this&&null!==t&&(this.dispatchEvent(new CustomEvent("table-cell-border-set",{bubbles:!0,composed:!0,detail:{type:t.getAttribute("data-value"),borderWidth:this.borderWidth,borderStyle:this.borderStyle,borderColor:this.borderColor}})),this.dispatchEvent(new CustomEvent("i-need-selected",{bubbles:!0,composed:!0,detail:{callback:e=>{console.log(e),console.log(this.borderColor),console.log(t)}}})),e.stopPropagation())}}customElements.define(q.is,q);n(1171),n(1172),n(1173),n(1216);var K,$,ee,te,ne,ie,re,ae,oe,se,le,ce,de,pe,ue,he,be,me,ge,ve,fe,ye,we,Ae,xe,Oe,je,ke,Ee,Re=n(1084);function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Se(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach((function(t){Ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ze(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
97
- /**
98
- * @license Copyright © HatioLab Inc. All rights reserved.
99
- */class De extends o.a{static get is(){return"things-editor-property"}static get properties(){return{value:Object,type:String,label:String,placeholder:String,property:Object,host:Object}}static get styles(){return[Re.a]}connectedCallback(){super.connectedCallback(),this.shadowRoot.addEventListener("change",this._valueChanged.bind(this))}editorTemplate(e){return Object(o.e)(K||(K=ze([""])))}render(){return Object(o.e)($||($=ze(["\n ","\n ","\n "])),this.editorTemplate(this),this.label?Object(o.e)(ee||(ee=ze(['\n <label for="editor">\n <i18n-msg msgid=',">","</i18n-msg>\n </label>\n "])),this._computeLabelId(this.label),this.label):Object(o.e)(te||(te=ze([""]))))}shouldUpdate(e){return!this.__by_me&&(e.has("value")&&(this.__by_me=!0,this.value=Object(a.b)(this.value),this.__by_me=!1),!0)}get valueProperty(){return"value"}_computeLabelId(e){return e.indexOf("label.")>=0?e:"label."+e}_valueChanged(e){e.stopPropagation(),this.value=Object(a.b)(e.target[this.valueProperty]),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.observe&&this.observe.call(this,this.value)}}class Te extends De{static get is(){return"property-editor-legend"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(ne||(ne=ze([" <legend>","</legend> "])),e.property.label)}}customElements.define(Te.is,Te);class Ce extends De{static get is(){return"property-editor-number"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(ie||(ie=ze(['\n <input\n id="editor"\n type="number"\n placeholder=',"\n .value=","\n .step=","\n .min=","\n .max=","\n @focus=","\n @input=","\n @blur=","\n />\n "])),e.placeholder||"",e.value,e.property&&e.property.step,e.property&&e.property.min,e.property&&e.property.max,e=>{var t=e.currentTarget;t.lastValidValue=t.value},e=>{var t=e.currentTarget;t.checkValidity()?t.lastValidValue=t.value:t.value=t.lastValidValue||""},e=>{delete e.currentTarget.lastValidValue})}}customElements.define(Ce.is,Ce);class Ge extends De{static get is(){return"property-editor-range-input"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(re||(re=ze(['\n <things-editor-range-input\n id="editor"\n .value=',"\n .step=","\n .min=","\n .max=","\n ></things-editor-range-input>\n "])),e.value,e.property&&e.property.step,e.property&&e.property.min,e.property&&e.property.max)}}customElements.define(Ge.is,Ge);class Pe extends De{static get is(){return"property-editor-angle"}static get styles(){return[Re.a]}get valueProperty(){return"radian"}editorTemplate(e){return Object(o.e)(ae||(ae=ze(['\n <things-editor-angle-input\n id="editor"\n .radian=',"\n placeholder=","\n ></things-editor-angle-input>\n "])),e.value,e.placeholder||"")}}customElements.define(Pe.is,Pe);class Be extends De{static get is(){return"property-editor-string"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(oe||(oe=ze([' <input type="text" id="editor" .value='," placeholder="," /> "])),e.value,e.placeholder||"")}}customElements.define(Be.is,Be);class Ye extends De{static get is(){return"property-editor-password"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(se||(se=ze([' <input type="password" id="editor" .value='," placeholder="," /> "])),e.value,e.placeholder||"")}}customElements.define(Ye.is,Ye);class Ze extends De{static get is(){return"property-editor-textarea"}static get styles(){return[Re.a]}editorTemplate(e){var t,n,i;return Object(o.e)(le||(le=ze([' <things-editor-code id="editor" .value=',' mode="','" \n tab-size="','" tab-as-space="','" fullwidth> </things-editor-code> '])),e.value,(null===(t=e.property)||void 0===t?void 0:t.mode)||"",(null===(n=e.property)||void 0===n?void 0:n.tabSize)||"",(null===(i=e.property)||void 0===i?void 0:i.tabAsSpace)||"false")}}customElements.define(Ze.is,Ze);class Ue extends De{static get is(){return"property-editor-graphql"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(ce||(ce=ze([' <things-editor-graphql id="editor" .value='," fullwidth> </things-editor-graphql> "])),e.value)}}customElements.define(Ue.is,Ue);class Le extends De{static get is(){return"property-editor-data"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(de||(de=ze([' <things-editor-data id="editor" .value='," fullwidth> </things-editor-data> "])),e.value)}}customElements.define(Le.is,Le);class Qe extends De{static get is(){return"property-editor-checkbox"}static get styles(){return[Re.a]}get valueProperty(){return"checked"}editorTemplate(e){return Object(o.e)(pe||(pe=ze([' <input type="checkbox" id="editor" .checked='," placeholder="," /> "])),e.value,e.placeholder||"")}}customElements.define(Qe.is,Qe);class We extends De{static get is(){return"property-editor-select"}static get styles(){return[Re.a]}connectedCallback(){var e,t=()=>super.connectedCallback,n=this;return(e=function*(){var e;t().call(n);var i=null===(e=n.property)||void 0===e?void 0:e.options;"function"==typeof i&&(n.property=Se(Se({},n.property),{},{options:yield i.apply(n)}))},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Ne(a,i,r,o,s,"next",e)}function s(e){Ne(a,i,r,o,s,"throw",e)}o(void 0)}))})()}editorTemplate(e){var t,n=null===(t=e.property)||void 0===t?void 0:t.options;return n instanceof Array||(n=[]),Object(o.e)(ue||(ue=ze(['\n <select id="editor">\n ',"\n </select>\n "])),n.map(t=>Object(o.e)(he||(he=ze(["\n <option value="," ?selected=",">\n ","\n </option>\n "])),e._getOptionValue(t),e._isSelected(e.value,t),this._getOptionDisplay(t))))}_getOptionValue(e){return"string"==typeof e?e:e.value}_getOptionDisplay(e){return"string"==typeof e?e:e.display}_isSelected(e,t){return e==this._getOptionValue(t)}}customElements.define(We.is,We);class Ve extends De{static get is(){return"property-editor-color"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(be||(be=ze(['\n <things-editor-color\n id="editor"\n .value=',"\n placeholder=","\n .properties=","\n ></things-editor-color>\n "])),e.value,e.placeholder||"",e.property)}}customElements.define(Ve.is,Ve);class Fe extends De{static get is(){return"property-editor-solid-colorstops"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(me||(me=ze(['\n <things-editor-color-stops\n id="editor"\n type="solid"\n .value=',"\n .min=","\n .max=","\n fullwidth\n >\n </things-editor-color-stops>\n "])),e.value,e.property&&e.property.min,e.property&&e.property.max)}}customElements.define(Fe.is,Fe);class _e extends De{static get is(){return"property-editor-gradient-colorstops"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(ge||(ge=ze(['\n <things-editor-color-stops\n id="editor"\n type="gradient"\n .value=',"\n .min=","\n .max=","\n fullwidth\n >\n </things-editor-color-stops>\n "])),e.value,e.property&&e.property.min,e.property&&e.property.max)}}customElements.define(_e.is,_e);class Je extends De{static get is(){return"property-editor-multiple-color"}static get styles(){return[Re.a]}get valueProperty(){return"values"}editorTemplate(e){return Object(o.e)(ve||(ve=ze([' <things-editor-multiple-color id="editor" .values=',"></things-editor-multiple-color> "])),e.value)}}customElements.define(Je.is,Je);class He extends De{static get is(){return"property-editor-date"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(fe||(fe=ze([' <input type="date" id="editor" .value='," /> "])),e.value)}}customElements.define(He.is,He);class Xe extends De{static get is(){return"property-editor-options"}static get styles(){return[Re.a]}get valueProperty(){return"options"}editorTemplate(e){return Object(o.e)(ye||(ye=ze([' <things-editor-options id="editor" .options='," fullwidth></things-editor-options> "])),e.value)}}customElements.define(Xe.is,Xe);class qe extends De{static get is(){return"property-editor-table"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(we||(we=ze([' <things-editor-table id="editor" .property='," fullwidth></things-editor-table> "])),e.property)}}customElements.define(qe.is,qe);class Ke extends De{static get is(){return"property-editor-id"}static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(Ae||(Ae=ze([' <things-editor-id id="editor" .value='," .property=","></things-editor-id> "])),e.value,e.property)}}customElements.define(Ke.is,Ke);customElements.define("property-editor-value-map",class extends De{static get styles(){return[Re.a]}editorTemplate(e){var{value:t,property:n}=e,i=(null==n?void 0:n.valuetype)||"string";return Object(o.e)(xe||(xe=ze(['\n <things-editor-value-map id="editor" .valuetype='," .value="," fullwidth></things-editor-value-map>\n "])),i,t)}});customElements.define("property-editor-value-range",class extends De{static get styles(){return[Re.a]}editorTemplate(e){var{value:t,property:n}=e,i=(null==n?void 0:n.valuetype)||"string";return Object(o.e)(Oe||(Oe=ze(['\n <things-editor-value-range\n id="editor"\n .valuetype=',"\n .value=","\n fullwidth\n ></things-editor-value-range>\n "])),i,t)}});customElements.define("property-editor-attachment-selector",class extends De{static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(je||(je=ze(['\n <things-editor-attachment-selector\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-attachment-selector>\n "])),e.value,e.property)}});customElements.define("property-editor-image-selector",class extends De{static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(ke||(ke=ze(['\n <things-editor-attachment-selector\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-attachment-selector>\n "])),e.value,Object.assign({category:"image"},e))}});customElements.define("property-editor-font-selector",class extends De{static get styles(){return[Re.a]}editorTemplate(e){return Object(o.e)(Ee||(Ee=ze(['\n <things-editor-font-selector\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-font-selector>\n "])),e.value,e.property)}})},1118:function(e,t,n){"use strict";var i,r,a=n(0),o=(n(1044),n(42),n(1312)),s=n.n(o),l=n(1001);function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class d extends a.a{constructor(){super(),this.sceneId=""}static get properties(){return{sceneId:String}}static get styles(){return[Object(a.b)(i||(i=c(["\n :host {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n #target {\n display: block;\n width: 100%;\n height: 100%;\n outline: 0;\n }\n "])))]}render(){return Object(a.e)(r||(r=c(['\n <div id="target"></div>\n <slot></slot>\n '])))}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",()=>{requestAnimationFrame(()=>{this.scene&&(this.scene.resize(),this.offsetWidth&&this.scene.fit())})}),this.provicer||(this.provider=Object(l.a)())}get targetEl(){return this.shadowRoot.getElementById("target")}disconnectedCallback(){super.disconnectedCallback(),this._releaseRef()}updated(e){e.has("sceneId")&&this._onSceneIdChanged()}_releaseRef(){this.scene&&(this.scene.target=null,this.scene.release(),delete this.scene,this.provider.dispose(),delete this.provider)}_onSceneIdChanged(){this.provider&&(this._releaseRef(),this.sceneId&&this.provider.get(this.sceneId,!0).then(e=>{this.scene=e,this.scene.target=this.targetEl,this.scene.target.offsetWidth&&this.scene.fit()},e=>{}))}}customElements.define("board-wrapper",d);var p,u,h,b,m=n(1077);function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class v extends a.a{static get properties(){return{rows:Number,columns:Number}}static get styles(){return[Object(a.b)(p||(p=g(["\n :host {\n width: 100%;\n height: 100%;\n position: relative;\n\n display: grid;\n grid-gap: 0px;\n grid-auto-flow: dense;\n }\n "])))]}render(){return Object(a.e)(u||(u=g(['\n <slot id="slot" select="[page]"></slot>\n '])))}disconnectedCallback(){super.disconnectedCallback(),this._slotObserver&&this._slotObserver.disconnect()}firstUpdated(){this._slotObserver=new m.a(this.shadowRoot.querySelector("#slot"),e=>{var t=this.columns||1,n=this.rows||1;this.style["grid-template-columns"]="repeat(".concat(t,", 1fr)"),this.style["grid-template-rows"]="repeat(".concat(n,", 1fr)")})}start(){}stop(){}next(){}previous(){}}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("board-player-grid",v);class y extends a.a{static get is(){return"board-player-carousel"}static get properties(){return{axis:String,rows:Number,columns:Number}}static get styles(){return[Object(a.b)(h||(h=f(["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n margin: 0 auto 0px;\n -webkit-perspective: 1200px;\n -moz-perspective: 1200px;\n -o-perspective: 1200px;\n perspective: 1200px;\n }\n\n #carousel {\n width: 100%;\n height: 100%;\n margin: 0px auto 0px;\n\n position: absolute;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n -o-transform-style: preserve-3d;\n transform-style: preserve-3d;\n -webkit-transition: -webkit-transform 1.5s;\n -moz-transition: -moz-transform 1.5s;\n -o-transition: -o-transform 1.5s;\n transition: transform 1.5s;\n }\n\n #carousel > * {\n position: absolute;\n width: 100%;\n height: 100%;\n font-weight: bold;\n -webkit-transition: opacity 1.5s, -webkit-transform 1.5s;\n -moz-transition: opacity 1.5s, -moz-transform 1.5s;\n -o-transition: opacity 1.5s, -o-transform 1.5s;\n transition: opacity 1.5s, transform 1.5s;\n\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n -o-backface-visibility: hidden;\n backface-visibility: hidden;\n }\n "])))]}render(){return Object(a.e)(b||(b=f(['\n <slot id="slot" select="[page]"></slot>\n\n <div id="carousel"></div>\n '])))}disconnectedCallback(){super.disconnectedCallback(),this._slotObserver.disconnect(),this.boundResize&&(window.removeEventListener("resize",this.boundResize),delete this.boundResize)}firstUpdated(){this.rotation=0,this._slotObserver=new m.a(this.shadowRoot.querySelector("#slot"),e=>{this.build()}),this.boundResize=this.build.bind(this),window.addEventListener("resize",this.boundResize)}get carousel(){return this.shadowRoot.querySelector("#carousel")}updated(e){e.has("axis")&&this._onAxisChanged(this.axis)}build(){for(var e=Array.from(this.querySelectorAll("[page]")),t=Array.from(this.carousel.querySelectorAll("board-player-grid")).pop(),n=this.rows||1,i=this.columns||1,r=t?t.querySelectorAll("[page]").length:0,a=e.shift();a;)r++%(n*i)||((t=document.createElement("board-player-grid")).rows=n,t.columns=i,this.carousel.appendChild(t)),t.appendChild(a),a=e.shift();this.start()}start(){var e=this.carousel.querySelectorAll("board-player-grid");this.isHorizontal="y"===this.axis,this.panelCount=e.length,this.panelSize=this.carousel[this.isHorizontal?"offsetWidth":"offsetHeight"]||"640",this.rotateFn=this.isHorizontal?"rotateY":"rotateX",this.theta=360/(this.panelCount||1),this.radius=Math.round(this.panelSize/2/Math.tan(Math.PI/(this.panelCount<2?2:this.panelCount)));for(var t=0;t<this.panelCount;t++){var n=e[t],i=this.theta*t;n.style.opacity=1,n.style.backgroundColor="white",n.style.transform=this.rotateFn+"("+i+"deg) translateZ("+this.radius+"px)"}this.rotation=Math.round(this.rotation/this.theta)*this.theta,this._transform()}stop(){this.carousel.innerHTML=""}_onAxisChanged(e){this.start()}_transform(){this.carousel.style.transform="translateZ(-"+this.radius+"px) "+this.rotateFn+"("+this.rotation+"deg)",this.dispatchEvent(new CustomEvent("transform",{bubbles:!0,composed:!0}))}previous(){this.rotation+=this.theta,this._transform()}next(){this.rotation-=this.theta,this._transform()}}customElements.define(y.is,y);var w,A=n(29);var x,O,j,k,E,R,M,S,I=Object(a.b)(w||(x=["\n :host {\n display: flex;\n position: relative;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n justify-content: center;\n align-items: center;\n }\n\n :slotted(*) {\n border: none;\n }\n\n ::slotted > * {\n flex: 1;\n }\n\n board-wrapper {\n width: 100%;\n height: 100%;\n position: relative;\n }\n\n board-wrapper[front] {\n background: black;\n }\n\n board-wrapper[back] {\n background: black;\n }\n\n #control {\n position: absolute;\n bottom: 1vh;\n width: 100vw;\n max-width: 435px;\n display: grid;\n grid-template-columns: 42px 42px 1fr;\n color: white;\n justify-content: center;\n align-items: center;\n grid-auto-flow: dense;\n padding: 5px;\n box-sizing: border-box;\n grid-template-rows: 12px 60px 12px;\n }\n\n #control[hidden] {\n display: none;\n }\n\n #control > div > * {\n cursor: pointer;\n }\n\n #joystick {\n position: relative;\n box-sizing: border-box;\n border: 2px solid tomato;\n background-color: #c34827;\n box-shadow: 0 0 5px #000;\n width: 100%;\n height: 100%;\n grid-column: 1 / span 2;\n border-radius: 50%;\n z-index: 2;\n grid-row: 1 / span 3;\n }\n\n #joystick mwc-icon {\n position: absolute;\n display: block;\n width: 20px;\n height: 20px;\n font-size: 25px;\n line-height: 0.7;\n }\n\n mwc-icon#up {\n left: 29px;\n }\n\n mwc-icon#left {\n top: 32px;\n left: -2px;\n }\n\n mwc-icon#play,\n mwc-icon#pause {\n left: 20px;\n top: 20px;\n width: 40px;\n height: 40px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.15);\n font-size: 45px;\n line-height: 0.9;\n }\n\n mwc-icon#right {\n top: 31px;\n left: 60px;\n }\n\n mwc-icon#down {\n left: 29px;\n top: 63px;\n }\n\n mwc-icon#pause {\n text-indent: -2px;\n }\n\n #setting-container {\n grid-column: 2 / span 2;\n grid-row: 2;\n gap: 0 10px;\n border-radius: 12px;\n background: rgba(0, 0, 0, 0.7);\n height: 100%;\n box-shadow: rgb(0, 0, 0) 0px 0px 5px;\n display: grid;\n grid-template-columns: 1fr 60px;\n align-items: center;\n padding-left: 60px;\n padding-right: 5px;\n }\n\n #setting {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 0 10px;\n }\n\n #setting mwc-icon {\n font-size: 22px;\n color: rgba(255, 174, 53, 0.8);\n }\n\n #setting input {\n width: 50px;\n margin-right: 5px;\n font-size: 14px;\n background-color: transparent;\n border: none;\n border-bottom: 1px solid #fff;\n color: #fff;\n text-align: right;\n }\n\n #setting select {\n border: none;\n font-size: 14px;\n }\n\n #setting input:focus {\n outline: none;\n }\n\n #schedule-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n #grid-setting-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n #etc {\n display: grid;\n grid-template-columns: 1fr 1fr;\n align-items: center;\n justify-items: center;\n }\n\n #etc mwc-icon {\n font-size: 30px;\n }\n\n #control [hidden] {\n display: none;\n }\n\n @media screen and (max-width: 460px) {\n #setting {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n }\n"],O||(O=x.slice(0)),w=Object.freeze(Object.defineProperties(x,{raw:{value:Object.freeze(O)}}))));function N(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function z(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){N(a,i,r,o,s,"next",e)}function s(e){N(a,i,r,o,s,"throw",e)}o(void 0)}))}}function D(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class T extends a.a{constructor(){super(),this.boards=[],this.playtime=30,this.columns=1,this.rows=1,this.started=!1,this.fullscreened=!1}static get properties(){return{boards:Array,playtime:Number,columns:Number,rows:Number,started:Boolean,playing:Boolean,fullscreened:Boolean}}static get styles(){return[I]}render(){return Object(a.e)(j||(j=D(["\n <slot @mousemove="," @transform=",' tabindex="-1">\n ','\n </slot>\n\n <div id="control" @mouseover=',' hidden>\n <div id="joystick">\n <mwc-icon id="up" @click=','>keyboard_arrow_up</mwc-icon>\n <mwc-icon id="left" @click=','>keyboard_arrow_left</mwc-icon>\n <mwc-icon id="play" @click='," ?hidden=",'>play_arrow</mwc-icon>\n <mwc-icon id="pause" @click='," ?hidden=",'>pause</mwc-icon>\n <mwc-icon id="right" @click=','>keyboard_arrow_right</mwc-icon>\n <mwc-icon id="down" @click=','>keyboard_arrow_down</mwc-icon>\n </div> \n\n <div id="setting-container">\n <div id="setting">\n <div id="schedule-container">\n <mwc-icon id="schedule">schedule</mwc-icon>\n <input .value='," @change=",'></input>\n sec.\n </div>\n <div id="grid-setting-container">\n <mwc-icon id="view_module">view_module</mwc-icon> \n <select .value='," @change=",">\n ","\n </select>\n x\n <select .value="," @change=",">\n ",'\n </select>\n </div>\n </div>\n\n <div id="etc">\n <mwc-icon id="fullscreen" @click='," ?hidden=",'\n >fullscreen</mwc-icon>\n <mwc-icon id="fullscreen-exit" @click='," ?hidden=",'\n >fullscreen_exit</mwc-icon>\n <mwc-icon id="close" @click=',">close</mwc-icon>\n </div> \n </div> \n </div>\n "])),e=>this.onMousemove(e),e=>this.onTransform(e),this.started?Object(a.e)(k||(k=D(['\n <board-player-carousel axis="y" .rows='," .columns="," player>\n ","\n </board-player-carousel>\n "])),this.rows,this.columns,this.boards.map(e=>Object(a.e)(E||(E=D(["\n <board-wrapper page .sceneId=","> </board-wrapper>\n "])),e.id))):Object(a.e)(R||(R=D([""]))),e=>this.onMouseoverControl(e),e=>this.onTapUp(e),e=>this.onTapLeft(e),e=>this.onTapPlay(e),this.playing,e=>this.onTapPause(e),!this.playing,e=>this.onTapRight(e),e=>this.onTapDown(e),this.playtime,e=>this.playtime=e.target.value,this.rows,e=>this.rows=e.target.value,[1,2,3,4,5].map(e=>Object(a.e)(M||(M=D(["\n <option>","</option>\n "])),e)),this.columns,e=>this.columns=e.target.value,[1,2,3,4,5].map(e=>Object(a.e)(S||(S=D(["\n <option>","</option>\n "])),e)),e=>this.onTapFullscreen(e),this.fullscreened,e=>this.onTapFullscreen(e),!this.fullscreened,e=>this.onTapClose(e))}firstUpdated(){s()(this),this.addEventListener("swipe",e=>{var t=e.detail.directions;t.left?this.onTapRight():t.right?this.onTapLeft():t.top?this.onTapDown():t.bottom&&this.onTapUp()})}updated(e){e.has("boards")||e.has("columns")||e.has("rows")?this.boards&&this.boards.length>0?this.restart():this.stop():e.has("playtime")&&this.playing&&this._resetTransformTimer()}get control(){return this.shadowRoot.getElementById("control")}get fullscreen(){return this.shadowRoot.getElementById("fullscreen")}_resetFadeTimer(e){var t=this;return z((function*(){if(t._control_animation||(t._control_animation=t.control.animate([{opacity:1,easing:"ease-in"},{opacity:0}],{delay:1e3,duration:2e3})),t.control.hidden=!1,t._control_animation.cancel(),!e)try{t._control_animation.play(),yield t._control_animation.finished,t.control.hidden=!0}catch(e){}}))()}_resetTransformTimer(){clearTimeout(this._transfer_timer),this.playing=!0,this.currentPlayer&&(this._transfer_timer=setTimeout(()=>{this._transfer_timer&&this.currentPlayer.next()},1e3*this.playtime))}onMousemove(){this._resetFadeTimer()}onMouseoverControl(){this._resetFadeTimer(!0)}onTapFullscreen(){Object(A.o)(this,()=>{this.fullscreened=!0,this.focus()},()=>{this.fullscreened=!1,this.focus()})}onTransform(){requestAnimationFrame(()=>this.started&&this.playing&&this._resetTransformTimer())}onTapPlay(e){this._resetTransformTimer()}onTapPause(e){clearTimeout(this._transfer_timer),this.playing=!1}onTapLeft(e){this.currentPlayer.axis="y",this.currentPlayer.previous()}onTapRight(e){this.currentPlayer.axis="y",this.currentPlayer.next()}onTapUp(e){this.currentPlayer.axis="x",this.currentPlayer.next()}onTapDown(e){this.currentPlayer.axis="x",this.currentPlayer.previous()}onTapClose(e){this.fullscreened&&Object(A.d)(),window.history.back()}restart(){var e=this;return z((function*(){yield e.stop(),yield e.start()}))()}start(){var e=this;return z((function*(){e.boards&&0!=e.boards.length&&(e.started=!0,e.playing=!0,yield e.renderComplete,e.currentPlayer=e.shadowRoot.querySelector(':not([style*="display: none"])[player]'),e._resetTransformTimer(),e._resetFadeTimer(),e.focus())}))()}stop(){var e=this;return z((function*(){clearTimeout(e._transfer_timer),e.currentPlayer&&e.currentPlayer.stop(),yield e.renderComplete,e.started=!1}))()}}customElements.define("board-player",T)},1119:function(e,t,n){"use strict";n.r(t),n.d(t,"AttachmentSelector",(function(){return _})),n.d(t,"FileSelector",(function(){return p}));var i,r,a,o,s=n(0),l=n(8),c=n(29);n(42),n(306);function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class p extends s.a{static get styles(){return[Object(s.b)(i||(i=d(["\n :host {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n }\n\n #input-box {\n display: flex;\n width: 100%;\n height: 100%;\n }\n\n input[type='file'] {\n position: absolute;\n width: 0px;\n height: 0px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n }\n\n label {\n padding: unset;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n\n color: var(--file-selector-color, #999);\n font-size: inherit;\n line-height: normal;\n vertical-align: middle;\n background-color: var(--file-selector-bg-color, #fdfdfd);\n cursor: pointer;\n border: var(--file-selector-border, 1px solid #ebebeb);\n border-radius: var(--file-selector-border-radius, 0.25em);\n }\n\n /* named upload */\n .upload-name {\n flex: 1;\n padding: 0.5em 0.75em; /* label의 패딩값과 일치 */\n font-size: inherit;\n font-family: inherit;\n line-height: normal;\n vertical-align: middle;\n background-color: #f5f5f5;\n border: 1px solid #ebebeb;\n border-bottom-color: #e2e2e2;\n border-radius: 0.25em;\n -webkit-appearance: none; /* 네이티브 외형 감추기 */\n -moz-appearance: none;\n appearance: none;\n }\n "])))]}static get properties(){return{label:String,accept:String,showFilename:{type:Boolean,attribute:"show-filename"},multiple:{type:Boolean,attribute:"multiple"},_files:Array}}constructor(){super(),this._files=[],this.label="select file",this.multiple=!1}render(){return Object(s.e)(r||(r=d(['\n <div id="input-box">\n ','\n <label for="input-file">','</label>\n <input\n id="input-file"\n type="file"\n accept="','"\n class="upload-hidden"\n ?multiple=',"\n hidden\n @change=","\n />\n </div>\n "])),this.showFilename?Object(s.e)(a||(a=d(['\n <input class="upload-name" value='," disabled />\n "])),this._files.map(e=>e.name).join(", ")||this.label):Object(s.e)(o||(o=d([""]))),this.label,this.accept,this.multiple,e=>{var t=e.currentTarget;this.dispatchEvent(new CustomEvent("file-change",{bubbles:!0,composed:!0,detail:{files:t.files}})),t.value=null})}get fileInput(){return this.renderRoot.querySelector("#input-file")}}window.customElements.define("file-selector",p);var u,h,b,m,g,v,f,y,w=n(35);function A(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class x extends s.a{static get styles(){return[Object(s.b)(u||(u=A(["\n :host {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n }\n\n .upload-thumb-wrap {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .upload-thumb-wrap img {\n display: block;\n max-width: 100%;\n max-height: 100%;\n flex: 0;\n }\n "])))]}static get properties(){return{file:Object}}render(){return Object(s.e)(h||(h=A(['\n <div class="upload-thumb-wrap">\n <img class="upload-thumb" src="','" />\n </div>\n '])),window.URL.createObjectURL(this.file))}}function O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}window.customElements.define("image-upload-previewer",x);class j extends(Object(l.b)(l.a)(s.a)){static get properties(){return{defaultCategory:String,categories:Array,_files:Array,_currentCategory:String}}static get styles(){return[Object(s.b)(b||(b=O(["\n :host {\n position: relative;\n\n padding: 0;\n margin: 0;\n height: 100%;\n\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n -webkit-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n box-shadow: var(--box-shadow);\n }\n\n :host(.flipped) {\n -webkit-transform: var(--card-list-flip-transform);\n transform: var(--card-list-flip-transform);\n }\n\n [front],\n [back] {\n position: absolute;\n\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n border: var(--card-list-create-border);\n border-radius: var(--card-list-create-border-radius);\n\n background-color: #fff;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n }\n\n [front] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n text-align: center;\n font-size: 0.8em;\n color: var(--card-list-create-color);\n text-transform: capitalize;\n }\n\n :host(.candrop) [front],\n :host(.candrop) [back] {\n border-width: 2px;\n background-color: #fffde9;\n }\n\n [front] mwc-icon {\n font-size: 3.5em;\n color: var(--card-list-create-icon-color);\n }\n\n [back] {\n -webkit-transform: var(--card-list-flip-transform);\n transform: var(--card-list-flip-transform);\n }\n\n [back] form {\n padding: var(--card-list-create-form-padding);\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-template-rows: min-content min-content 1fr min-content;\n grid-row-gap: 7px;\n justify-content: center;\n align-items: center;\n }\n\n [back] form label {\n grid-column: span 4;\n font: var(--card-list-create-label-font);\n color: var(--card-list-create-label-color);\n }\n\n [back] form input,\n [back] form select {\n grid-column: span 6;\n background-color: #fff;\n border: var(--card-list-create-input-border);\n border-radius: var(--card-list-create-input-border-radius);\n padding: var(--card-list-create-input-padding);\n font: var(--card-list-create-input-font);\n color: var(--card-list-create-input-color);\n }\n\n file-selector {\n grid-column: span 6;\n font: var(--card-list-create-input-font);\n border: none;\n box-sizing: border-box;\n padding: 0;\n }\n\n #thumbnail-area {\n grid-column: span 10;\n align-self: stretch;\n text-align: center;\n overflow: hidden;\n overflow-x: auto;\n white-space: nowrap;\n }\n\n image-upload-previewer {\n display: inline-block;\n height: 100%;\n }\n\n [back] input[type='submit'] {\n background-color: var(--button-background-color) !important;\n margin: var(--button-margin);\n font: var(--button-font);\n color: var(--button-color) !important;\n border-radius: var(--button-radius);\n border: var(--button-border);\n grid-column: span 10;\n grid-row: auto / -1;\n margin: 0;\n }\n "])))]}render(){var e=this.categories||[];return Object(s.e)(m||(m=O(["\n <div @click="," front>\n <mwc-icon>add_circle_outline</mwc-icon>","\n </div>\n\n <div @click="," back>\n <form @submit=",">\n <label>","</label>\n <select\n .value=",'\n name="category"\n @change=','\n >\n <option value="">--',"--</option>\n ","\n </select>\n\n <label>",'</label>\n <file-selector\n name="file"\n label="','"\n accept="','/*"\n multiple\n @file-change=','\n ></file-selector>\n\n <div id="thumbnail-area">\n ',"\n </div>\n\n \x3c!-- ",' --\x3e\n\n <input type="submit" value='," />\n </form>\n </div>\n "])),e=>this.onClickFlip(e),l.a.t("text.create attachment"),e=>this.onClickFlip(e),e=>this.onClickSubmit(e),l.a.t("label.category"),this.defaultCategory,e=>{this._currentCategory=e.currentTarget.value},l.a.t("text.please choose a category"),e.map(e=>Object(s.e)(g||(g=O(["\n <option value="," ?selected=",">","</option>\n "])),e,this.defaultCategory==e,e)),l.a.t("label.file"),l.a.t("label.select file"),this._currentCategory||"*",e=>{this._files=Array.from(e.detail.files)},this._files.map(e=>Object(s.e)(v||(v=O(["\n <image-upload-previewer .file=","></image-upload-previewer>\n "])),e)),/^(video|image)/.test((this._files||{}).type)?Object(s.e)(f||(f=O(["\n <image-upload-previewer .file=","></image-upload-previewer>\n "])),this._files):Object(s.e)(y||(y=O([""]))),l.a.t("button.create"))}constructor(){super(),this._files=[]}firstUpdated(){c.a.set(this)}onClickFlip(e){(e.currentTarget.hasAttribute("front")||e.currentTarget.hasAttribute("back")&&"INPUT"!=e.target.tagName&&"SELECT"!=e.target.tagName)&&this.classList.toggle("flipped"),e.stopPropagation()}onClickSubmit(e){e.preventDefault(),e.stopPropagation();var t=e.target.elements.category.value,n=this._files;this.dispatchEvent(new CustomEvent("create-attachment",{detail:{category:t,files:n}}))}reset(){var e=this.shadowRoot.querySelector("form");e&&(e.reset(),this._files=[]),this.classList.remove("flipped")}}customElements.define("attachment-creation-card",j);var k,E,R,M,S,I,N,z,D,T,C,G,P=n(284),B=n(309),Y=n.n(B),Z=n(222),U=n(45);function L(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Q(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){L(a,i,r,o,s,"next",e)}function s(e){L(a,i,r,o,s,"throw",e)}o(void 0)}))}}function W(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var V=Object(P.a)(E||(E=W(["\n mutation DeleteAttachment($id: String!) {\n deleteAttachment(id: $id) {\n id\n name\n description\n mimetype\n encoding\n category\n path\n createdAt\n updatedAt\n }\n }\n"]))),F=Object(P.a)(R||(R=W(["\n mutation($attachments: [NewAttachment]!) {\n createAttachments(attachments: $attachments) {\n id\n name\n description\n mimetype\n encoding\n category\n path\n createdAt\n updatedAt\n }\n }\n"])));class _ extends(Object(w.InfiniteScrollable)(Object(l.b)(l.a)(s.a))){static get styles(){return[U.c,U.b,U.e,Object(s.b)(M||(M=W(["\n :host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--popup-content-background-color);\n\n position: relative;\n }\n\n :host(.candrop) {\n background: orange;\n cursor: pointer;\n }\n\n #main {\n overflow: auto;\n padding: var(--popup-content-padding);\n display: grid;\n grid-template-columns: var(--card-list-template);\n grid-auto-rows: var(--card-list-rows-height);\n grid-gap: 20px;\n }\n\n #main .card {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n border-radius: var(--card-list-border-radius);\n border: var(--attachment-selector-border);\n background-color: var(--attachment-selector-background-color);\n\n position: relative;\n }\n\n #main .card.create {\n overflow: visible;\n background-color: initial;\n }\n\n #main .card:hover {\n cursor: pointer;\n }\n\n .name {\n background-color: var(--board-renderer-name-background-color);\n opacity: 0.8;\n position: absolute;\n bottom: 0px;\n width: 100%;\n padding: 2px 5px;\n font: var(--attachment-selector-name-font);\n color: #fff;\n text-indent: 7px;\n }\n\n [show] {\n height: 100%;\n }\n\n .card img,\n .card video {\n max-height: 100%;\n max-width: 100%;\n }\n\n mwc-icon {\n position: absolute;\n right: 0px;\n text-align: center;\n\n background-color: var(--attachment-selector-icon-background-color);\n width: var(--attachment-selector-icon-size);\n height: var(--attachment-selector-icon-size);\n font: var(--attachment-selector-icon-font);\n color: var(--attachment-selector-icon-color);\n }\n\n mwc-icon:hover,\n mwc-icon:active {\n background-color: var(--primary-color);\n color: #fff;\n }\n\n [open-in-new] {\n top: 0px;\n }\n\n [clipboard] {\n top: 35px;\n }\n\n [delete] {\n top: 70px;\n }\n\n [download] {\n top: 105px;\n border-bottom-left-radius: 12px;\n }\n\n #filter {\n padding: var(--popup-content-padding);\n background-color: var(--attachment-tools-background-color);\n box-shadow: var(--box-shadow);\n\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n z-index: 1;\n }\n\n #filter * {\n font-size: 15px;\n }\n\n select {\n text-transform: capitalize;\n float: right;\n }\n\n [etc] mwc-icon:hover,\n [etc] mwc-icon:active {\n background-color: initial;\n color: initial;\n }\n\n [etc] {\n margin: auto;\n margin-top: 45px;\n position: relative;\n }\n\n [etc] mwc-icon {\n position: initial;\n opacity: 0.2;\n width: initial;\n height: initial;\n\n font: var(--attachment-selector-etc-icon-font);\n color: var(--attachment-selector-etc-icon-color);\n }\n\n [etc] span {\n position: absolute;\n bottom: 25px;\n right: 8px;\n padding: 1px 2px;\n color: #fff;\n text-transform: uppercase;\n opacity: 0.8;\n\n background-color: var(--attachment-selector-etc-background-color);\n font: var(--attachment-selector-etc-font);\n }\n "])))]}static get properties(){return{categories:Array,attachments:Array,category:String,_page:Number,_total:Number,creatable:Boolean}}constructor(){super(),this.categories=["audio","video","image","text","application"],this.attachments=[],this._page=1,this._total=0,this._infiniteScrollOptions.limit=20}render(){return Object(s.e)(S||(S=W(['\n <div id="filter">\n <select\n @change=','\n >\n <option value="">--',"--</option>\n ",'\n </select>\n </div>\n\n <div\n id="main"\n @scroll=',"\n >\n ","\n ","\n </div>\n "])),e=>{this.category=e.currentTarget.value,this.requestUpdate()},l.a.t("text.please choose a category"),this.categories.map(e=>Object(s.e)(I||(I=W([" <option value="," ?selected=",">","</option> "])),e,this.category==e,e)),e=>{this.onScroll(e)},this.creatable?Object(s.e)(N||(N=W(['\n <attachment-creation-card\n class="card create"\n .categories=',"\n .defaultCategory=","\n @create-attachment=","\n @file-drop=","\n ></attachment-creation-card>\n "])),this.categories,this.category,e=>this.onCreateAttachment(e),e=>this.onAttachmentDropped(e)):Object(s.e)(z||(z=W([""]))),this.attachments.map(e=>{var t=e.fullpath;return Object(s.e)(D||(D=W(['\n <div class="card" @click=',">\n <div show>\n ",'\n </div>\n <a target="_blank" href=','><mwc-icon open-in-new>open_in_new</mwc-icon></a>\n <div class="name">',"</div>\n <mwc-icon data-clipboard-url=",' clipboard title="oops">link</mwc-icon>\n <mwc-icon @click='," delete>delete</mwc-icon>\n <a href="," download=","><mwc-icon download>save_alt</mwc-icon></a>\n </div>\n "])),t=>this.onClickSelect(e),"image"==e.category?Object(s.e)(T||(T=W([" <img src="," /> "])),t):"video"==e.category?Object(s.e)(C||(C=W([" <video src="," controls></video> "])),t):Object(s.e)(G||(G=W(["\n <div etc>\n <mwc-icon outlined>insert_drive_file</mwc-icon>\n <span>","</span>\n </div>\n "])),e.path.substr(e.path.lastIndexOf("."))),t,e.name,t,t=>this.onDeleteAttachment(e.id),t,e.name)}))}get scrollTargetEl(){return this.renderRoot.querySelector("#main")}scrollAction(){var e=this;return Q((function*(){return e.appendAttachments()}))()}firstUpdated(){var e=this;return Q((function*(){var t=e.shadowRoot.querySelector("#main");t.addEventListener("scroll",t=>{e.showGotoTop=0!==t.target.scrollTop});var n=e.renderRoot.querySelector("#filter");yield e.requestUpdate();var i=parseFloat(getComputedStyle(t,null).getPropertyValue("padding-top"));t.style.paddingTop=n.clientHeight+i+"px",new Y.a(n,{scroller:t}).init(),Object(Z.a)({container:e.shadowRoot,scrollable:t,refresh:()=>e.refreshAttachments()}),e.shadowRoot.addEventListener("click",function(){var t=Q((function*(t){var n=t.target,i=n.getAttribute("data-clipboard-url");if(i){var{protocol:r,hostname:a,port:o}=location;yield e.copy("".concat(r,"//").concat(a,":").concat(o).concat(i)),n.setAttribute("data-tooltip","url copied!"),yield Object(c.l)(2e3),n.removeAttribute("data-tooltip")}}));return function(e){return t.apply(this,arguments)}}()),e.refreshAttachments()}))()}updated(e){e.has("category")&&this.refreshAttachments()}onClickSelect(e){this.dispatchEvent(new CustomEvent("attachment-selected",{composed:!0,bubbles:!0,detail:{attachment:e}}))}onAttachmentDropped(e){var t=this;return Q((function*(){var n=e.detail;yield t.createAttachments("",n),t.refreshAttachments()}))()}onCreateAttachment(e){var t=this;return Q((function*(){var{category:n,files:i}=e.detail;i=Array.from(i),yield t.createAttachments(n,i),t.refreshAttachments()}))()}onDeleteAttachment(e){var t=this;return Q((function*(){yield t.deleteAttachment(e),t.refreshAttachments()}))()}refreshAttachments(){var e=this;return Q((function*(){var t=yield e.getAttachments();e.attachments=[...t];var n=e.shadowRoot.querySelector("attachment-creation-card");n&&n.reset()}))()}appendAttachments(){var e=this;return Q((function*(){var t=yield e.getAttachments({page:e._page+1});e.attachments=[...e.attachments,...t]}))()}getAttachments({page:e=1,limit:t=this._infiniteScrollOptions.limit}={}){var n=this;return Q((function*(){var i=[],r={limit:t,page:e};n.category&&i.push({name:"category",operator:"eq",value:n.category});var a,o={filters:i,sortings:[],pagination:r},s=yield w.client.query({query:(a=o,Object(P.a)(k||(k=W(["\n {\n attachments(",") {\n items {\n id\n name\n description\n mimetype\n encoding\n category\n fullpath\n path\n }\n total\n }\n }\n"])),c.g.buildArgs(a)))});return s&&s.data?(n._total=s.data.attachments.total,n._page=e,s.data.attachments.items):[]}))()}createAttachments(e,t){return Q((function*(){yield w.client.mutate({mutation:F,variables:{attachments:t.map(t=>({category:e,file:t}))},context:{hasUpload:!0}})}))()}deleteAttachment(e){return Q((function*(){return(yield w.client.mutate({mutation:V,variables:{id:e}})).data}))()}copy(e){return Q((function*(){var t=document.createElement("textarea");t.style.position="absolute",t.style.opacity="0",t.value=e,document.body.appendChild(t),yield Object(c.l)(100),t.select(),document.execCommand("copy"),document.body.removeChild(t)}))()}}customElements.define("attachment-selector",_)},1121:function(e,t,n){"use strict";function i(e,t,n,i,a,o){var s=function(e,t,n,i="N",a=!1,o=!1){t=Math.round(t),n=Math.round(n);var s=t,l=n,c=!1,d=0,p=0,u=s,h=l;switch(i){case"R":case"r":case 90:s=n,l=t,a?(d=0,u=s):(d=1-s,u=1),o?(p=1-l,h=1):(p=0,h=l),c=!0;break;case"I":case"i":case 180:a?(d=0,u=s):(d=1-s,u=1),o?(p=0,h=l):(p=1-l,h=1);break;case"B":case"b":case 270:s=n,l=t,a?(d=1-s,u=1):(d=0,u=s),o?(p=0,h=l):(p=1-l,h=1),c=!0;break;case"N":case"n":case 0:default:a&&(d=1-s,u=1),o&&(p=1-l,h=1)}for(var b=s+7>>3,m=(b<<3)-s,g=Math.round(b*l),v=b<<1,f=new Uint8Array(1),y="",w=1,A=null,x=null,O="",j="",k=p;k<h;k++){for(var E=Math.abs(k),R=d,M=0;R<u;R++,M++){var S=Math.abs(R),I=(c?t*S+E:t*E+S)<<2,N=.21*e[I+0]+.71*e[I+1]+.07*e[I+2];if(N+=(255-e[I+3])*(255-N)/255,f[0]<<=1,N<95&&(f[0]|=1),3==(3&M)){if(x=15&f[0],3==M){A=x;continue}A===x?w++:(O+=r(A.toString(16),w),w=1,A=x)}}f[0]<<=m;var z=A.toString(16);0!=m&&(m>4&&(A==f[0]>>4?w++:(O+=r(z,w),w=1,A=f[0]>>4)),A==(15&f[0])?w++:(O+=r(z,w),w=1,A=15&f[0]));var D=w>=v;O+=D&&0==A?",":D&&15==A?"!":r(z,w),w=1,y+=O==j?":":O,j=O,O=""}return"".concat(g,",").concat(g,",").concat(b,",").concat(y)}(e,t,n,i,a,o);return"\n^XA\n^GFA,".concat(s,"\n^FS\n^XZ")}function r(e,t){var n="";if(t>1){for(;t>400;)n+="\0ghijklmnopqrstuvwxyz"[20],t-=400;if(t>20){var i=t%20;n+="\0ghijklmnopqrstuvwxyz"[Math.trunc(t/20)],i&&(n+="\0GHIJKLMNOPQRSTUVWXYg"[i])}else n+="\0GHIJKLMNOPQRSTUVWXYg"[t]}return n+=e}n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return d}));var a=n(1037),o=n(1038),s=n(35);function l(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function c(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){l(a,i,r,o,s,"next",e)}function s(e){l(a,i,r,o,s,"throw",e)}o(void 0)}))}}class d{constructor(){}getPrinter(){var e=this;return c((function*(){var t=yield s.clientSettingStore.get("default-label-printer-type"),n=(null==t?void 0:t.value)||"direct-usb";e.printer="direct-usb"==n?new a.a:new o.a}))()}print(e){var t=this;return c((function*(){var n;t.printer||(yield t.getPrinter()),yield null===(n=t.printer)||void 0===n?void 0:n.print(e)}))()}}n(1046),n(1010),n(1217),n(94);var p,u,h=n(0),b=n(8);function m(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){m(a,i,r,o,s,"next",e)}function s(e){m(a,i,r,o,s,"throw",e)}o(void 0)}))}}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class f extends(Object(b.b)(b.a)(h.a)){static get styles(){return[Object(h.b)(p||(p=v(["\n label {\n font: var(--label-font);\n color: var(--label-color);\n text-transform: var(--label-text-transform);\n }\n "])))]}static get properties(){return{printerType:String}}render(){return Object(h.e)(u||(u=v(['\n <setting-let>\n <i18n-msg slot="title" msgid="title.default label printer"></i18n-msg>\n\n <div slot="content">\n <mwc-select\n label=','\n group\n helper="Please select which printer connection type to use for label printing."\n @change=','\n >\n <mwc-list-item value="" selected}>&nbsp;</mwc-list-item>\n <mwc-list-item value="direct-usb" ?selected=','\n >usb connected printer</mwc-list-item\n >\n <mwc-list-item value="zebra-browser-print" ?selected=',"\n >zebra browser print</mwc-list-item\n >\n </mwc-select>\n </div>\n </setting-let>\n "])),b.a.t("label.default label printer"),e=>this.onchange(e),"direct-usb"==this.printerType,"zebra-browser-print"==this.printerType)}firstUpdated(){var e=this;return g((function*(){var t;e.printerType=(null===(t=yield s.clientSettingStore.get("default-label-printer-type"))||void 0===t?void 0:t.value)||"direct-usb"}))()}onchange(e){return g((function*(){var t,n=e.target.value,i=null===(t=yield s.clientSettingStore.get("default-label-printer-type"))||void 0===t?void 0:t.value;if(n&&n!=i){try{yield s.clientSettingStore.put({key:"default-label-printer-type",value:n})}catch(e){console.error(e)}location.reload()}}))()}}customElements.define("default-label-printer-setting-let",f)},1122:function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return c.a}));var i,r=n(0);var a,o,s;Object(r.b)(i||(a=["\n :host {\n overflow: auto;\n padding: var(--form-container-padding);\n }\n\n .single-column-form {\n width: 100%;\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: var(--form-grid-gap);\n grid-auto-rows: minmax(24px, auto);\n max-width: var(--form-max-width);\n margin: var(--form-margin);\n }\n .single-column-form fieldset {\n display: contents;\n }\n .single-column-form legend {\n grid-column: span 12;\n text-transform: capitalize;\n\n padding: var(--legend-padding);\n font: var(--legend-font);\n color: var(--legend-text-color);\n border-bottom: var(--legend-border-bottom);\n }\n\n .single-column-form label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n\n color: var(--label-color);\n font: var(--label-font);\n }\n\n .single-column-form input,\n .single-column-form table,\n .single-column-form select,\n .single-column-form textarea,\n .single-column-form [custom-input] {\n grid-column: span 8;\n\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n .single-column-form input[type='checkbox'],\n .single-column-form input[type='radio'] {\n justify-self: end;\n align-self: start;\n grid-column: span 3 / auto;\n position: relative;\n left: 17px;\n }\n\n .single-column-form input[type='checkbox'] + label,\n .single-column-form input[type='radio'] + label {\n padding-left: 17px;\n text-align: left;\n grid-column: span 9 / auto;\n\n font: var(--form-sublabel-font);\n color: var(--form-sublabel-color);\n }\n\n input:focus {\n outline: none;\n border: 1px solid var(--focus-background-color);\n }\n input[type='checkbox'] {\n margin: 0;\n }\n\n @media screen and (max-width: 460px) {\n .single-column-form {\n max-width: 90%;\n grid-gap: 5px;\n }\n .single-column-form label {\n grid-column: span 12;\n text-align: left;\n align-self: end;\n }\n .single-column-form input,\n .single-column-form table,\n .single-column-form select,\n .single-column-form textarea,\n .single-column-form [custom-input] {\n grid-column: span 12;\n\n padding: var(--padding-default);\n font: normal 15px var(--theme-font);\n }\n .single-column-form input[type='checkbox'],\n .single-column-form input[type='radio'] {\n justify-self: start;\n align-self: center;\n grid-column: span 1 / auto;\n zoom:1.4;\n }\n\n .single-column-form input[type='checkbox'] + label,\n .single-column-form input[type='radio'] + label {\n grid-column: span 11 / auto;\n align-self: center;\n }\n }\n"],o||(o=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(o)}}))));var l=Object(r.b)(s||(s=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n :host {\n overflow: auto;\n padding: var(--form-container-padding);\n }\n\n .multi-column-form {\n display: grid;\n grid-template-columns: repeat(24, 1fr);\n grid-gap: var(--form-grid-gap);\n grid-auto-rows: minmax(24px, auto);\n max-width: var(--form-multi-column-max-width);\n margin: var(--form-margin);\n }\n .multi-column-form fieldset {\n display: contents;\n }\n .multi-column-form legend {\n grid-column: span 24;\n text-transform: capitalize;\n\n padding: var(--legend-padding);\n font: var(--legend-font);\n color: var(--legend-text-color);\n border-bottom: var(--legend-border-bottom);\n }\n\n .multi-column-form label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n align-self: center;\n\n color: var(--label-color);\n font: var(--label-font);\n }\n\n .multi-column-form input,\n .multi-column-form table,\n .multi-column-form select,\n .multi-column-form textarea,\n .multi-column-form [custom-input] {\n grid-column: span 9;\n\n border: var(--input-field-border);\n border-radius: var(--input-field-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n max-width: 85%;\n }\n .multi-column-form select {\n min-height: 25px;\n max-width: calc(85% + 18px);\n }\n\n .multi-column-form input[type='checkbox'],\n .multi-column-form input[type='radio'] {\n justify-self: end;\n align-self: center;\n grid-column: span 3 / auto;\n position: relative;\n left: 17px;\n }\n\n .multi-column-form input[type='checkbox'] + label,\n .multi-column-form input[type='radio'] + label {\n padding-left: 17px;\n text-align: left;\n align-self: center;\n grid-column: span 9 / auto;\n\n font: var(--form-sublabel-font);\n color: var(--form-sublabel-color);\n }\n .multi-column-form [options-wrap]{\n grid-column: span 21 / auto;\n }\n\n input:focus {\n outline: none;\n border: 1px solid var(--focus-background-color);\n }\n input[type='checkbox'] {\n margin: 0;\n }\n\n @media screen and (max-width: 480px) {\n .multi-column-form {\n max-width: 100%;\n grid-template-columns: repeat(12, 1fr);\n grid-gap: 5px;\n }\n .multi-column-form legend {\n grid-column: span 12;\n }\n .multi-column-form label {\n grid-column: span 12;\n text-align: left;\n align-self: end;\n }\n .multi-column-form input,\n .multi-column-form table,\n .multi-column-form select,\n .multi-column-form textarea,\n .multi-column-form [custom-input] {\n grid-column: span 12;\n max-width: initial;\n padding: var(--padding-default);\n font: normal 15px var(--theme-font);\n }\n .multi-column-form input[type='checkbox'],\n .multi-column-form input[type='radio'] {\n justify-self: left;\n align-self: center;\n grid-column: span 1 / auto;\n left: 0;\n zoom:1.4;\n }\n\n .multi-column-form input[type='checkbox'] + label,\n .multi-column-form input[type='radio'] + label {\n grid-column: span 11 / auto;\n align-self: center;\n position: relative;\n left: -25px;\n }\n .multi-column-form [options-wrap]{\n grid-column: span 12 / auto;\n display:grid;\n grid-gap : var(--padding-default) var(--padding-narrow);\n grid-template-columns: repeat(12, 1fr);\n }\n .multi-column-form [options-wrap] input[type='checkbox'] + label,\n .multi-column-form [options-wrap] input[type='radio'] + label {\n grid-column: span 5 / auto;\n align-self: left;\n left: -4%;\n margin-right:0;\n }\n\n }\n @media (min-width: 481px) and (max-width: 1024px) {\n .multi-column-form select {\n max-width: calc(85% + 10px);\n }\n }\n @media screen and (min-width: 1201px) and (max-width: 2000px) {\n .multi-column-form {\n grid-template-columns: repeat(36, 1fr);\n }\n .multi-column-form legend {\n grid-column: span 36;\n }\n .multi-column-form input,\n .multi-column-form table,\n .multi-column-form select,\n .multi-column-form textarea,\n .multi-column-form [custom-input] {\n max-width: 90%;\n }\n .multi-column-form select {\n max-width: calc(90% + 18px);\n }\n .multi-column-form [options-wrap]{\n grid-column: span 33 / auto;\n }\n }\n @media screen and (min-width: 2001px) {\n .multi-column-form {\n grid-template-columns: repeat(48, 1fr);\n }\n .multi-column-form legend {\n grid-column: span 48;\n }\n .multi-column-form input,\n .multi-column-form table,\n .multi-column-form select,\n .multi-column-form textarea,\n .multi-column-form [custom-input] {\n max-width: 90%;\n }\n .multi-column-form select {\n max-width: calc(90% + 18px);\n }\n .multi-column-form [options-wrap]{\n grid-column: span 45 / auto;\n }\n }\n"]))),c=n(1090)},1123:function(e,t,n){"use strict";var i,r=n(0);
100
- /**
101
- * @license Copyright © HatioLab Inc. All rights reserved.
102
- */
103
- var a,o,s,l=Object(r.b)(i||(a=["\n :host {\n background-color: var(--edit-toolbar-background-color, #394e64);\n\n overflow-x: hidden;\n }\n\n [tools] {\n display: flex;\n align-items: center;\n overflow: none;\n padding: 0px 10px;\n }\n\n [tools] > * {\n padding: 0px;\n }\n\n [tools] > span[button] {\n min-width: 30px;\n }\n\n [tools] > span[padding] {\n flex: 1;\n }\n\n [tools] > .vline {\n display: block;\n flex: none;\n border-left: 1px solid rgba(255, 255, 255, 0.2);\n border-right: 1px solid rgba(0, 0, 0, 0.15);\n width: 0px;\n height: 18px;\n margin: 0 3px;\n }\n\n span[button] {\n min-height: 35px;\n\n background: url('/assets/images/icon-htoolbar.png') no-repeat;\n background-position-x: 50%;\n opacity: 0.8;\n }\n span[button]:hover {\n opacity: 1;\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n\n #fullscreen,\n #toggle-property {\n flex: none;\n }\n\n #align-left {\n background-position-y: 8px;\n }\n\n #align-center {\n background-position-y: -42px;\n }\n\n #align-right {\n background-position-y: -92px;\n }\n\n #align-top {\n background-position-y: -142px;\n }\n\n #align-middle {\n background-position-y: -192px;\n }\n\n #align-bottom {\n background-position-y: -242px;\n }\n\n #undo {\n background-position-y: -592px;\n }\n\n #redo {\n background-position-y: -642px;\n }\n\n #front {\n background-position-y: -292px;\n }\n\n #back {\n background-position-y: -342px;\n }\n\n #forward {\n background-position-y: -392px;\n }\n\n #backward {\n background-position-y: -442px;\n }\n\n #symmetry-x {\n background-position-y: -492px;\n }\n\n #symmetry-y {\n background-position-y: -542px;\n }\n\n #group {\n background-position-y: -492px;\n }\n\n #ungroup {\n background-position-y: -542px;\n }\n\n #fullscreen {\n background-position-y: -692px;\n }\n\n #toggle-property {\n background-position-y: -692px;\n float: right;\n }\n\n #zoomin {\n background-position-y: -742px;\n }\n\n #zoomout {\n background-position-y: -792px;\n }\n\n #fit-scene {\n background-position-y: -1492px;\n }\n\n #cut {\n background-position-y: -842px;\n }\n\n #copy {\n background-position-y: -892px;\n }\n\n #paste {\n background-position-y: -942px;\n }\n\n #delete {\n background-position-y: -992px;\n }\n\n #font-increase {\n background-position-y: -1042px;\n }\n\n #font-decrease {\n background-position-y: -1092px;\n }\n\n #style-copy {\n background-position-y: -1142px;\n }\n\n #context-menu {\n background-position-y: -692px;\n }\n\n #symmetry-x {\n background-position-y: -1192px;\n }\n\n #symmetry-y {\n background-position-y: -1242px;\n }\n\n #rotate-cw {\n background-position-y: -1292px;\n }\n\n #rotate-ccw {\n background-position-y: -1342px;\n }\n\n #distribute-horizontal {\n background-position-y: -1542px;\n }\n\n #distribute-vertical {\n background-position-y: -1593px;\n }\n\n #toggle-property {\n background-position-y: -1392px;\n }\n\n #preview {\n background-position-y: -1640px;\n }\n\n /* bigger buttons */\n #fullscreen {\n background: url('/assets/images/icon-fullscreen.png') 50% 10px no-repeat;\n width: var(--edit-toolbar-bigger-icon-size);\n height: var(--edit-toolbar-bigger-icon-size);\n border-left: var(--edit-toolbar-bigger-icon-line);\n }\n\n #toggle-property {\n background: url('/assets/images/icon-collapse.png') 80% 10px no-repeat;\n width: var(--edit-toolbar-bigger-icon-size);\n height: var(--edit-toolbar-bigger-icon-size);\n border-left: var(--edit-toolbar-bigger-icon-line);\n }\n\n #toggle-property[active] {\n background: url(/assets/images/icon-collapse-active.png) 80% 10px no-repeat;\n }\n"],o||(o=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(o)}}))));
104
- /**
105
- * @license Copyright © HatioLab Inc. All rights reserved.
106
- */
107
- class c extends r.a{constructor(){super(),this.scene=null,this.selected=[],this.hideProperty=!1}static get properties(){return{scene:Object,selected:Array,hideProperty:Boolean}}static get styles(){return[l]}firstUpdated(){this.addEventListener("mousewheel",this.onWheelEvent.bind(this),!1),window.addEventListener("paste",e=>{this.cliped=e.clipboardData.getData("text/plain")}),this.shadowRoot.getElementById("align-left").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("align-center").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("align-right").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("align-top").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("align-middle").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("align-bottom").addEventListener("tap",this.onTapAlign.bind(this)),this.shadowRoot.getElementById("undo").addEventListener("tap",this.onTapUndo.bind(this)),this.shadowRoot.getElementById("redo").addEventListener("tap",this.onTapRedo.bind(this)),this.shadowRoot.getElementById("front").addEventListener("tap",this.onTapZorder.bind(this)),this.shadowRoot.getElementById("back").addEventListener("tap",this.onTapZorder.bind(this)),this.shadowRoot.getElementById("forward").addEventListener("tap",this.onTapZorder.bind(this)),this.shadowRoot.getElementById("backward").addEventListener("tap",this.onTapZorder.bind(this)),this.shadowRoot.getElementById("fullscreen").addEventListener("tap",this.onTapFullscreen.bind(this)),this.shadowRoot.getElementById("cut").addEventListener("tap",this.onTapCut.bind(this)),this.shadowRoot.getElementById("copy").addEventListener("tap",this.onTapCopy.bind(this)),this.shadowRoot.getElementById("paste").addEventListener("tap",this.onTapPaste.bind(this)),this.shadowRoot.getElementById("delete").addEventListener("tap",this.onTapDelete.bind(this)),this.shadowRoot.getElementById("font-increase").addEventListener("tap",this.onTapFontIncrease.bind(this)),this.shadowRoot.getElementById("font-decrease").addEventListener("tap",this.onTapFontDecrease.bind(this)),this.shadowRoot.getElementById("group").addEventListener("tap",this.onTapGroup.bind(this)),this.shadowRoot.getElementById("ungroup").addEventListener("tap",this.onTapUngroup.bind(this)),this.shadowRoot.getElementById("symmetry-x").addEventListener("tap",this.onTapSymmetryX.bind(this)),this.shadowRoot.getElementById("symmetry-y").addEventListener("tap",this.onTapSymmetryY.bind(this)),this.shadowRoot.getElementById("rotate-cw").addEventListener("tap",this.onTapRotateCW.bind(this)),this.shadowRoot.getElementById("rotate-ccw").addEventListener("tap",this.onTapRotateCCW.bind(this)),this.shadowRoot.getElementById("toggle-property").addEventListener("tap",this.onTapToggle.bind(this)),this.shadowRoot.getElementById("fit-scene").addEventListener("tap",this.onTapFitScene.bind(this)),this.shadowRoot.getElementById("distribute-vertical").addEventListener("tap",this.onTapDistribute.bind(this)),this.shadowRoot.getElementById("distribute-horizontal").addEventListener("tap",this.onTapDistribute.bind(this)),this.shadowRoot.getElementById("preview").addEventListener("tap",this.onTapPreview.bind(this))}updated(e){e.has("scene")&&this.onSceneChanged(this.scene,e.scene),e.has("selected")&&this.onSelectedChanged(this.selected,e.selected)}render(){return Object(r.e)(s||(s=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <div tools>\n <span><slot></slot></span>\n\n <span button id="undo" title="undo (',')"> </span>\n <span button id="redo" title="redo (',')"> </span>\n\n <span class="vline"></span>\n\n <span button id="cut" title="cut (',')"> </span>\n <span button id="copy" title="copy (',')"> </span>\n <span button id="paste" title="paste (',')"> </span>\n <span\n button\n id="delete"\n title="delete (',", ",')"\n >\n </span>\n\n <span class="vline"></span>\n\n \x3c!-- TODO Implement style-copy\n <span button id="style-copy" title="format painter"></span>\n <span class="vline"></span>\n --\x3e\n\n <span\n button\n data-align="left"\n id="align-left"\n title="align left (',')"\n >\n </span>\n <span\n button\n data-align="center"\n id="align-center"\n title="align center (',')"\n >\n </span>\n <span\n button\n data-align="right"\n id="align-right"\n title="align right (',')"\n >\n </span>\n\n <span button data-align="top" id="align-top" title="align top (',')">\n </span>\n <span\n button\n data-align="middle"\n id="align-middle"\n title="align middle (',')"\n >\n </span>\n <span\n button\n data-align="bottom"\n id="align-bottom"\n title="align bottom (',')"\n >\n </span>\n\n <span\n button\n data-distribute="HORIZONTAL"\n id="distribute-horizontal"\n title="distribute horizontally (',')"\n >\n </span>\n\n <span\n button\n data-distribute="VERTICAL"\n id="distribute-vertical"\n title="distribute vertically (',')"\n >\n </span>\n\n <span class="vline"></span>\n\n <span\n button\n id="front"\n data-zorder="front"\n title="bring to front (',')"\n >\n </span>\n <span button id="back" data-zorder="back" title="send to back (',')">\n </span>\n <span button id="forward" data-zorder="forward" title="bring forward (',')">\n </span>\n <span button id="backward" data-zorder="backward" title="send backward (',')">\n </span>\n\n <span class="vline"></span>\n\n <span button id="symmetry-x" title="symmetry-x (',')"> </span>\n <span button id="symmetry-y" title="symmetry-y (',')"> </span>\n <span button id="rotate-cw" title="rotate clockwise (',')"> </span>\n <span button id="rotate-ccw" title="rotate counter clockwise (',')">\n </span>\n\n <span class="vline"></span>\n\n <span button id="group" title="group (',')"> </span>\n <span button id="ungroup" title="ungroup (',')"> </span>\n\n <span class="vline"></span>\n\n <span button id="font-increase" title="increase font size"></span>\n <span button id="font-decrease" title="decrease font size"></span>\n\n <span class="vline"></span>\n <span padding></span>\n\n <span button id="fit-scene" title="fit scene (',')"> </span>\n\n <span class="vline"></span>\n\n <span button id="preview" title="preview (',')"> </span>\n\n <span button id="fullscreen" title="fullscreen (',')"> </span>\n\n <span\n button\n id="toggle-property"\n title="toggle property panel (',')"\n toggles="true"\n >\n </span>\n </div>\n '])),this.getShortcutString("cmd","z"),this.getShortcutString("cmd","shift","z"),this.getShortcutString("cmd","x"),this.getShortcutString("cmd","c"),this.getShortcutString("cmd","v"),this.getShortcutString("backspace"),this.getShortcutString("delete"),this.getShortcutString("alt","shift","l"),this.getShortcutString("alt","shift","c"),this.getShortcutString("alt","shift","r"),this.getShortcutString("alt","shift","t"),this.getShortcutString("alt","shift","m"),this.getShortcutString("alt","shift","b"),this.getShortcutString("alt","shift","h"),this.getShortcutString("alt","shift","v"),this.getShortcutString("cmd","shift","f"),this.getShortcutString("cmd","shift","b"),this.getShortcutString("cmd","f"),this.getShortcutString("cmd","b"),this.getShortcutString("alt","shift","x"),this.getShortcutString("alt","shift","y"),this.getShortcutString("alt","shift","e"),this.getShortcutString("alt","shift","w"),this.getShortcutString("cmd","g"),this.getShortcutString("cmd","shift","g"),this.getShortcutString("cmd","d"),this.getShortcutString("ctrl","p"),this.getShortcutString("f11"),this.getShortcutString("cmd","h"))}onWheelEvent(e){var t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.scrollLeft-=40*t,e.preventDefault()}_isMacOS(){return-1!=navigator.userAgent.indexOf("Mac")}getSymbol(e){var t;switch(e){case"cmd":case"ctrl":t=this._isMacOS()?"⌘":"Ctrl";break;case"shift":t=this._isMacOS()?"⇧":"Shift";break;case"alt":case"option":t=this._isMacOS()?"⌥":"Alt";break;case"backspace":t=this._isMacOS()?"⌫":"BackSpace";break;case"delete":t=this._isMacOS()?"⌦":"Del";break;default:t=e.toUpperCase()}return t}getShortcutString(){for(var e=[],t=0;t<arguments.length;t++)e.push(this.getSymbol(arguments[t]));return e.join(this._isMacOS()?"":"+")}onShortcut(e,t){if(t)var n=e.metaKey;else n=e.ctrlKey;var i=e.altKey,r=e.shiftKey,a=n||i;switch(e.code){case"KeyZ":n&&!r?this.onTapUndo():n&&r&&this.onTapRedo();break;case"KeyY":n&&!r?this.onTapRedo():i&&r&&this.onTapSymmetryY();break;case"KeyC":n&&!r?this.onTapCopy():i&&r&&this.onTapAlign("center");break;case"KeyX":n&&!r?this.onTapCut():i&&r&&this.onTapSymmetryX();break;case"KeyV":n&&!r?(this.onTapPaste(),a=!1):i&&r&&this.onTapDistribute("VERTICAL");break;case"Delete":case"Backspace":this.onTapDelete(),a=!0;break;case"KeyG":n&&!r?this.onTapGroup():n&&r&&this.onTapUngroup();break;case"KeyF":n&&!r?this.scene.zorder("forward"):n&&r&&this.scene.zorder("front");break;case"KeyB":n&&!r?this.scene.zorder("backward"):n&&r?this.scene.zorder("back"):i&&r&&this.onTapAlign("bottom");break;case"KeyH":n&&!r?this.onTapToggle():i&&r&&this.onTapDistribute("HORIZONTAL");break;case"F11":this.onTapFullscreen(),a=!0;break;case"KeyP":n&&(this.onTapPreview(),a=!0);break;case"KeyA":n&&this.onTapSelectAll();break;case"KeyL":i&&r&&this.onTapAlign("left");break;case"KeyR":i&&r&&this.onTapAlign("right");break;case"KeyM":i&&r&&this.onTapAlign("middle");break;case"KeyT":i&&r&&this.onTapAlign("top");break;case"KeyY":i&&r&&this.onTapSymmetryY();break;case"KeyD":n&&(this.onTapFitScene(),a=!0);break;case"KeyE":i&&r?this.onTapRotateCW():n&&r&&this.onTapDownloadModel();break;case"KeyW":i&&r&&this.onTapRotateCCW();break;case"Digit1":n&&(console.log("MODEL",this.scene&&this.scene.model),a=!0);break;case"Digit2":n&&(console.log("SELECTED",this.scene&&this.scene.selected),a=!0);break;default:return!1}return a&&e.preventDefault(),!0}onExecute(e,t,n){this.shadowRoot.getElementById("undo").disabled=!t,this.shadowRoot.getElementById("redo").disabled=!n}onUndo(e,t){this.shadowRoot.getElementById("undo").disabled=!e,this.shadowRoot.getElementById("redo").disabled=!t}onRedo(e,t){this.shadowRoot.getElementById("undo").disabled=!e,this.shadowRoot.getElementById("redo").disabled=!t}onSceneChanged(e,t){e&&(e.on("execute",this.onExecute,this),e.on("undo",this.onUndo,this),e.on("redo",this.onRedo,this))}onSelectedChanged(e,t){var n=e.length>1;this.shadowRoot.getElementById("align-left").disabled=!n,this.shadowRoot.getElementById("align-center").disabled=!n,this.shadowRoot.getElementById("align-right").disabled=!n,this.shadowRoot.getElementById("align-top").disabled=!n,this.shadowRoot.getElementById("align-middle").disabled=!n,this.shadowRoot.getElementById("align-bottom").disabled=!n;var i=1===e.length;this.shadowRoot.getElementById("forward").disabled=!i,this.shadowRoot.getElementById("backward").disabled=!i,this.shadowRoot.getElementById("front").disabled=!(n||i),this.shadowRoot.getElementById("back").disabled=!(n||i)}onTapUndo(e){this.scene&&this.scene.undo()}onTapRedo(e){this.scene&&this.scene.redo()}onTapCut(e){this.scene&&this.scene.cut()}onTapCopy(e){var t=this.scene&&this.scene.copy();if(t){var n=document.createElement("textarea");n.style.position="absolute",n.style.opacity="0",n.value=t,document.body.appendChild(n),setTimeout(()=>{n.select();document.execCommand("copy");document.body.removeChild(n)},100),this.cliped=t}}onTapPaste(e){setTimeout(()=>{this.scene&&this.scene.paste(this.cliped)},100)}onTapDelete(e){this.scene&&this.scene.remove()}onTapSelectAll(e){this.scene.select("(child)")}onTapFontIncrease(e){var t=this.scene.selected;this.scene.undoableChange((function(){t.forEach((function(e){var t=e.get("fontSize");if(t||(t="15"),t){var n=parseInt(t);e.set("fontSize",n+1)}}))}))}onTapFontDecrease(e){var t=this.scene.selected;this.scene.undoableChange((function(){t.forEach((function(e){var t=e.get("fontSize");if(t||(t="15"),t){var n=parseInt(t);n>1&&e.set("fontSize",n-1)}}))}))}onTapAlign(e){if(this.scene&&!(this.scene.selected.length<=1)){if(e.target){for(var t=e.target;!t.hasAttribute("data-align")&&t!==document.body;)t=t.parentElement;var n=t.getAttribute("data-align")}else n=e;this.scene.align(n)}}onTapZorder(e){if(this.scene&&!(this.scene.selected.length<1)){if(e.target){for(var t=e.target;!t.hasAttribute("data-zorder")&&t!==document.body;)t=t.parentElement;var n=t.getAttribute("data-zorder")}else n=e.getAttribute("data-zorder");this.scene.zorder(n)}}onTapSymmetryX(e){this.scene&&this.scene.symmetryX()}onTapSymmetryY(e){this.scene&&this.scene.symmetryY()}onTapRotateCW(e){if(this.scene){var t=this.scene.selected;t.length&&t[0].isRootModel()||this.scene.undoableChange((function(){t.forEach((function(e){var t=e.get("rotation");t||(t=0),e.set("rotation",(t+Math.PI/2)%(2*Math.PI))}))}))}}onTapRotateCCW(e){if(this.scene){var t=this.scene.selected;t.length&&t[0].isRootModel()||this.scene.undoableChange((function(){t.forEach((function(e){var t=e.get("rotation");t||(t=0),e.set("rotation",(t-Math.PI/2)%(2*Math.PI))}))}))}}onTapGroup(e){this.scene&&this.scene.group()}onTapUngroup(e){this.scene&&this.scene.ungroup()}onTapFullscreen(e){this.dispatchEvent(new CustomEvent("modeller-fullscreen"))}onTapToggle(e){this.hideProperty=!this.hideProperty,this.dispatchEvent(new CustomEvent("hide-property-changed",{bubbles:!0,composed:!0,detail:{value:this.hideProperty}}))}onTapFitScene(e){this.scene&&(this.scene.resize(),this.scene.fit("ratio"))}onTapPreview(e){this.dispatchEvent(new CustomEvent("open-preview"))}onTapDownloadModel(e){this.dispatchEvent(new CustomEvent("download-model"))}onTapDistribute(e){if(this.scene&&!(this.scene.selected.length<=1)){if(e.target){for(var t=e.target;!t.hasAttribute("data-distribute")&&t!==document.body;)t=t.parentElement;var n=t.getAttribute("data-distribute")}else n=e;this.scene.distribute(n)}}}customElements.define("edit-toolbar",c)},1124:function(e,t,n){"use strict";var i,r,a,o,s,l,c=n(0),d=n(8),p=n(48);n(42),n(302),n(1372),n(1368),n(1221),n(94);function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class h extends(Object(d.b)(d.a)(c.a)){static get properties(){return{defaultGroup:String,groups:Array}}static get styles(){return[Object(c.b)(i||(i=u(["\n :host {\n display: flex;\n flex-direction: column;\n\n padding: 10px;\n background-color: white;\n }\n\n :host > * {\n margin: 10px;\n }\n\n [content] {\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n [content] > * {\n margin: 10px 0;\n }\n "])))]}render(){var e=this.groups||[];return Object(c.e)(r||(r=u(["\n <div content>\n <mwc-textfield label=",' name="name" required name></mwc-textfield>\n <mwc-textarea label=',' name="description" description></mwc-textarea>\n <mwc-select\n label=','\n group\n helper="If there is no group to choose, you can leave it empty."\n >\n ',"\n </mwc-select>\n </div>\n\n <mwc-button raised label="," @click=","></mwc-button>\n "])),d.a.t("label.name"),d.a.t("label.description"),d.a.t("label.group"),e.map(e=>Object(c.e)(a||(a=u(["\n <mwc-list-item value="," ?selected=",">","</mwc-list-item>\n "])),e.id,this.defaultGroup==e.id,e.name)),d.a.t("button.create"),e=>this.onClickSubmit(e))}onClickSubmit(e){var[t,n,i]=["name","description","group"].map(e=>this.renderRoot.querySelector("[".concat(e,"]")).value);t&&this.dispatchEvent(new CustomEvent("create-board",{detail:{name:t,description:n,groupId:i}}))}}function b(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("board-creation-popup",h);class g extends(Object(d.b)(d.a)(c.a)){static get properties(){return{defaultGroup:String,groups:Array}}static get styles(){return[Object(c.b)(o||(o=m(["\n :host {\n display: flex;\n border: var(--card-list-create-border);\n border-radius: var(--card-list-create-border-radius);\n\n background-color: #fff;\n\n align-content: center;\n justify-content: center;\n }\n\n div {\n text-align: center;\n font-size: 0.8em;\n color: var(--card-list-create-color);\n text-transform: capitalize;\n }\n\n mwc-icon {\n display: block;\n font-size: 3.5em;\n color: var(--card-list-create-icon-color);\n }\n "])))]}render(){return Object(c.e)(s||(s=m(["<div @click=","><mwc-icon>add_circle_outline</mwc-icon>create board</div> "])),e=>this.onClick())}onClick(e){var t=this;this.popup&&delete this.popup;var n=Object(c.e)(l||(l=m(["\n <board-creation-popup\n .defaultGroup=","\n .groups=","\n @create-board=","\n ></board-creation-popup>\n "])),this.defaultGroup,this.groups,function(){var e,n=(e=function*(e){var{name:n,description:i,groupId:r}=e.detail;t.dispatchEvent(new CustomEvent("create-board",{detail:{name:n,description:i,groupId:r}})),t.popup&&t.popup.close()},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){b(a,i,r,o,s,"next",e)}function s(e){b(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}());this.popup=Object(p.j)(n,{backdrop:!0,size:"large",title:d.a.t("title.create-board")})}reset(){}}customElements.define("board-creation-card",g)},1128:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i,r=n(0);var a,o,s=Object(r.b)(i||(a=["\n h1 {\n background-color: var(--help-panel-title-background-color);\n margin: var(--help-panel-title-margin);\n padding: var(--help-panel-title-padding);\n font-size: var(--help-panel-h1-title-font-size);\n text-transform: capitalize;\n color: var(--help-panel-h1-title-color);\n }\n h2 {\n margin: var(--help-panel-title-margin);\n padding: var(--help-panel-title-padding);\n font-size: var(--help-panel-h2-title-font-size);\n color: var(--help-panel-h2-title-color);\n text-transform: capitalize;\n }\n h3 {\n margin: var(--help-panel-title-margin);\n padding: var(--help-panel-title-padding);\n font-size: var(--help-panel-h3-title-font-size);\n color: var(--help-panel-h3-title-color);\n }\n mwc-icon {\n vertical-align: middle;\n }\n\n img {\n display: block;\n margin: var(--margin-narrow) var(--margin-default);\n max-width: 100%;\n }\n img[src*='#icon25'] {\n width: 25px;\n height: 25px;\n }\n img[src*='#icon50'] {\n width: 50px;\n height: 50px;\n }\n img[src*='#icon100'] {\n width: 100px;\n height: 100px;\n }\n img[src*='#icon25inlined'],\n img[src*='#icon50inlined'],\n img[src*='#icon100inlined'] {\n display: inline-block;\n margin: var(--margin-narrow);\n }\n p {\n margin: var(--help-panel-paragraph-margin);\n font-size: var(--help-panel-font-size);\n }\n [focusBox] {\n display: block;\n padding: var(--help-panel-focusBox-padding);\n border: var(--help-panel-focusBox-border);\n border-radius: var(--help-panel-focusBox-border-radius);\n background-color: var(--help-panel-focusBox-background-color);\n color: var(--help-panel-focusBox-color);\n }\n\n [subtitle] {\n font-weight: bold;\n }\n [subtitle]::before {\n content: '';\n width: 7px;\n height: 7px;\n display: inline-block;\n border: 3px solid var(--theme-white-color);\n border-radius: 50%;\n margin-right: var(--margin-narrow);\n }\n p + ol,\n p + ul {\n font-size: var(--help-panel-content-font-size);\n }\n ol,\n ul {\n padding: 0 0 0 30px;\n }\n ol li,\n ul li {\n margin: 0 0 2px 0;\n }\n a {\n margin-bottom: 0 !important;\n color: var(--help-panel-a-color);\n font-size: var(--fontsize-default);\n text-decoration: underline;\n }\n a mwc-icon {\n font-size: var(--help-panel-a-icon-size);\n margin: 0;\n }\n a:hover {\n background-color: var(--opacity-light-dark-color);\n font-weight: bold;\n }\n\n table {\n border-collapse: collapse;\n border: var(--border-dark-color);\n font-size: 0.9em;\n }\n th {\n border-top: 3px solid var(--primary-color);\n background-color: var(--main-section-background-color);\n color: var(--secondary-color);\n }\n th,\n td {\n border-bottom: var(--border-dark-color);\n padding: var(--padding-narrow);\n }\n tr:nth-child(even) {\n background-color: #f6f6f6;\n }\n"],o||(o=a.slice(0)),i=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(o)}}))))},1170:function(e,t,n){"use strict";var i,r,a,o=n(0),s=n(29);n(964);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
108
- /**
109
- * @license Copyright © HatioLab Inc. All rights reserved.
110
- */class u extends o.a{constructor(){super(),this.type="solid",this.min=0,this.max=1,this.value=[],this.focused=null}static get is(){return"things-editor-color-stops"}static get properties(){return{type:String,min:Number,max:Number,value:Array,focused:Object}}static get styles(){return[Object(o.b)(i||(i=p(["\n :host {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 0;\n grid-auto-rows: minmax(0, auto);\n }\n\n #color-stops {\n grid-column: 1 / 11;\n grid-row: 1;\n\n clear: both;\n margin-bottom: -3px;\n }\n\n #colorbar {\n width: 95%;\n height: 12px;\n margin: auto;\n margin-bottom: 25px;\n border: 1px solid #ccc;\n }\n\n #markers {\n position: relative;\n top: 30px;\n }\n\n #markers div {\n width: 10px;\n height: 10px;\n margin-top: -15px;\n position: absolute;\n border: 2px solid #fff;\n cursor: pointer;\n -webkit-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);\n -moz-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);\n box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);\n }\n\n #markers div::before {\n border-bottom: 6px solid #fff;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n content: '';\n width: 0;\n height: 0;\n left: -2px;\n position: absolute;\n top: -8px;\n }\n\n #markers div[focused] {\n border-color: var(--things-editor-colorbar-marker-focused-color, #585858);\n }\n\n #markers div[focused]:before {\n border-bottom: 7px solid var(--things-editor-colorbar-marker-focused-color, #585858);\n }\n\n .icon-only-label {\n background: url(/assets/images/icon-properties-label.png) no-repeat;\n width: 30px;\n height: 24px;\n }\n\n .icon-only-label.color {\n grid-column: 1 / 2;\n grid-row: 2;\n\n background-position: 70% -498px;\n float: left;\n margin-top: 0;\n }\n\n .icon-only-label.position {\n grid-column: 7 / 8;\n grid-row: 2;\n\n background-position: 70% -797px;\n float: left;\n margin-top: 0;\n }\n\n things-editor-color {\n grid-column: 2 / 7;\n grid-row: 2;\n }\n\n input[type='number'] {\n grid-column: 8 / 11;\n grid-row: 2;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n "])))]}connectedCallback(){super.connectedCallback(),this._dragImage=new Image,this._dragImage.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}firstUpdated(){window.addEventListener("resize",()=>{this.requestUpdate()})}updated(e){var t=!1;if(e.has("value")&&this.value instanceof Array){var n=e.get("value");!this.focused||n&&-1!=this.value.findIndex(e=>e.position==this.focused.position&&e.color==this.focused.color)||(this.focused=null),Object(s.c)(n,this.value)||(t=!0)}(t||e.has("min")||e.has("max"))&&(this._renderColorBar(this.min,this.max,this.type),this.requestUpdate())}render(){return Object(o.e)(r||(r=p(['\n <div id="color-stops">\n <div id="colorbar" @dblclick=','>\n <div\n id="markers"\n @dblclick=',"\n @mousedown=","\n @dragstart=","\n @drag=","\n @dragend=","\n >\n ",'\n </div>\n </div>\n </div>\n\n <label class="icon-only-label color"></label>\n <things-editor-color\n id="color-editor"\n .value=',"\n @change=",'\n >\n </things-editor-color>\n\n <label class="icon-only-label position"></label>\n <input\n type="number"\n id="color-position"\n .value=',"\n @change=",'\n step="0.01"\n />\n '])),e=>this._onDblClickColorbar(e),e=>this._onDblClickMarkers(e),e=>this._onMouseDown(e),e=>this._onDragStart(e),this._throttled(100,this._onDrag.bind(this)),e=>this._onDragEnd(e),this._refinedValue(this.value).map((e,t)=>Object(o.e)(a||(a=p(['\n <div\n .style="background-color:',";margin-left:",'px;"\n marker-index=','\n draggable="true"\n ></div>\n '])),e.color,this._calculatePosition(e.position,this.min,this.max),t)),this.focused&&this.focused.color,e=>this._onChangeSubComponent(e),this.focused&&this.focused.position,e=>this._onChangeSubComponent(e))}get colorbar(){return this.shadowRoot.querySelector("#colorbar")}get colorEditor(){return this.shadowRoot.querySelector("#color-editor")}_refinedValue(e){return e instanceof Array?e:[]}_setFocused(e){if(!this.focused||this.focused.index!==e){var t=this.shadowRoot.querySelector("#markers div[marker-index='".concat(e,"']")),n=this.shadowRoot.querySelectorAll("#markers div[focused]");if(n.length>0&&n.forEach(e=>e.removeAttribute("focused")),t&&t.setAttribute("focused",!0),t){var i=this.value[e];this._changeFocused({index:e,color:i.color,position:Math.max(this.min,Math.min(i.position,this.max))})}else this.focused=null}}_changeFocused(e){if(e){this.focused=e,this.value=this.value.map((t,n)=>n!=e.index?t:{color:e.color,position:e.position}).sort((e,t)=>t.position<e.position);var t=this.value[e.index];if(e.position!=t.position||e.color!=t.color){for(var n=-1,i=0;i<this.value.length;i++)if(t=this.value[i],e.position==t.position&&e.color==t.color){n=i;break}this._setFocused(n)}}else this._setFocused(-1)}_renderColorBar(e,t,n){var i=this._refinedValue(this.value),r="";if(i instanceof Array&&i.length>0){if("gradient"==this.type)var a=(i||[]).map((function(n){var i=(n.position-e)/(t-e);return"".concat(n.color," ").concat(100*i,"%")}));else{var o=null,s=0;a=(i||[]).map((function(n){var i=(n.position-e)/(t-e);if(o){s=(o.position-e)/(t-e);var r="".concat(n.color," ").concat(100*s,"%, ").concat(n.color," ").concat(100*i,"%")}else r="".concat(n.color," ").concat(100*i,"%");return o=n,r}));o&&(s=(o.position-e)/(t-e),a.push("".concat(o.color," ").concat(100*s,"%, white ").concat(100*s,"%, white 100%")))}r=a.join(",")}else r="black 0%, black 100%";this.colorbar.style.background="linear-gradient(to right, ".concat(r,")")}_onChangeSubComponent(e){var t=e.target,n=t.id;if(this.focused){switch(n){case"color-editor":this._changeFocused(c(c({},this.focused),{},{color:t.value}));break;case"color-position":this._changeFocused(c(c({},this.focused),{},{position:Math.max(this.min,Math.min(t.value,this.max))}))}this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}_onDblClickColorbar(e){if(e.target===this.colorbar){for(var t=this.colorbar.offsetWidth,n=this.min+(this.max-this.min)*(e.offsetX/t),i=this.value?this.value.slice():[],r=0;r<i.length&&!(i[r].position>n);r++);i.splice(r,0,{position:n,color:"#fff"}),this.value=i,this.focused=null,this._setFocused(r),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}_onDblClickMarkers(e){this.colorEditor.showPicker()}_onMouseDown(e){var t=e.target.getAttribute("marker-index");this._setFocused(t)}_onDragStart(e){e.dataTransfer.setDragImage(this._dragImage,0,0),this.dragstart={position:this.focused.position,x:e.clientX,y:e.clientY}}_throttled(e,t){var n=0;return function(...i){var r=(new Date).getTime();if(!(r-n<e))return n=r,t(...i)}}_onDrag(e){if(!(e.clientX<=0)){var t=this.colorbar.offsetWidth,n=this.dragstart.position+(e.clientX-this.dragstart.x)/t*(this.max-this.min);n!=this.focused.position&&(this._changeFocused(c(c({},this.focused),{},{position:Math.max(this.min,Math.min(n,this.max))})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}}_onDragEnd(e){e.clientY-this.dragstart.y>40&&(this.value.splice(this.focused.index,1),this.value=this.value.slice(),this._setFocused(-1),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}_calculatePosition(e,t,n){var i=e;i>this.max?i=this.max:i<this.min&&(i=this.min);var r=this.colorbar&&this.colorbar.offsetWidth||this._colorbar_size||0;return(i-this.min)/(this.max-this.min)*r-7}}customElements.define(u.is,u)},1171:function(e,t,n){"use strict";var i,r,a,o,s,l,c,d,p,u,h,b,m=n(0);n(964);function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
111
- /**
112
- * @license Copyright © HatioLab Inc. All rights reserved.
113
- */class v extends m.a{static get is(){return"things-editor-value-map"}static get properties(){return{value:Object,valuetype:String}}static get styles(){return[Object(m.b)(i||(i=g(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n border-bottom: 1px solid #c0c0c0;\n }\n\n div:last-child {\n border-bottom: none;\n }\n\n div > * {\n min-width: 0px;\n margin: 2px;\n padding: 0;\n }\n\n button {\n width: 20px;\n text-align: center;\n }\n\n input,\n things-editor-color {\n flex: 1;\n }\n\n things-editor-color {\n --things-editor-color-input-color: {\n margin: 1px;\n }\n --things-editor-color-input-span: {\n width: 10px;\n height: 10px;\n }\n }\n\n input[type='checkbox'] {\n width: initial;\n }\n "])))]}constructor(){super(),this.value={},this.valuetype="string",this.keytype="string"}firstUpdated(){this.renderRoot.addEventListener("change",this._onChange.bind(this))}render(){return Object(m.e)(r||(r=g(["\n ",'\n\n <div data-record-new>\n <input type="text" data-key placeholder="key" value="" /> ','\n <button class="record-action" @click=',' tabindex="-1">+</button>\n </div>\n\n <div data-record>\n <input type="text" data-key data-default="" value="default" disabled /> ',' <button class="record-action" @click=',' tabindex="-1">&gt;</button>\n </div>\n '])),this._toArray(this.value).map(e=>Object(m.e)(a||(a=g(['\n <div data-record>\n <input type="text" data-key placeholder="key" .value='," /> ",' <button class="record-action" @click=',' tabindex="-1">-</button>\n </div>\n '])),e.key,"boolean"==this.valuetype?Object(m.e)(o||(o=g([' <input type="checkbox" data-value .checked='," data-value-type="," /> "])),e.value,this.valuetype):"color"==this.valuetype?Object(m.e)(s||(s=g([" <things-editor-color data-value .value=",' tabindex="-1"> </things-editor-color> '])),e.value):Object(m.e)(l||(l=g(['\n <input\n type="text"\n data-value\n placeholder="value"\n .value=',"\n data-value-type=","\n />\n "])),e.value,this.valuetype),e=>this._delete(e))),"boolean"==this.valuetype?Object(m.e)(c||(c=g([' <input type="checkbox" data-value data-value-type='," /> "])),this.valuetype):"color"==this.valuetype?Object(m.e)(d||(d=g([' <things-editor-color data-value value="" tabindex="-1" placeholder="value"> </things-editor-color> ']))):Object(m.e)(p||(p=g([' <input type="text" data-value placeholder="value" value="" data-value-type='," /> "])),this.valuetype),e=>this._add(e),"boolean"==this.valuetype?Object(m.e)(u||(u=g(['\n <input\n type="checkbox"\n data-value\n .checked=',"\n data-value-type=","\n />\n "])),this.value&&this.value.default,this.valuetype):"color"==this.valuetype?Object(m.e)(h||(h=g(["\n <things-editor-color\n data-value\n .value=",'\n placeholder="value"\n tabindex="-1"\n >\n </things-editor-color>\n '])),this.value&&this.value.default||""):Object(m.e)(b||(b=g(['\n <input\n type="text"\n data-value\n placeholder="value"\n .value=',"\n data-value-type=","\n />\n "])),this.value&&this.value.default||"",this.valuetype),e=>this._sort(e))}_defaultValue(e){switch(e||this.valuetype){case"color":return"#000000";case"boolean":case"checkbox":return!1;default:return""}}_onChange(e){if(!this._changingNow){this._changingNow=!0;var t,n=e.target;t="checkbox"==n.type?Boolean(n.checked):n.value;var i=n.parentElement;if(i.hasAttribute("data-record"))for(var r=i.querySelectorAll("[data-value]:not([hidden])"),a=0;a<r.length;a++)r[a]!==n&&(r[a].value=t||this._defaultValue());i.hasAttribute("data-record")?this._build():i.hasAttribute("data-record-new")&&n.hasAttribute("data-value")&&this._add(),this._changingNow=!1}}_build(e){if(e)var t=this.renderRoot.querySelectorAll("[data-record],[data-record-new]");else t=this.renderRoot.querySelectorAll("[data-record]");for(var n={},i=0;i<t.length;i++){var r=t[i],a=r.querySelector("[data-key]").value,o=r.querySelectorAll('[data-value]:not([style*="display: none"])');if(o&&0!=o.length){var s,l=o[o.length-1];s="checkbox"==l.type?Boolean(l.checked):l.value,a&&(n[a]=s||this._defaultValue())}}this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_toArray(e){var t=[];for(var n in e)"default"!=n&&t.push({key:n,value:e[n]});return t}_sort(e){var t="number"===this.keytype?function(e,t){return parseFloat(t.key)<parseFloat(e.key)}:function(e,t){return t.key<e.key},n=this._toArray(this.value).sort(t).reduce((function(e,t){return e[t.key]=t.value,e}),{});n.default=this.value.default,this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_add(e){this._build(!0);for(var t=this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])'),n=0;n<t.length;n++){var i=t[n];"checkbox"==i.type?i.checked=!1:i.value=this._defaultValue(i.type)}t[0].focus()}_delete(e){e.target.parentElement.querySelector("[data-key]").value="",this._build()}}customElements.define(v.is,v)},1172:function(e,t,n){"use strict";var i,r,a,o,s,l,c,d,p,u,h,b,m=n(0);n(964);function g(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
114
- /**
115
- * @license Copyright © HatioLab Inc. All rights reserved.
116
- */class v extends m.a{static get is(){return"things-editor-value-range"}static get properties(){return{value:Object,valuetype:String}}static get styles(){return[Object(m.b)(i||(i=g(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n border-bottom: 1px solid #c0c0c0;\n }\n\n div:last-child {\n border-bottom: none;\n }\n\n div > * {\n min-width: 0px;\n margin: 2px;\n padding: 0;\n }\n\n button {\n width: 20px;\n text-align: center;\n }\n\n input,\n things-editor-color {\n flex: 1;\n }\n\n things-editor-color {\n --things-editor-color-input-color: {\n margin: 2px;\n }\n --things-editor-color-input-span: {\n width: 12px;\n height: 12px;\n }\n }\n\n [placeholder='value'] {\n flex: 2;\n }\n\n div {\n border-bottom: 1px solid #c0c0c0;\n }\n\n div:last-child {\n border-bottom: none;\n }\n\n input[type='checkbox'] {\n width: initial;\n }\n "])))]}constructor(){super(),this.value={},this.valuetype="string",this.rangetype="number"}firstUpdated(){this.renderRoot.addEventListener("change",this._onChange.bind(this))}render(){return Object(m.e)(r||(r=g(["\n ",'\n\n <div data-record-new>\n <input type="text" data-from placeholder="<=" value="" />\n <input type="text" data-to placeholder="&gt;" value="" />\n\n ','\n <button class="record-action" @click=',' tabindex="-1">+</button>\n </div>\n\n <div data-record>\n <input type="text" data-from data-default="" disabled value="default" />\n <input type="text" data-to placeholder="&gt;" value="" hidden />\n\n ',' <button class="record-action" @click="','">&gt;</button>\n </div>\n '])),this._toArray(this.value).map(e=>Object(m.e)(a||(a=g(['\n <div data-record>\n <input type="text" data-from placeholder="<=" .value=',' />\n <input type="text" data-to placeholder="&gt;" .value='," />\n\n ",' <button class="record-action" @click=',' tabindex="-1">-</button>\n </div>\n '])),e.from,e.to,"boolean"==this.valuetype?Object(m.e)(o||(o=g([' <input type="checkbox" data-value .checked='," data-value-type="," /> "])),e.value,this.valuetype):"color"==this.valuetype?Object(m.e)(s||(s=g([" <things-editor-color data-value .value=","> </things-editor-color> "])),e.value):Object(m.e)(l||(l=g(['\n <input\n type="text"\n data-value\n placeholder="value"\n .value=',"\n data-value-type=","\n />\n "])),e.value,this.valuetype),e=>this._delete(e))),"boolean"==this.valuetype?Object(m.e)(c||(c=g([' <input type="checkbox" data-value data-value-type='," /> "])),this.valuetype):"color"==this.valuetype?Object(m.e)(d||(d=g([' <things-editor-color data-value value="" placeholder="value"> </things-editor-color> ']))):Object(m.e)(p||(p=g([' <input type="text" data-value placeholder="value" value="" data-value-type='," /> "])),this.valuetype),e=>this._add(e),"boolean"==this.valuetype?Object(m.e)(u||(u=g(['\n <input\n type="checkbox"\n data-value\n .checked=',"\n data-value-type=","\n />\n "])),this.value&&this.value.default,this.valuetype):"color"==this.valuetype?Object(m.e)(h||(h=g(["\n <things-editor-color data-value .value=",' placeholder="value">\n </things-editor-color>\n '])),this.value&&this.value.default||""):Object(m.e)(b||(b=g(['\n <input\n type="text"\n data-value\n .value=','\n placeholder="value"\n class="default-value"\n data-value-type=',"\n />\n "])),this.value&&this.value.default||"",this.valuetype),e=>this._sort(e))}_defaultValue(e){switch(e||this.valuetype){case"color":return"#000000";case"boolean":case"checkbox":return!1;default:return""}}_onChange(e){if(!this._changingNow){this._changingNow=!0;var t,n=e.target;t="checkbox"==n.type?Boolean(n.checked):n.value;var i=n.parentElement;if(n.hasAttribute("data-value"))for(var r=i.querySelectorAll("[data-value]:not([hidden])"),a=0;a<r.length;a++)r[a]!==n&&(r[a].value=t);i.hasAttribute("data-record")?this._build():i.hasAttribute("data-record-new")&&n.hasAttribute("data-value")&&this._add(),this._changingNow=!1}}_build(e){if(e)var t=this.renderRoot.querySelectorAll("[data-record],[data-record-new]");else t=this.renderRoot.querySelectorAll("[data-record]");for(var n={},i=0;i<t.length;i++){var r=t[i],a=r.querySelector("[data-from]").value,o=r.querySelector("[data-to]").value,s=r.querySelectorAll('[data-value]:not([style*="display: none"])');if(s&&0!=s.length){var l,c=s[s.length-1];l="checkbox"==c.type?Boolean(c.checked):c.value,a&&("default"===a?n.default=l||("color"==this.valuetype?"#000000":""):n["".concat(a,"~").concat(o)]=l)}}this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_toArray(e){var t=[];for(var n in e)if("default"!=n){var i=n.split("~");t.push({from:i[0],to:i[1],value:e[n]})}return t}_sort(e){var t="number"===this.rangetype?function(e,t){return parseFloat(t.from)<parseFloat(e.from)}:function(e,t){return t.from<e.from},n=this._toArray(this.value).sort(t).reduce((function(e,t){return e["".concat(t.from,"~").concat(t.to)]=t.value,e}),{});n.default=this.value.default,this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_add(e){this._build(!0);for(var t=this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])'),n=0;n<t.length;n++){var i=t[n];"checkbox"==i.type?i.checked=!1:i.value=this._defaultValue(i.type)}t[0].focus()}_delete(e){e.target.parentElement.querySelector("[data-from]").value="",this._build()}}customElements.define(v.is,v)},1173:function(e,t,n){"use strict";var i,r,a,o=n(0),s=(n(42),n(48)),l=n(8);n(1119);function c(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
117
- /**
118
- * @license Copyright © HatioLab Inc. All rights reserved.
119
- */class p extends o.a{static get properties(){return{value:String,properties:Object}}static get styles(){return[Object(o.b)(i||(i=d(["\n :host {\n position: relative;\n display: inline-block;\n }\n\n input[type='text'] {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n mwc-icon {\n position: absolute;\n top: 0;\n right: 3px;\n }\n "])))]}render(){return Object(o.e)(r||(r=d(['\n <input id="text" type="text" .value='," @change="," />\n\n <mwc-icon @click=",">","</mwc-icon>\n "])),this.value||"",e=>this._onInputChanged(e),e=>this.openSelector(e),this.getIconByCategory())}getIconByCategory(){var{category:e}=this.properties||{};switch(e){case"audio":return"library_music";case"video":return"video_library";case"image":return"image";case"text":case"application":default:return"attachment"}}_onInputChanged(e){this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}openSelector(){var e=this;this.popup&&delete this.popup;this.value;var{category:t="application"}=this.properties||{},n=Object(o.e)(a||(a=d(["\n <attachment-selector\n .creatable=",'\n .category="','"\n @attachment-selected=',"\n ></attachment-selector>\n "])),!0,t,function(){var t,n=(t=function*(t){var n=t.detail.attachment;e.value="/attachment/".concat(n.path),e.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),e.popup&&e.popup.close()},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){c(a,i,r,o,s,"next",e)}function s(e){c(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}());this.popup=Object(s.j)(n,{backdrop:!0,size:"large",title:l.a.t("title.select attachment")})}}customElements.define("things-editor-attachment-selector",p)},1174:function(e,t,n){"use strict";var i,r,a,o=n(0),s=(n(42),n(48)),l=n(8);n(1035);function c(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
120
- /**
121
- * @license Copyright © HatioLab Inc. All rights reserved.
122
- */class p extends o.a{static get properties(){return{value:String,properties:Object}}static get styles(){return[Object(o.b)(i||(i=d(["\n :host {\n position: relative;\n display: inline-block;\n }\n\n input[type='text'] {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n mwc-icon {\n position: absolute;\n top: 0;\n right: 0;\n }\n "])))]}render(){return Object(o.e)(r||(r=d(['\n <input id="text" type="text" .value='," @change="," />\n\n <mwc-icon @click=",">dashboard</mwc-icon>\n "])),this.value||"",e=>this._onInputChanged(e),e=>this.openSelector(e))}_onInputChanged(e){this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}openSelector(){var e=this;this.popup&&delete this.popup;this.value;var t=Object(o.e)(a||(a=d(["\n <board-selector\n .creatable=","\n .value=","\n @board-selected=","\n ></board-selector>\n "])),!0,this.value,function(){var t,n=(t=function*(t){var n=t.detail.board;e.value=n.id,e.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),e.popup&&e.popup.close()},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){c(a,i,r,o,s,"next",e)}function s(e){c(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}());this.popup=Object(s.j)(t,{backdrop:!0,size:"large",title:l.a.t("title.select board")})}}customElements.define("things-editor-board-selector",p)},1175:function(e,t,n){"use strict";n.r(t),n.d(t,"BoardViewerPage",(function(){return w}));var i,r,a,o,s=n(1121),l=n(35),c=n(284),d=n(0),p=n(77),u=n(1001);n(1047),n(1088);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function v(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){g(a,i,r,o,s,"next",e)}function s(e){g(a,i,r,o,s,"throw",e)}o(void 0)}))}}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var y=()=>{};class w extends(Object(p.a)(l.store)(l.PageView)){static get properties(){return{_board:Object,_boardId:String,_baseUrl:String,_showSpinner:Boolean}}static get styles(){return[Object(d.b)(i||(i=f(["\n :host {\n display: flex;\n flex-direction: column;\n\n width: 100%; /* 전체화면보기를 위해서 필요함. */\n height: 100%;\n\n overflow: hidden;\n position: relative;\n }\n\n board-viewer {\n flex: 1;\n }\n\n oops-spinner {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n oops-spinner[show] {\n display: block;\n }\n\n oops-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n "])))]}get oopsNote(){return{icon:"insert_chart_outlined",title:"EMPTY BOARD",description:"There are no board to be shown"}}get context(){return{title:this.lifecycle.params.title||(this._board?this._board.name:this._showSpinner?"Fetching board...":"Board Not Found")}}render(){var e=!this._showSpinner&&!this._board&&this.oopsNote;return e?Object(d.e)(r||(r=f(["\n <oops-note\n icon=","\n title=","\n description=","\n @click=","\n ></oops-note>\n "])),e.icon,e.title,e.description,e.click||y):Object(d.e)(a||(a=f(["\n <board-viewer .board="," .provider=","></board-viewer>\n <oops-spinner ?show=","></oops-spinner>\n "])),this._board,u.b,this._showSpinner)}updated(e){if(e.has("_boardId")){var t=this.shadowRoot.querySelector("board-viewer");t&&t.closeScene(),this.refresh()}}pageUpdated(e,t){if(this.active)this._boardId=t.resourceId;else{this._boardId=null;var n=this.shadowRoot.querySelector("board-viewer");n&&n.closeScene()}}stateChanged(e){this._baseUrl=e.app.baseUrl}refresh(){var e=this;return v((function*(){if(e._boardId)try{e._showSpinner=!0,e.updateContext();var t=(yield l.client.query({query:Object(c.a)(o||(o=f(["\n query FetchBoardById($id: String!) {\n board(id: $id) {\n id\n name\n model\n }\n }\n "]))),variables:{id:e._boardId},context:Object(l.gqlContext)()})).data.board;if(!t)throw e._board=null,"board not found";e._board=b(b({},t),{},{model:JSON.parse(t.model)})}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,ex:e}}))}finally{e._showSpinner=!1,e.updateContext()}}))()}getGrf(){var e=this;return v((function*(){var{labelRotation:t}=e._board.model,{width:n,height:i,data:r}=(yield e.shadowRoot.querySelector("board-viewer").getSceneImageData())||{};if(!n)throw"Cannot get SceneImageData...";return Object(s.b)(r,n,i,t)}))()}printTrick(e){var t=this;return v((function*(){yield t.renderRoot.querySelector("board-viewer").printTrick(e)}))()}}customElements.define("board-viewer-page",w)},1176:function(e,t,n){"use strict";n.r(t),n.d(t,"BoardPlayerPage",(function(){return b}));var i,r,a,o,s=n(35),l=n(284),c=n(0),d=n(77);n(1118),n(1088);function p(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var h=()=>{};class b extends(Object(d.a)(s.store)(s.PageView)){static get properties(){return{_playGroup:Object,_playGroupId:String,_boards:Array,_baseUrl:String,_showSpinner:Boolean}}static get styles(){return[Object(c.b)(i||(i=u(["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n overflow: hidden;\n position: relative;\n }\n\n board-player {\n flex: 1;\n }\n\n oops-spinner {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n oops-spinner[show] {\n display: block;\n }\n\n oops-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n "])))]}refresh(){var e,t=this;return(e=function*(){if(t._playGroupId)try{if(t._showSpinner=!0,t.updateContext(),t._playGroup=(yield s.client.query({query:Object(l.a)(r||(r=u(["\n query FetchPlayGroup($id: String!) {\n playGroup(id: $id) {\n id\n name\n description\n boards {\n id\n name\n description\n model\n thumbnail\n createdAt\n creator {\n id\n name\n }\n updatedAt\n updater {\n id\n name\n }\n }\n }\n }\n "]))),variables:{id:t._playGroupId}})).data.playGroup,!t._playGroup)throw"playgroup not found";t._boards=t._playGroup.boards}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,ex:e}}))}finally{t._showSpinner=!1,t.updateContext()}},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){p(a,i,r,o,s,"next",e)}function s(e){p(a,i,r,o,s,"throw",e)}o(void 0)}))})()}updated(e){e.has("_playGroupId")&&(this.shadowRoot.querySelector("board-player").stop(),this.refresh())}stateChanged(e){this._baseUrl=e.app.baseUrl}get oopsNote(){return{icon:"style",title:"EMPTY PLAYGROUP",description:"There are no board to be shown"}}get context(){return{title:this._playGroup?this._playGroup.name:this._showSpinner?"Fetching playgroup...":"Playgroup Not Found"}}render(){var e=!this._showSpinner&&!this._playGroup&&this.oopsNote;return e?Object(c.e)(a||(a=u(["\n <oops-note\n icon=","\n title=","\n description=","\n @click=","\n ></oops-note>\n "])),e.icon,e.title,e.description,e.click||h):Object(c.e)(o||(o=u(["\n <board-player .boards=","></board-player>\n <oops-spinner ?show=","></oops-spinner>\n "])),this._boards,this._showSpinner)}pageUpdated(e,t){this.active?(this._playGroupId=t.resourceId,this.refresh()):(this._playGroupId=null,this.shadowRoot.querySelector("board-player").stop())}}customElements.define("board-player-page",b)},1180:function(e,t){},1182:function(e,t,n){"use strict";var i,r,a,o,s,l,c,d,p,u,h,b,m,g,v,f,y,w,A=n(8),x=n(48),O=n(35),j=n(284),k=n(0),E=n(77);n(1183),n(612);function R(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function M(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){R(a,i,r,o,s,"next",e)}function s(e){R(a,i,r,o,s,"throw",e)}o(void 0)}))}}function S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class I extends(Object(E.a)(O.store)(k.a)){static get styles(){return[Object(k.b)(i||(i=S(["\n :host {\n display: flex;\n flex-direction: column;\n\n border: 1px solid var(--primary-color);\n font: normal 15px var(--theme-font);\n color: var(--secondary-color);\n }\n ul {\n flex: 1;\n display: grid;\n grid-template-columns: 1fr 1fr;\n column-gap: 20px;\n\n overflow: auto;\n margin: 0;\n padding: var(--padding-default);\n list-style: none;\n border: 1px dashed rgba(0, 0, 0, 0.1);\n border-width: 1px 0;\n }\n input[readonly] {\n border: none;\n background-color: transparent;\n color: var(--secondary-color);\n font: var(--input-font);\n }\n li {\n padding: var(--padding-narrow);\n }\n [detail] {\n background-color: rgba(var(--primary-color-rgb), 0.05);\n }\n [detail] mwc-icon {\n vertical-align: middle;\n --mdc-icon-size: var(--fontsize-default);\n color: var(--primary-color);\n }\n [detail] li {\n display: flex;\n }\n [detail] li input {\n flex: 1;\n }\n [buttons] {\n margin: 0;\n padding: var(--padding-default);\n background-color: rgba(var(--primary-color-rgb), 0.2);\n }\n mwc-button {\n margin-right: var(--padding-narrow);\n }\n [danger] {\n --mdc-theme-primary: var(--mdc-danger-button-primary-color);\n }\n [outlined] {\n background-color: var(--theme-white-color);\n }\n\n @media screen and (max-width: 480px) {\n ul {\n grid-template-columns: 1fr;\n }\n }\n "])))]}static get properties(){return{user:Object,domainRoles:Array,grantedRoles:Object,userRoles:Array,isSuperOwner:Boolean,isDomainOwner:Boolean,activate:Boolean,domainOwner:Object}}render(){var e=this.user||{},t=this.domainRoles||[],n=this.grantedRoles||{},i="roles";return null!=t&&t.length&&(i=t[0].domain.name),Object(k.e)(r||(r=S(["\n ","\n\n <div buttons>\n ","\n ","\n ","\n ","\n </div>\n "])),this.activate?Object(k.e)(a||(a=S(["\n <ul detail>\n ",'\n </ul>\n\n <role-selector\n .roleCategory="','"\n .user="','"\n .roles="','"\n .userRoles="','"\n ></role-selector>\n\n ',"\n "])),"user"===e.userType?Object(k.e)(o||(o=S(["\n <li>\n <span>\n <mwc-icon>email</mwc-icon>\n ","\n </span>\n </li>\n "])),e.email):"",i,this.user,t,this.userRoles,Object.keys(n).map(e=>Object(k.e)(s||(s=S(['\n <role-selector\n .roleCategory="','"\n .user="','"\n .roles="','"\n .userRoles="','"\n >\n </role-selector>\n '])),e,this.user,this.grantedRoles[e],this.userRoles))):"",this.isRoleEditable()?Object(k.e)(l||(l=S([" <mwc-button\n raised\n @click=",'\n label="','"\n ></mwc-button>'])),()=>{var{availableRoles:t,selectedRoles:n}=Array.from(this.renderRoot.querySelectorAll("role-selector")).reduce((e,t)=>(e.availableRoles=e.availableRoles.concat(t.roles.map(e=>(delete e.domain,e))),e.selectedRoles=e.selectedRoles.concat(t.selectedRoles().map(e=>(delete e.domain,e))),e),{availableRoles:[],selectedRoles:[]});this.onSave(e,t,n)},A.a.t("button.save")):"","user"===e.userType?Object(k.e)(c||(c=S(["\n ","\n ","\n "])),this.isTransferable(e)?Object(k.e)(d||(d=S(["\n <mwc-button\n raised\n danger\n @click=",'\n label="','"\n ></mwc-button>\n '])),()=>this.onTransfer(e),A.a.t("button.transfer owner")):"",this.isPasswordResettable(e)?Object(k.e)(p||(p=S(['<mwc-button\n raised\n danger\n @click="','"\n label="','"\n ></mwc-button>'])),()=>this.onResetPassword(e),A.a.t("title.reset password")):""):"",this.isRemovable(e)?Object(k.e)(u||(u=S(['\n <mwc-button\n raised\n danger\n label="','"\n @click=',"\n ></mwc-button>\n "])),A.a.t("button.delete user"),()=>this.onDelete(e)):"",this.activate?"":Object(k.e)(h||(h=S(['<mwc-button raised label="activate" @click=',"></mwc-button>"])),()=>this.onActivate(e)))}isRemovable(e){return this.isDomainOwner&&e.email!==this.me.email&&!e.owner}isTransferable(e){return this.isDomainOwner&&e.email!==this.me.email&&!e.owner}isRoleEditable(){var e;return this.activate&&((null===(e=this.domainRoles)||void 0===e?void 0:e.length)||Object.keys(this.grantedRoles||{}).length)}isPasswordResettable(e){return(this.isSuperOwner||this.isDomainOwner)&&e.email!==this.me.email}updated(e){var t=this;return M((function*(){var n;e.has("user")&&(t.fetchAvailableRoles(),null!==(n=t.user)&&void 0!==n&&n.email?t.userRoles=yield t.fetchRolesOnUser(t.user.email):t.userRoles=[])}))()}fetchRolesOnUser(e){return M((function*(){var t,n=yield O.client.query({query:Object(j.a)(b||(b=S(["\n query($email: String!) {\n user(email: $email) {\n id\n name\n email\n roles {\n id\n name\n description\n domain {\n id\n }\n }\n }\n }\n "]))),variables:{email:e},context:Object(O.gqlContext)()});if(!n.errors)return(null===(t=n.data.user)||void 0===t?void 0:t.roles)||[]}))()}fetchAvailableRoles(){var e=this;return M((function*(){var t,n=yield O.client.query({query:Object(j.a)(m||(m=S(["\n query {\n roles {\n items {\n id\n domain {\n name\n }\n name\n description\n }\n total\n }\n grantedRoles {\n id\n role {\n id\n name\n description\n domain {\n name\n }\n }\n }\n }\n "]))),context:Object(O.gqlContext)()});null!==(t=n.errors)&&void 0!==t&&t.length?(e.domainRoles=[],e.grantedRoles=[]):(e.domainRoles=n.data.roles.items||[],e.grantedRoles=n.data.grantedRoles.reduce((e,t)=>{var{role:n}=t,{domain:i}=n;return e[i.name]?e[i.name].push(n):e[i.name]=[n],e},{}))}))()}onSave(e,t,n){var i=this;return M((function*(){null!=e&&e.id&&((yield O.client.mutate({mutation:Object(j.a)(g||(g=S(["\n mutation($userId: String!, $availableRoles: [ObjectRef!]!, $selectedRoles: [ObjectRef!]!) {\n updateUserRoles(userId: $userId, availableRoles: $availableRoles, selectedRoles: $selectedRoles) {\n id\n name\n roles {\n id\n description\n }\n }\n }\n "]))),variables:{userId:e.id,availableRoles:t,selectedRoles:n},context:Object(O.gqlContext)()})).errors||(i.showToast(A.a.t("text.data_updated_successfully")),i.dispatchUserUpdated()))}))()}onActivate(e){var t=this;return M((function*(){(yield O.client.mutate({mutation:Object(j.a)(v||(v=S(["\n mutation updateUser($email: String!, $patch: UserPatch!) {\n updateUser(email: $email, patch: $patch) {\n id\n name\n email\n userType\n status\n owner\n }\n }\n "]))),variables:{email:e.email,patch:{status:"activated"}},context:Object(O.gqlContext)()})).errors||(t.showToast(A.a.t("text.user activated successfully")),t.dispatchUserUpdated())}))()}onDelete(e){var t=this;return M((function*(){(yield Object(O.CustomAlert)({title:A.a.t("text.are_you_sure"),text:A.a.t("text.are_you_sure_to_x_user",{x:A.a.t("button.delete")}),confirmButton:{text:A.a.t("button.delete")},cancelButton:{text:A.a.t("button.cancel")}})).value&&(e.owner?yield Object(O.CustomAlert)({type:"warning",title:A.a.t("text.cannot_delete"),text:A.a.t("text.x_cannot_delete",{x:A.a.t("label.owner")}),confirmButton:{text:A.a.t("button.confirm")}}):(yield O.client.mutate({mutation:Object(j.a)(f||(f=S(["\n mutation deleteDomaineUser($email: String!) {\n deleteDomainUser(email: $email)\n }\n "]))),variables:{email:e.email},context:Object(O.gqlContext)()})).errors||(yield Object(O.CustomAlert)({type:"success",title:A.a.t("text.completed"),confirmButton:{text:A.a.t("button.confirm")}}),t.dispatchUserUpdated()))}))()}onTransfer(e){var t=this;return M((function*(){Object(x.j)(Object(k.e)(y||(y=S(["\n <ownership-transfer-popup\n .user=",'\n @ownershipTransferred="','"\n ></ownership-transfer-popup>\n '])),e,t.dispatchOwnershipTransferred.bind(t)),{size:"small",title:"".concat(A.a.t("title.owner_transfer"))})}))()}onResetPassword(e){return M((function*(){(yield Object(O.CustomAlert)({title:A.a.t("text.are_you_sure"),text:A.a.t("text.are_you_sure_to_x",{x:A.a.t("title.reset password")}),confirmButton:{text:A.a.t("button.confirm")},cancelButton:{text:A.a.t("button.cancel")}})).value&&((yield O.client.mutate({mutation:Object(j.a)(w||(w=S(["\n mutation resetPasswordToDefault($userId: String!) {\n resetPasswordToDefault(userId: $userId)\n }\n "]))),variables:{userId:e.id},context:Object(O.gqlContext)()})).errors||(yield Object(O.CustomAlert)({type:"success",title:A.a.t("text.completed"),text:A.a.t("text.password reset succeed"),confirmButton:{text:A.a.t("button.confirm")}})))}))()}dispatchUserUpdated(){this.dispatchEvent(new CustomEvent("userUpdated"))}dispatchOwnershipTransferred(){this.dispatchEvent(new CustomEvent("ownershipTransferred"))}showToast(e){document.dispatchEvent(new CustomEvent("notify",{detail:{message:e,option:{timer:1e3}}}))}stateChanged(e){var t;this.me=(null===(t=e.auth)||void 0===t?void 0:t.user)||{},this.isSuperOwner=this.me.super||!1,this.isDomainOwner=this.me.email===this.domainOwner.email||!1}}customElements.define("user-role-editor",I)},1183:function(e,t,n){"use strict";n(94);var i,r,a,o=n(8),s=n(35),l=n(284),c=n(0);function d(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function p(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class u extends(Object(o.b)(o.a)(c.a)){static get properties(){return{user:Object}}static get styles(){return[Object(c.b)(i||(i=p(["\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--main-section-background-color);\n padding: var(--padding-wide);\n overflow: auto;\n }\n .container {\n display: flex;\n flex-direction: column;\n flex: 1;\n }\n input {\n border: var(--border-dark-color);\n border-radius: var(--border-radius);\n margin: var(--input-margin);\n padding: var(--input-padding);\n min-width: 250px;\n font: var(--input-font);\n }\n .input-container {\n margin: auto;\n display: flex;\n }\n .input-container mwc-button {\n margin: auto 0px auto var(--padding-wide);\n }\n "])))]}render(){return Object(c.e)(r||(r=p(['\n <div class="container">\n <div>','</div>\n <div class="input-container">\n <input name="email" />\n <mwc-button raised @click=',">","</mwc-button>\n </div>\n </div>\n "])),o.a.t("text.please enter the email of the user you want to transfer owner"),this.transferOwnership,o.a.t("button.confirm"))}get emailInput(){return this.renderRoot.querySelector("input[name=email]")}transferOwnership(){var e,t=this;return(e=function*(){var e;t.doubleCheckEmail()?(yield Object(s.CustomAlert)({title:o.a.t("text.are_you_sure"),text:o.a.t("text.are_you_sure_to_transfer_owner"),confirmButton:{text:o.a.t("button.confirm")},cancelButton:{text:o.a.t("button.cancel")}})).value?null!==(e=(yield s.client.mutate({mutation:Object(l.a)(a||(a=p(["\n mutation transferOwner($email: String!) {\n transferOwner(email: $email)\n }\n "]))),variables:{email:t.user.email},context:Object(s.gqlContext)()})).errors)&&void 0!==e&&e.length||(yield Object(s.CustomAlert)({type:"success",title:o.a.t("text.completed"),text:o.a.t("text.owner_transfer_completed"),confirmButton:{text:o.a.t("button.confirm")}}),history.back(),t.dispatchEvent(new CustomEvent("ownershipTransferred",{bubbles:!0,composed:!0}))):history.back():t.showToast(o.a.t("text.email is not matched"))},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){d(a,i,r,o,s,"next",e)}function s(e){d(a,i,r,o,s,"throw",e)}o(void 0)}))})()}doubleCheckEmail(){var e;return(null===(e=this.emailInput)||void 0===e?void 0:e.value)===this.user.email}showToast(e){document.dispatchEvent(new CustomEvent("notify",{detail:{message:e,option:{timer:1e3}}}))}}window.customElements.define("ownership-transfer-popup",u)},1211:function(e,t,n){"use strict";n.r(t),n.d(t,"BoardModellerPage",(function(){return Bt}));var i,r=n(0),a=n(35),o=n(77),s=n(284),l=n(1177),c=n(29),d=n(1001),p=n(957),u=n(1034),h=(n(1112),n(1123),n(1088),[{type:"bar chart",description:"ChartJS - barchart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3RkRGNTNCMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3RkRGNTNDMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTdGREY1MzkxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdGREY1M0ExODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ywprFAAAAOElEQVR42mL8//8/AzUBEwOVwTAzkJGRMQ2Eh5GXifHSMI9lcoJgcHkZmw9GYF5mHC0PKQYAAQYA1DAJaUTMZksAAAAASUVORK5CYII=",group:"chartAndGauge",model:{type:"chartjs",top:200,left:300,width:200,height:200,chart:{type:"bar",data:{labels:[],datasets:[{label:"series 1",type:"bar",data:[],backgroundColor:"rgb(66, 110, 164)",borderColor:"rgb(66, 110, 164)",borderWidth:0,dataKey:"value",yAxisID:"left"}],labelDataKey:"color"},options:{theme:"dark",xGridLine:!1,yGridLine:!0,legend:{display:!0,position:"top"},scales:{xAxes:[{gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{display:!0}}],yAxes:[{id:"left",position:"left",gridLines:{display:!0},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}},{id:"right",position:"right",display:!1,gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}}]}}},data:[{color:"Red",value:12},{color:"Blue",value:19},{color:"Yellow",value:3},{color:"Green",value:5},{color:"Purple",value:2},{color:"Orange",value:3}]}},{type:"horizontal bar chart",description:"ChartJS - horizontal barchart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQxRUUxNTVFMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQxRUUxNTVGMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTdGREY1M0QxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdGREY1M0UxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5KED8gAAAAR0lEQVR42mL8//8/AzUBEwOVAdUNZEEXYGRkTCOkCRhMs+jmQsZBHylEhyG+cBsNQ9LTIb6wHQ1DzDAkNv2N4DCkuoEAAQYAO2AfHdJwtusAAAAASUVORK5CYII=",group:"chartAndGauge",model:{type:"chartjs",top:200,left:300,width:200,height:200,chart:{type:"horizontalBar",data:{labels:[],datasets:[{label:"series 1",data:[],backgroundColor:"rgb(66, 110, 164)",borderColor:"rgb(66, 110, 164)",borderWidth:0,dataKey:"value1"},{label:"series 2",data:[],backgroundColor:"rgb(62, 196, 221)",borderColor:"rgb(62, 196, 221)",borderWidth:0,dataKey:"value2"}],labelDataKey:"color"},options:{theme:"dark",xGridLine:!0,yGridLine:!1,legend:{display:!0,position:"top"},scales:{xAxes:[{gridLines:{display:!0},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}}],yAxes:[{id:"left",position:"left",gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}}]}}},data:[{color:"Red",value1:12,value2:24},{color:"Blue",value1:19,value2:9},{color:"Yellow",value1:3,value2:6},{color:"Green",value1:5,value2:2},{color:"Purple",value1:2,value2:4},{color:"Orange",value1:3,value2:1}]}},{type:"line chart",description:"ChartJS - line chart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQxRUUxNTYyMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQxRUUxNTYzMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDFFRTE1NjAxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDFFRTE1NjExODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4NYXMrAAABV0lEQVR42uSUXSsEURjHd4ZdK/JSWhMNKcqNCPf4Mj6Ur+LChW/AnSVF7FIirxGO39P+T82uc0LNnad+PbtzzvzP83Ymcc5VyrS0UrKVLtgfW0iSZAK3Yj/hENq/KU8aEctwW3AksQ2o8jx2+FhUkMVR3Crsw5lFBjeQR8SquOyboITMFuBcQt7s/2wkSzvoLhThHKLzeBM+9Q9Vt2sYh5pPG98Hdsg7e9ohwSaswxU8FsTMbsUiDCO0hF+zLXARbAovP+EG4DOSmjVnBjZhUoK2/6Orpj4KddbG5Bhe4NIVQlSqNmZD0FAWy7AHr35rMeUpNeIE6qppLTC3udJswb2aGJzDTPVzaopFmSPaSDrhDepQE3vWOwfKKnhTdn09CN/q2EKnrnGZ1o1psvZQKIOl/QYjirbTyd4rFbhi6U+3zesUI9zuacBfbaery//ne1i64JcAAwDpuGxB9eJThwAAAABJRU5ErkJggg==",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"line",data:{labels:[],datasets:[{label:"series 1",type:"line",backgroundColor:"rgb(66, 110, 164)",borderColor:"rgb(66, 110, 164)",borderWidth:3,pointBorderColor:"rgb(66, 110, 164)",pointBorderWidth:3,pointBackgroundColor:"rgba(255,255,255,1)",lineTension:.4,yAxisID:"left",data:[],dataKey:"value1",fill:!1},{label:"series 2",type:"line",backgroundColor:"rgb(62, 196, 221)",borderColor:"rgb(62, 196, 221)",borderWidth:3,pointBorderColor:"rgb(62, 196, 221)",pointBorderWidth:3,pointBackgroundColor:"rgba(255,255,255,1)",lineTension:.4,yAxisID:"left",data:[],dataKey:"value2",fill:!1}],labelDataKey:"data"},options:{theme:"dark",xGridLine:!1,yGridLine:!0,legend:{display:!0,position:"top"},scales:{xAxes:[{gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{display:!0}}],yAxes:[{id:"left",position:"left",gridLines:{display:!0},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}},{id:"right",position:"right",display:!1,gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}}]}}},data:[{data:"Data 1",value1:20,value2:60},{data:"Data 2",value1:30,value2:10},{data:"Data 3",value1:80,value2:40},{data:"Data 4",value1:20,value2:30},{data:"Data 5",value1:40,value2:80},{data:"Data 6",value1:10,value2:30},{data:"Data 7",value1:60,value2:20}]}},{type:"mixed chart",description:"ChartJS - mixed chart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQxRUUxNTY2MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQxRUUxNTY3MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDFFRTE1NjQxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDFFRTE1NjUxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7hnRTzAAAA/ElEQVR42uTUQQsBQRTAcbNWUcgNRzk5KeTgIifl6OzsQ/kCPgkHSiIHBxcnJEXkQNZ/amib1rIhB69+zbbNvnlvph1hWZbvk2H4Phy/TSiECCGK9xOSxGSooIrgo6Ti1UMhQZlBTj5hj7HTt8YLiQzk1NwuJkgi4VilXOWGKCBmf0+kUEPA9lkcDYT1HHqFK9SRkasjwnMaPdVqU1mijyL8bi3P0ZbtoKSq22LtsBtTnJF9todHdOT2IY+ZyxaP1OL3MLUJTTW2VNIDNk77rg5sxzDwcspDPYkWFyzcKtQrsFf8cJ7nP8XLjfTW5SA7sHXxndtG/N8FexVgAD0GVJP33JUpAAAAAElFTkSuQmCC",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"bar",subType:"mixed",data:{labels:[],datasets:[{type:"line",label:"series 1",backgroundColor:"rgb(66, 110, 164)",borderColor:"rgb(66, 110, 164)",borderWidth:3,pointBorderColor:"rgb(66, 110, 164)",pointBorderWidth:3,pointBackgroundColor:"rgba(255,255,255,1)",lineTension:.4,fill:!1,yAxisID:"left",data:[],dataKey:"value1"},{type:"bar",label:"series 2",backgroundColor:"rgb(62, 196, 221)",borderColor:"rgb(62, 196, 221)",borderWidth:0,yAxisID:"right",data:[],dataKey:"value2"}],labelDataKey:"data"},options:{theme:"dark",multiAxis:!0,xGridLine:!1,yGridLine:!0,legend:{display:!0,position:"top"},scales:{xAxes:[{gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{display:!0}}],yAxes:[{position:"left",id:"left",gridLines:{display:!0},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}},{id:"right",position:"right",display:!0,gridLines:{display:!1},scaleLabel:{labelString:"",display:!1},ticks:{autoMin:!0,autoMax:!0,display:!0}}]}}},data:[{data:"Data 1",value1:20,value2:60},{data:"Data 2",value1:30,value2:10},{data:"Data 3",value1:80,value2:40},{data:"Data 4",value1:20,value2:30},{data:"Data 5",value1:40,value2:80},{data:"Data 6",value1:10,value2:30},{data:"Data 7",value1:60,value2:20}]}},{type:"pie chart",description:"ChartJS - pie chart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzNUM5OTE3MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzNUM5OTE4MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjM1Qzk5MTUxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjM1Qzk5MTYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TEm1qAAABDElEQVR42syUsQrCMBCGjVjBQehUOnTtUApOPoj0CXwuJ1+g4IO4SoauDsVJ6Nih/oGrXMOlxtrBg59cG+5LcrmL6rpuMactFzPbqneUUvZcQoqhsCzLM8YDVEN3IxPTn7AoiiGQ2RbKoQwK+IIIjuBG8DP4GrrhuxF3yGB7KLVX4bmGbxbaAbyBf+VQO4e5BHMZYCnFiJeS0DE/Wp9vGjOKFYGB5874GLiAsc+uHBURS8DQZ1e8VBj4HavY5BHDegR48sovA5qijSY2yAOci33k+oeOq6UcmnZqJ8BaihWBegJQu4DGTG9WX8AqihEvZfRxEI6pCdYMykoAis8X/Xvy50us079/sV8CDAAKk2fs12SfEQAAAABJRU5ErkJggg==",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"pie",data:{labels:[],datasets:[{data:[],backgroundColor:["#FF6384","#36A2EB","#FFCE56"],borderWidth:0,dataKey:"value"}],labelDataKey:"label"},options:{theme:"dark",legend:{display:!0,position:"top"},animation:{animateScale:!0}}},data:[{label:"A",value:80},{label:"B",value:15},{label:"C",value:15}]}},{type:"doughnut chart",description:"ChartJS - doughnut",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCNzNBMUUyMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCNzNBMUUzMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEI3M0ExRTAxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEI3M0ExRTExODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6R26PPAAABXUlEQVR42sxUMWvCUBBOihYKCg5FQkmn4BACTg7+jJLRyZ/m1C2/ootDJ0EySKaIZHAQdKpD+h3cs+f10iA49MHHJe/efe/ue/eeX9e1d8/x4N15dNyH7/vaFzICYJBl2QL2DaiALYFiXIVpml4TitEHEiAGuso3ZMQgy0G2hj1K2ToG2QQYtVRGG41B9gSyTyJt0jBpI3PSUFYArU2aMgy5TDl2QAGU/P+B4Aj2RWwQO011hqHSjMiWICCtTjyX0xz7LuXDH1olByq7Agv3RtV7ZFW4Hy43sEoeqMCySUfKmrP9rbETFLvOYR6F712Uqg+mBzMTU19Yu9AlH1Tc6x+HrX0HS8NKLYqQybORHc1FarqyNNyq20GtMeUDKEVmV22DcXYtozUkM6UbcON7sOL2Mm/KGtjcQLbhGK8pw7bHQZaZM9lR9KNJaD5f4jQredVUg/8Q/tsX+1uAAQDrfYYDd5PIrwAAAABJRU5ErkJggg==",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"doughnut",data:{labels:[],datasets:[{data:[],backgroundColor:["#FF6384","#36A2EB","#FFCE56"],borderWidth:0,dataKey:"value"}],labelDataKey:"label"},options:{theme:"dark",legend:{display:!0,position:"top"},animation:{animateScale:!0}}},data:[{label:"Red",value:300},{label:"Blue",value:50},{label:"Yellow",value:100}]}},{type:"polar area chart",description:"ChartJS - ploar area chart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzNUM5OTEzMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzNUM5OTE0MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjM1Qzk5MTExODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjM1Qzk5MTIxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz68JotvAAABT0lEQVR42syUPUsDQRCGbyWKRbALGE8ktSJWIlhYCVoIaSzyEy1sAimtbGxE8AsEQYN6hYaABBET0fNZmIPJZu7SXOHAQ/ZyO+/O7MycS9M0KtNmopKtki2cc/r/eWhADDWyOOJ9i3UPEujCV7ZZZ1kxDpmDHRHUtiAswye8wO+0lH1EVbgsyOoZPmAV6kWCPs01OJTndrD3G67gBrZgG9bFzxRsqDSbhug1nEtUi4bPhGAcRJSJduT3DfYlutk8Py1YM+6rqaq5JIQ25ufKbmzdhy1pi8yGUoQnDu3z3kd3YGgMfJ9aKfeCjfdwByvy/GNUfsJPCyZq/eAjg13YLKh86Dcm6MfpEc5I4UQuu55T+bby6eYJ+mpewCv3tacii3JEj+FWz7Q1en0Y+XmfUswNGb8kt8rK3uFU7jBWfTYIvjYj6yT37z+wpQv+CTAAE65Yj0WXLlQAAAAASUVORK5CYII=",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"polarArea",data:{labels:[],datasets:[{label:"My First dataset",backgroundColor:["rgba(248, 42, 18, 1)","rgba(255,99,132,1)","rgba(9, 64, 169, 1)","rgba(24, 185, 87, 1)","rgba(216, 100, 19, 1)","rgba(82, 8, 99, 1)","rgba(225, 102, 234, 1)"],borderColor:"rgba(179,181,198,1)",borderWidth:0,data:[],dataKey:"rate1"}],labelDataKey:"hobby"},options:{theme:"dark",legend:{display:!0,position:"top"},scale:{ticks:{},pointLabels:{}}}},data:[{hobby:"Eating",rate1:65,rate2:28},{hobby:"Drinking",rate1:59,rate2:48},{hobby:"Sleeping",rate1:90,rate2:40},{hobby:"Designing",rate1:81,rate2:19},{hobby:"Coding",rate1:56,rate2:96},{hobby:"Cycling",rate1:55,rate2:27},{hobby:"Running",rate1:40,rate2:100}]}},{type:"radar chart",description:"ChartJS - radar chart",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzNUM5OTBGMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzNUM5OTEwMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDFFRTE1NjgxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjM1Qzk5MEUxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5MWVCOAAABpklEQVR42qyUzUsCURTFHZuZLJAkKpnIpCiDilq0atcuaNMi6H+OiqBFhUFFZd+phZY56XSunKGbjc4IPvjBe3PfO/dj7nuG53mxfo54lE2GYaxFFTTVoa6OQ+wxP9OwCEVlDGyArUjZ+MoBEQyAKSDpVsAwqIF98NopwtaEi6Sy22AZbIJRioqDabADVkBC7U/6Wq0IEZ1sztH4DrKcH4FPCh6yBCmwwIhv6bwB8tBqxKksH07BDNhl3fIU+5MZKNFmgW0wB84o+vuXOUbAMaNxwDi4V/YUv8vY408dZJRfQYIF8ATKRAQmaVsCTTooqy44APVOjX0CFtW6SqcFpnilxKTuafDIUgQKVliLNL1LTV/AA7hmvWzulToXgavbpj1lCf0czCtnfg2LFJsFFyzFXdhdbrKG0jYZcKnTYaQfbJsJ8BzlcagyZYd2s+0qltj0Oc6DHwd1IMM0Jb11NnCCe13WWBx984a8dbvLDjfdcG4yxRoFLP7dGL9n2QHFoLs8xDtq9fCeyplVycDXMfSLjSgtrN1eXmicsXGm/i/lfo0fAQYAWhSQu880IMsAAAAASUVORK5CYII=",group:"chartAndGauge",model:{type:"chartjs",top:0,left:0,width:200,height:200,chart:{type:"radar",data:{labels:[],datasets:[{label:"My First dataset",type:"radar",backgroundColor:"rgb(66, 110, 164)",borderColor:"rgb(66, 110, 164)",pointBackgroundColor:"rgba(255,255,255,1)",pointBorderColor:"rgb(66, 110, 164)",data:[],fill:!1,dataKey:"rate1"},{label:"My Second dataset",type:"radar",backgroundColor:"rgb(62, 196, 221)",borderColor:"rgb(62, 196, 221)",pointBackgroundColor:"rgba(255,255,255,1)",pointBorderColor:"rgb(62, 196, 221)",data:[],fill:!1,dataKey:"rate2"}],labelDataKey:"hobby"},options:{theme:"dark",legend:{display:!0,position:"top"},scale:{ticks:{},pointLabels:{}}}},data:[{hobby:"Eating",rate1:65,rate2:28},{hobby:"Drinking",rate1:59,rate2:48},{hobby:"Sleeping",rate1:90,rate2:40},{hobby:"Designing",rate1:81,rate2:19},{hobby:"Coding",rate1:56,rate2:96},{hobby:"Cycling",rate1:55,rate2:27},{hobby:"Running",rate1:40,rate2:100}]}}]),b=(n(962),n(1315),n(981),n(1013),n(1014),n(1178),n(928)),m=n(1379);var g,v,f,y,w,A,x,O,j,k,E,R,M,S,I,N,z,D,T,C,G,P,B,Y,Z,U,L,Q,W,V,F,_,J,H,X,q,K,$,ee,te,ne,ie,re,ae,oe,se,le,ce,de,pe,ue,he,be,me,ge,ve,fe,ye,we,Ae,xe,Oe,je,ke,Ee,Re,Me,Se,Ie,Ne,ze,De,Te,Ce,Ge,Pe,Be=Object(r.b)(i||(g=["\n :host {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n }\n\n :host > * {\n box-sizing: border-box;\n grid-column: span 7;\n }\n\n :host > label {\n box-sizing: border-box;\n grid-column: span 3;\n }\n\n :host > legend {\n box-sizing: border-box;\n grid-column: 1 / -1;\n color: var(--secondary-text-color, #e46c2e);\n font: var(--property-sidebar-fieldset-legend, bold 13px var(--theme-font));\n text-transform: capitalize;\n }\n\n #series-properties-container {\n display: grid;\n grid-template-columns: 1fr 25px;\n align-items: center;\n justify-content: center;\n }\n\n #series-properties-container > iron-pages {\n grid-column: span 2;\n }\n\n #tab-header {\n display: grid;\n grid-template-columns: 25px 1fr 25px;\n grid-gap: 5px;\n overflow: hidden;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-bottom: 0;\n background-color: #ccc;\n box-sizing: border-box;\n padding-top: 3px;\n align-items: center;\n }\n\n #tab-header > paper-tabs {\n height: 25px;\n }\n\n #tab-header > paper-icon-button {\n padding: 0px;\n width: 25px;\n height: 25px;\n }\n\n #tab-header paper-tabs paper-icon-button {\n display: flex;\n margin-left: 5px;\n width: 15px;\n height: 15px;\n padding: 2px;\n color: #585858;\n }\n\n #add-series-button-container {\n height: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n padding-top: 3px;\n display: flex;\n border-bottom: rgba(0, 0, 0, 0.2) 1px solid;\n }\n\n #add-series-button {\n width: 20px;\n height: 20px;\n padding: 0;\n color: var(--primary-text-color);\n }\n\n .tab-content {\n background-color: rgba(255, 255, 255, 0.5);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-width: 0 1px 1px 1px;\n padding: 5px;\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n }\n\n .tab-content > * {\n box-sizing: border-box;\n grid-column: span 7;\n }\n\n label,\n .tab-content > label {\n grid-column: span 3;\n text-align: right;\n color: var(--primary-text-color);\n font-size: 0.8em;\n line-height: 2;\n text-transform: capitalize;\n }\n\n input[type='checkbox'],\n .tab-content > input[type='checkbox'] {\n grid-column: span 4;\n justify-self: end;\n align-self: center;\n }\n\n input[type='checkbox'] + label,\n .tab-content > input[type='checkbox'] + label {\n grid-column: span 6;\n\n text-align: left;\n }\n\n [fullwidth] {\n grid-column: 1 / -1;\n margin: 0;\n border: 0;\n }\n\n select {\n border: 1px solid rgba(0, 0, 0, 0.2);\n background: url(/images/bg-input-select.png) 100% 50% no-repeat #fff;\n }\n input[type='text'] {\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n paper-tab {\n background-color: rgba(0, 0, 0, 0.2);\n background-color: #ccc;\n border-width: 1px 1px 0 1px;\n padding: 0 5px;\n color: #fff;\n font-size: 13px;\n box-sizing: border-box;\n min-width: 45px;\n }\n\n paper-tab[disabled] {\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n paper-tab:last-child {\n border-width: 0;\n }\n\n paper-tabs paper-tab.iron-selected {\n background-color: #f6f8f9;\n border-radius: 5px 5px 0 0;\n color: #585858;\n }\n"],v||(v=g.slice(0)),i=Object.freeze(Object.defineProperties(g,{raw:{value:Object.freeze(v)}}))));function Ye(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Ze extends r.a{static get properties(){return{value:Object,currentSeriesIndex:Number}}static get styles(){return[Be]}constructor(){super(),this.value={},this.currentSeriesIndex=0,this.renderRoot.addEventListener("change",this.onValuesChanged.bind(this))}render(){return Object(r.e)(f||(f=Ye(['\n <legend><i18n-msg msgid="label.chart">Chart</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.theme">theme</i18n-msg> </label>\n <select value-key="theme" class="select-content" .value=','>\n <option value="dark">dark</option>\n <option value="light">light</option>\n </select>\n\n <input type="checkbox" value-key="display" .checked=',' />\n <label> <i18n-msg msgid="label.legend">Legend</i18n-msg> </label>\n\n ',"\n ","\n "])),this.theme,this.display,this.display?Object(r.e)(y||(y=Ye(['\n <label> <i18n-msg msgid="label.position">Position</i18n-msg> </label>\n <select value-key="position" class="select-content" .value=','>\n <option value="top">top</option>\n <option value="right">right</option>\n <option value="bottom">bottom</option>\n <option value="left">left</option>\n </select>\n '])),this.position):Object(r.e)(w||(w=Ye([""]))),this.editorTemplate(this))}displayValueTemplate(){return Object(r.e)(A||(A=Ye(['\n <label> <i18n-msg msgid="label.value-prefix">Value Prefix</i18n-msg> </label>\n <input type="text" value-key="series.valuePrefix" .value=',' />\n\n <label> <i18n-msg msgid="label.value-suffix">Value suffix</i18n-msg> </label>\n <input type="text" value-key="series.valueSuffix" .value=',' />\n\n <input type="checkbox" value-key="series.displayValue" .checked=',' />\n <label> <i18n-msg msgid="label.value-display">Value Display</i18n-msg> </label>\n\n ',"\n "])),this.series.valuePrefix||"",this.series.valueSuffix||"",this.series.displayValue||!1,this.series.displayValue?Object(r.e)(x||(x=Ye(['\n <label> <i18n-msg msgid="label.font-color">Font Color</i18n-msg> </label>\n <things-editor-color\n value-key="series.defaultFontColor"\n .value=','\n ></things-editor-color>\n <label> <i18n-msg msgid="label.font-size">Font Size</i18n-msg> </label>\n <input type="number" value-key="series.defaultFontSize" .value=',' />\n <label> <i18n-msg msgid="label.position">Position</i18n-msg> </label>\n <select value-key="series.dataLabelAnchor" .value=','>\n <option value="start">Start</option>\n <option value="center" selected>Center</option>\n <option value="end">End</option>\n </select>\n '])),this.series.defaultFontColor||"#000",this.series.defaultFontSize||10,this.series.dataLabelAnchor||"center"):Object(r.e)(O||(O=Ye([""]))))}editorTemplate(){return Object(r.e)(j||(j=Ye([""])))}get data(){return this.value.data}set data(e){this.value.data=e}get datasets(){return this.data.datasets||(this.data.datasets=[]),this.data.datasets}set datasets(e){this.datasets=e}get series(){return this.datasets[this.currentSeriesIndex]||(this.datasets[this.currentSeriesIndex]={}),this.datasets[this.currentSeriesIndex]}set series(e){this.data?this.datasets[this.currentSeriesIndex]=e:this.data={dataset:[e]}}set dataKey(e){this.series.dataKey=e}get dataKey(){return this.series.dataKey}get legend(){return!this.value.options&&(this.value.options={}),this.value.options.legend}set legend(e){this.value.options.legend=e}get theme(){return this.value.options&&this.value.options.theme}set theme(e){!this.value.options&&(this.value.options={}),this.value.options.theme=e}get scales(){return this.value.options.scales}set scales(e){!this.value.options&&(this.value.options={}),this.value.options.scales=e}get display(){return this.legend&&this.legend.display}set display(e){this.legend.display=e}get position(){return this.legend.position}set position(e){this.legend.position=e}get stacked(){return this.value.options.stacked}set stacked(e){this.value.options.stacked=e}get labelDataKey(){return this.data&&this.data.labelDataKey}set labelDataKey(e){this.data.labelDataKey=e}set options(e){this.value.options=e}get options(){return this.value.options}onValuesChanged(e){var t=e.target,n=t.getAttribute("value-key"),i=t.value;if(n){i=this._getElementValue(t);for(var r=n.split("."),a=r.shift(),o=this;r.length>0;)o=o[a],a=r.shift();o[a]=i,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.requestUpdate()}}onTapAddTab(e){if(this.value.data.datasets){var t=this.value.data.datasets.length,n=this.series.type||this.value.type,i=new b.a(this.datasets[t-1].backgroundColor),r=this._getSeriesModel({chartType:n,datasetsLength:t,lastSeriesColor:i});this.value.data.datasets.push(r),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.currentSeriesIndex=t}}onTapRemoveCurrentTab(e){if(this.value.data.datasets){var t=this.currentSeriesIndex;this.value.data.datasets.splice(t,1),--t<0&&(t=0),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.currentSeriesIndex=t,this.requestUpdate()}}_getSeriesModel({chartType:e,datasetsLength:t,lastSeriesColor:n}){var i={label:"series ".concat(t+1),data:[],borderWidth:1,dataKey:"",yAxisID:"left",color:Object(m.a)({hue:n}).toRgbString()};return i.type=i.chartType=e,i}_getElementValue(e){switch(e.tagName){case"INPUT":switch(e.type){case"checkbox":return e.checked;case"number":return Number(e.value)||0;case"text":return String(e.value)}case"PAPER-BUTTON":return e.active;case"PAPER-LISTBOX":return e.selected;case"THINGS-EDITOR-MULTIPLE-COLOR":return e.values;case"THINGS-EDITOR-ANGLE-INPUT":return Number(e.radian)||0;default:return e.value}}}function Ue(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Le extends Ze{static get is(){return"property-editor-chartjs-multi-series-abstract"}static get styles(){return[...Ze.styles,Object(r.b)(k||(k=Ue(["\n paper-tabs {\n background-color: rgb(204, 204, 204);\n }\n input[type='text'],\n input[type='number'] {\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n "])))]}constructor(){super(),this.value={options:{legend:{},scales:{xAxes:[{ticks:{}}],yAxes:[{ticks:{}}]}},data:{datasets:[]}}}get color(){var e=this.series.backgroundColor;return"line"==this.series.type&&(e=this.series.borderColor),"radar"==this.series.type&&(e=this.series.borderColor),this.series.color||e}set color(e){this.series.color=e,delete this.series.backgroundColor,delete this.series.borderColor}get xAxes0(){return this.scales.xAxes[0]}set xAxes0(e){this.scales.xAxes[0]=e}get yAxes0(){return this.scales.yAxes[0]}set yAxes0(e){this.scales.yAxes[0]=e}get yAxes1(){return this.scales.yAxes[1]}set yAxes1(e){this.scales.yAxes[1]=e}get multiAxis(){return this.value.options.multiAxis}set multiAxis(e){this.value.options.multiAxis=e}get tabContainer(){return this.renderRoot.querySelector("#tabs").shadowRoot.querySelector("#tabsContainer")}firstUpdated(){this.tabContainer.addEventListener("scroll",e=>{this._onTabScroll(e)})}editorTemplate(e){return Object(r.e)(E||(E=Ue(['\n <input type="checkbox" value-key="multiAxis" .checked=',' />\n <label> <i18n-msg msgid="label.multi-axis">Multi Axis</i18n-msg> </label>\n\n <legend><i18n-msg msgid="label.series">Series</i18n-msg></legend>\n\n ','\n\n <legend><i18n-msg msgid="label.x-axes">X Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="labelDataKey" .value=',' />\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="xAxes0.axisTitle" .value=',' />\n\n <label> <i18n-msg msgid="label.thickness">Thickness</i18n-msg> </label>\n <input type="number" value-key="xAxes0.barPercentage" .value=',' />\n\n <input type="checkbox" value-key="value.options.xGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="xAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n\n <legend><i18n-msg msgid="label.y-axes">Y Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="yAxes0.axisTitle" .value=',' />\n\n <input type="checkbox" value-key="yAxes0.ticks.autoMin" .checked=',' />\n <label> <i18n-msg msgid="label.axis-min-auto">Min Auto</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes0.ticks.autoMax" .checked=',' />\n <label> <i18n-msg msgid="label.axis-max-auto">Max Auto</i18n-msg> </label>\n\n ',"\n ",'\n\n <label> <i18n-msg msgid="label.axis-step-size">StepSize</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.stepSize" .value=',' />\n\n <input type="checkbox" value-key="value.options.yGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n\n ',"\n "])),this.multiAxis,this.multiSeriesTabTemplate(),this.labelDataKey,this.xAxes0.axisTitle||"",this.xAxes0.barPercentage,this.value.options.xGridLine,this.xAxes0.ticks.display,this.yAxes0.axisTitle||"",this.yAxes0.ticks.autoMin,this.yAxes0.ticks.autoMax,this.yAxes0.ticks.autoMin?Object(r.e)(M||(M=Ue([""]))):Object(r.e)(R||(R=Ue(['\n <label> <i18n-msg msgid="label.axis-min">Min</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.min" .value='," />\n "])),this.yAxes0.ticks.min),this.yAxes0.ticks.autoMax?Object(r.e)(I||(I=Ue([""]))):Object(r.e)(S||(S=Ue(['\n <label> <i18n-msg msgid="label.axis-max">Max</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.max" .value='," />\n "])),this.yAxes0.ticks.max),this.yAxes0.ticks.stepSize,this.value.options.yGridLine,this.yAxes0.ticks.display,this.value.options.multiAxis?Object(r.e)(N||(N=Ue(['\n <legend><i18n-msg msgid="label.y-2nd-axes">Y 2nd Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="yAxes1.axisTitle" .value=',' />\n\n <input type="checkbox" value-key="yAxes1.ticks.autoMin" .checked=',' />\n <label> <i18n-msg msgid="label.axis-min-auto">Min Auto</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes1.ticks.autoMax" .checked=',' />\n <label> <i18n-msg msgid="label.axis-max-auto">Max Auto</i18n-msg> </label>\n\n ',"\n ",'\n\n <label> <i18n-msg msgid="label.axis-step-size">StepSize</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.stepSize" .value=',' />\n\n <input type="checkbox" value-key="value.options.y2ndGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes1.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n '])),this.yAxes1.axisTitle||"",this.yAxes1.ticks.autoMin,this.yAxes1.ticks.autoMax,this.yAxes1.ticks.autoMin?Object(r.e)(D||(D=Ue([""]))):Object(r.e)(z||(z=Ue(['\n <label> <i18n-msg msgid="label.axis-min">Min</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.min" .value='," />\n "])),this.yAxes1.ticks.min),this.yAxes1.ticks.autoMax?Object(r.e)(C||(C=Ue([""]))):Object(r.e)(T||(T=Ue(['\n <label> <i18n-msg msgid="label.axis-max">Max</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.max" .value='," />\n "])),this.yAxes1.ticks.max),this.yAxes1.ticks.stepSize,this.value.options.y2ndGridLine,this.yAxes1.ticks.display):Object(r.e)(G||(G=Ue([""]))))}multiSeriesTabTemplate(){return Object(r.e)(P||(P=Ue(['\n <div id="series-properties-container" fullwidth>\n <div id="tab-header">\n <paper-icon-button\n id="tab-nav-left-button"\n icon="chevron-left"\n @click=','\n disabled\n ></paper-icon-button>\n <paper-tabs\n id="tabs"\n @iron-select="','"\n .selected=',"\n no-bar\n noink\n scrollable\n hide-scroll-buttons\n fit-container\n >\n ",'\n </paper-tabs>\n <paper-icon-button\n id="tab-nav-right-button"\n icon="chevron-right"\n @click=','\n disabled\n ></paper-icon-button>\n </div>\n <div id="add-series-button-container">\n <paper-icon-button id="add-series-button" icon="add" @tap="','"></paper-icon-button>\n </div>\n\n <iron-pages .selected=',' .attr-for-selected="series-index">\n ',"\n </iron-pages>\n </div>\n "])),e=>{this._onTabScrollNavLeft(e)},e=>this.currentSeriesIndex=e.target.selected,this.currentSeriesIndex,this.datasets.map((e,t)=>Object(r.e)(B||(B=Ue(['\n <paper-tab data-series="','" noink\n >',"\n ","\n </paper-tab>\n "])),t+1,t+1,!this.datasets||1!=this.datasets.length&&this.currentSeriesIndex==t?Object(r.e)(Y||(Y=Ue(['\n <paper-icon-button icon="close" @tap="','">\n </paper-icon-button>\n '])),e=>this.onTapRemoveCurrentTab(e)):Object(r.e)(Z||(Z=Ue([""]))))),e=>{this._onTabScrollNavRight(e)},e=>this.onTapAddTab(e),this.currentSeriesIndex,this.datasets.map((e,t)=>Object(r.e)(U||(U=Ue(['\n <div class="tab-content" series-index="','">\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="dataKey" .value='," />\n\n ",'\n\n <label> <i18n-msg msgid="label.label">label</i18n-msg> </label>\n <input type="text" value-key="series.label" .value='," />\n\n ","\n ",'\n\n <label> <i18n-msg msgid="label.color">color</i18n-msg> </label>\n <things-editor-color value-key="color" .value=',"></things-editor-color>\n\n ",' <label> <i18n-msg msgid="label.stack-group">Stack group</i18n-msg> </label>\n <input type="text" value-key="series.stack" .value='," /> ","\n ","\n ","\n </div>\n "])),t,this.dataKey,"bar"==this.value.type?Object(r.e)(L||(L=Ue(['\n <label> <i18n-msg msgid="label.type">type</i18n-msg> </label>\n <select class="select-content" value-key="series.type" .value=','>\n <option value="bar" selected>bar</option>\n <option value="line">line</option>\n </select>\n '])),this.series.type):Object(r.e)(Q||(Q=Ue([""]))),this.series.label,"line"==this.series.type?Object(r.e)(W||(W=Ue(['\n <label> <i18n-msg msgid="label.line-tension">line tension</i18n-msg> </label>\n <select class="select-content" value-key="series.lineTension" .value=','>\n <option value="0.4">smooth</option>\n <option value="0">angled</option>\n </select>\n '])),this.series.lineTension):Object(r.e)(V||(V=Ue([""]))),"line"==this.series.type?Object(r.e)(F||(F=Ue(['\n <label> <i18n-msg msgid="label.border-width">border width</i18n-msg> </label>\n <input type="number" value-key="series.borderWidth" .value='," />\n "])),this.series.borderWidth):Object(r.e)(_||(_=Ue([""]))),this.color,"line"==this.series.type?Object(r.e)(J||(J=Ue(['\n <label> <i18n-msg msgid="label.point-shape">point shape</i18n-msg> </label>\n <select class="select-content" value-key="series.pointStyle" .value=','>\n <option value="circle">⚬</option>\n <option value="triangle">▵</option>\n <option value="rect">□</option>\n <option value="rectRot">◇</option>\n <option value="cross">+</option>\n <option value="crossRot">⨉</option>\n <option value="star">✱</option>\n <option value="line">―</option>\n <option value="dash">┄</option>\n </select>\n\n <label> <i18n-msg msgid="label.point-size">point size</i18n-msg> </label>\n <input type="number" value-key="series.pointRadius" .value='," />\n "])),this.series.pointStyle,this.series.pointRadius):Object(r.e)(H||(H=Ue([""]))),this.series.stack||"","line"==this.series.type?Object(r.e)(X||(X=Ue(['\n <input type="checkbox" value-key="series.fill" .checked=',' />\n <label> <i18n-msg msgid="label.fill">fill</i18n-msg> </label>\n '])),this.series.fill):Object(r.e)(q||(q=Ue([""]))),this.multiAxis?Object(r.e)(K||(K=Ue(['\n <label> <i18n-msg msgid="label.target-axis">target axis</i18n-msg> </label>\n <select class="select-content" value-key="series.yAxisID" .value=','>\n <option value="left">left</option>\n <option value="right">right</option>\n </select>\n '])),this.series.yAxisID):Object(r.e)($||($=Ue([""]))),this.displayValueTemplate())))}_onTabScroll(e){var t=this.renderRoot.querySelector("#tab-nav-left-button"),n=this.renderRoot.querySelector("#tab-nav-right-button");this.tabContainer.clientWidth==this.tabContainer.scrollWidth?(t.disabled=!0,n.disabled=!0):0==this.tabContainer.scrollLeft?(t.disabled=!0,n.disabled=!1):this.tabContainer.scrollLeft+this.tabContainer.clientWidth>=this.tabContainer.scrollWidth?(t.disabled=!1,n.disabled=!0):(t.disabled=!1,n.disabled=!1)}_onTabScrollNavLeft(e){this.tabContainer.style.scrollBehavior="smooth",this.tabContainer.scrollLeft-=this.tabContainer.clientWidth,this.tabContainer.style.scrollBehavior="auto"}_onTabScrollNavRight(e){this.tabContainer.style.scrollBehavior="smooth",this.tabContainer.scrollLeft+=this.tabContainer.clientWidth,this.tabContainer.style.scrollBehavior="auto"}}function Qe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class We extends Le{static get is(){return"property-editor-chartjs-hbar"}editorTemplate(){return Object(r.e)(ee||(ee=Qe(['\n <legend><i18n-msg msgid="label.series">Series</i18n-msg></legend>\n ','\n\n <legend><i18n-msg msgid="label.y-axes">Y Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="labelDataKey" .value=',' />\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="yAxes0.axisTitle" .value=',' />\n\n <label><i18n-msg msgid="label.bar-spacing">Bar Spacing</i18n-msg></label>\n <input\n type="number"\n min="0"\n max="1"\n step="0.1"\n value-key="yAxes0.barSpacing"\n .value=','\n />\n <label><i18n-msg msgid="label.tick-spacing">Tick Spacing</i18n-msg></label>\n <input\n type="number"\n min="0"\n max="1"\n step="0.1"\n value-key="yAxes0.categorySpacing"\n .value=','\n />\n\n <input type="checkbox" value-key="value.options.xGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="xAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n\n <legend><i18n-msg msgid="label.x-axes">X Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="xAxes0.title" .value=',' />\n\n <input type="checkbox" value-key="xAxes0.ticks.autoMin" .checked=',' />\n <label> <i18n-msg msgid="label.axis-min-auto">Axis Min Auto</i18n-msg> </label>\n\n <input type="checkbox" value-key="xAxes0.ticks.autoMax" .checked=',' />\n <label> <i18n-msg msgid="label.axis-max-auto">Axis Max Auto</i18n-msg> </label>\n\n ',"\n ",'\n\n <label> <i18n-msg msgid="label.axis-step-size">Axis Step Size</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.stepSize" .value=',' />\n\n <input type="checkbox" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n '])),this.multiSeriesTabTemplate(),this.labelDataKey,this.yAxes0.axisTitle||"",this.yAxes0.barSpacing||NaN,this.yAxes0.categorySpacing||NaN,this.value.options.xGridLine,this.xAxes0.ticks.display,this.xAxes0.axisTitle||"",this.xAxes0.ticks.autoMin,this.xAxes0.ticks.autoMax,this.xAxes0.ticks.autoMin?Object(r.e)(ne||(ne=Qe([""]))):Object(r.e)(te||(te=Qe(['\n <label> <i18n-msg msgid="label.axis-min">Axis Min</i18n-msg> </label>\n <input type="number" value-key="xAxes0.ticks.min" .value='," />\n "])),this.xAxes0.ticks.min),this.xAxes0.ticks.autoMax?Object(r.e)(re||(re=Qe([""]))):Object(r.e)(ie||(ie=Qe(['\n <label> <i18n-msg msgid="label.axis-max">Axis Max</i18n-msg> </label>\n <input type="number" value-key="xAxes0.ticks.max" .value='," />\n "])),this.xAxes0.ticks.max),this.yAxes0.ticks.stepSize,this.value.options.yGridLine,this.yAxes0.ticks.display)}multiSeriesTabTemplate(){return Object(r.e)(ae||(ae=Qe(['\n <div id="series-properties-container" fullwidth>\n <div id="tab-header">\n <paper-icon-button\n id="tab-nav-left-button"\n icon="chevron-left"\n @click=','\n disabled\n ></paper-icon-button>\n <paper-tabs\n id="tabs"\n @iron-select="','"\n .selected=',"\n no-bar\n noink\n scrollable\n hide-scroll-buttons\n fit-container\n >\n ",'\n </paper-tabs>\n <paper-icon-button\n id="tab-nav-right-button"\n icon="chevron-right"\n @click=','\n disabled\n ></paper-icon-button>\n </div>\n <div id="add-series-button-container">\n <paper-icon-button id="add-series-button" icon="add" @tap="','"></paper-icon-button>\n </div>\n\n <iron-pages .selected=',' .attr-for-selected="series-index">\n ',"\n </iron-pages>\n </div>\n "])),e=>{this._onTabScrollNavLeft(e)},e=>this.currentSeriesIndex=e.target.selected,this.currentSeriesIndex,this.datasets.map((e,t)=>Object(r.e)(oe||(oe=Qe(['\n <paper-tab data-series="','" noink\n >',"\n ","\n </paper-tab>\n "])),t+1,t+1,!this.datasets||1!=this.datasets.length&&this.currentSeriesIndex==t?Object(r.e)(se||(se=Qe(['\n <paper-icon-button icon="close" @tap="','">\n </paper-icon-button>\n '])),e=>this.onTapRemoveCurrentTab(e)):Object(r.e)(le||(le=Qe([""]))))),e=>{this._onTabScrollNavRight(e)},e=>this.onTapAddTab(e),this.currentSeriesIndex,this.datasets.map((e,t)=>Object(r.e)(ce||(ce=Qe(['\n <div class="tab-content" series-index="','">\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="dataKey" .value=',' />\n <label> <i18n-msg msgid="label.label">Label</i18n-msg> </label>\n <input type="text" value-key="series.label" .value=',' />\n <label> <i18n-msg msgid="label.color">Color</i18n-msg> </label>\n <things-editor-color value-key="color" .value=','></things-editor-color>\n <label> <i18n-msg msgid="label.stack-group">Stack Group</i18n-msg> </label>\n <input type="text" value-key="series.stack" .value='," />\n ","\n </div>\n "])),t,this.dataKey,this.series.label,this.color,this.series.stack||"",this.displayValueTemplate())))}}function Ve(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define(We.is,We);class Fe extends Le{static get is(){return"property-editor-chartjs-mixed"}static get styles(){return Le.styles}constructor(){super(),this.value={options:{legend:{},scales:{xAxes:[{ticks:{}}],yAxes:[{ticks:{}}]}},data:{datasets:[]}}}get xAxes0(){return this.scales.xAxes[0]}set xAxes0(e){this.scales.xAxes[0]=e}get yAxes0(){return this.scales.yAxes[0]}set yAxes0(e){this.scales.yAxes[0]=e}get yAxes1(){return this.scales.yAxes[1]}set yAxes1(e){this.scales.yAxes[1]=e}get multiAxis(){return this.value.options.multiAxis}set multiAxis(e){this.value.options.multiAxis=e}editorTemplate(e){return Object(r.e)(de||(de=Ve(['\n <input type="checkbox" value-key="multiAxis" .checked=',' />\n <label> <i18n-msg msgid="label.multi-axis">Multi Axis</i18n-msg> </label>\n\n <legend><i18n-msg msgid="label.series">Series</i18n-msg></legend>\n\n <div fullwidth>','</div>\n\n <legend><i18n-msg msgid="label.x-axes">X Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="labelDataKey" .value=',' />\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="xAxes0.axisTitle" .value='," />\n\n ",'\n\n <input type="checkbox" value-key="value.options.xGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="xAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n\n <legend><i18n-msg msgid="label.y-axes">Y Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="yAxes0.axisTitle" .value=',' />\n\n <input type="checkbox" value-key="yAxes0.ticks.autoMin" .checked=',' />\n <label> <i18n-msg msgid="label.axis-min-auto">Min Auto</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes0.ticks.autoMax" .checked=',' />\n <label> <i18n-msg msgid="label.axis-max-auto">Max Auto</i18n-msg> </label>\n\n ',"\n ",'\n\n <label> <i18n-msg msgid="label.axis-step-size">StepSize</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.stepSize" .value=',' />\n\n <input type="checkbox" value-key="value.options.yGridLine" .checked=',' />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes0.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n\n ',"\n "])),this.multiAxis,this.multiSeriesTabTemplate(),this.labelDataKey,this.xAxes0.axisTitle||"",this._hasBarSeries(this.value)?Object(r.e)(pe||(pe=Ve(['\n <label><i18n-msg msgid="label.bar-spacing">Bar Spacing</i18n-msg></label>\n <input\n type="number"\n min="0"\n max="1"\n step="0.1"\n value-key="xAxes0.barSpacing"\n .value=','\n />\n <label><i18n-msg msgid="label.tick-spacing">Tick Spacing</i18n-msg></label>\n <input\n type="number"\n min="0"\n max="1"\n step="0.1"\n value-key="xAxes0.categorySpacing"\n .value=',"\n />\n "])),this.xAxes0.barSpacing||NaN,this.xAxes0.categorySpacing||NaN):Object(r.e)(ue||(ue=Ve([""]))),e.value.options.xGridLine,this.xAxes0.ticks.display,this.yAxes0.axisTitle||"",this.yAxes0.ticks.autoMin,this.yAxes0.ticks.autoMax,this.yAxes0.ticks.autoMin?Object(r.e)(be||(be=Ve([""]))):Object(r.e)(he||(he=Ve(['\n <label> <i18n-msg msgid="label.axis-min">Min</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.min" .value='," />\n "])),this.yAxes0.ticks.min),this.yAxes0.ticks.autoMax?Object(r.e)(ge||(ge=Ve([""]))):Object(r.e)(me||(me=Ve(['\n <label> <i18n-msg msgid="label.axis-max">Max</i18n-msg> </label>\n <input type="number" value-key="yAxes0.ticks.max" .value='," />\n "])),this.yAxes0.ticks.max),this.yAxes0.ticks.stepSize,e.value.options.yGridLine,this.yAxes0.ticks.display,e.value.options.multiAxis?Object(r.e)(ve||(ve=Ve(['\n <legend><i18n-msg msgid="label.y-2nd-axes">Y 2nd Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.title">Title</i18n-msg> </label>\n <input type="text" value-key="yAxes1.axisTitle" .value=',' />\n\n <input type="checkbox" value-key="yAxes1.ticks.autoMin" .checked=',' />\n <label> <i18n-msg msgid="label.axis-min-auto">Min Auto</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes1.ticks.autoMax" .checked=',' />\n <label> <i18n-msg msgid="label.axis-max-auto">Max Auto</i18n-msg> </label>\n\n ',"\n ",'\n\n <label> <i18n-msg msgid="label.axis-step-size">StepSize</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.stepSize" .value=',' />\n\n <input\n type="checkbox"\n value-key="value.options.y2ndGridLine"\n .checked=','\n />\n <label> <i18n-msg msgid="label.grid-line">Grid Line</i18n-msg> </label>\n\n <input type="checkbox" value-key="yAxes1.ticks.display" .checked=',' />\n <label> <i18n-msg msgid="label.display-tick">Display Tick</i18n-msg> </label>\n '])),this.yAxes1.axisTitle||"",this.yAxes1.ticks.autoMin,this.yAxes1.ticks.autoMax,this.yAxes1.ticks.autoMin?Object(r.e)(ye||(ye=Ve([""]))):Object(r.e)(fe||(fe=Ve(['\n <label> <i18n-msg msgid="label.axis-min">Min</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.min" .value='," />\n "])),this.yAxes1.ticks.min),this.yAxes1.ticks.autoMax?Object(r.e)(Ae||(Ae=Ve([""]))):Object(r.e)(we||(we=Ve(['\n <label> <i18n-msg msgid="label.axis-max">Max</i18n-msg> </label>\n <input type="number" value-key="yAxes1.ticks.max" .value='," />\n "])),this.yAxes1.ticks.max),this.yAxes1.ticks.stepSize,e.value.options.y2ndGridLine,this.yAxes1.ticks.display):Object(r.e)(xe||(xe=Ve([""]))))}_hasBarSeries(e){return e.data.datasets.some(e=>"bar"==e.type)}}customElements.define(Fe.is,Fe);class _e extends Ze{static get is(){return"property-editor-chartjs-pie"}static get styles(){return Ze.styles}constructor(){super(),this.value={options:{legend:{}},data:{datasets:[]}},this.currentSeriesIndex=0}get valuePrefix(){return this.series.valuePrefix}set valuePrefix(e){this.series.valuePrefix=e}get valueSuffix(){return this.series.valueSuffix}set valueSuffix(e){this.series.valueSuffix=e}get color(){return this.series.color||this.series.backgroundColor}set color(e){this.series.color=e,delete this.series.backgroundColor}get displayValue(){return this.series.displayValue}set displayValue(e){this.series.displayValue=e}editorTemplate(e){return Object(r.e)(Oe||(Oe=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <legend><i18n-msg msgid="label.series">Series</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="dataKey" .value=',' />\n\n <label> <i18n-msg msgid="label.color">color</i18n-msg> </label>\n <things-editor-multiple-color value-key="color" .values=',"></things-editor-multiple-color>\n\n ",'\n\n <legend><i18n-msg msgid="label.axes">Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="labelDataKey" .value='," />\n "])),this.series.dataKey,this.color,this.displayValueTemplate(),this.labelDataKey)}}customElements.define(_e.is,_e);class Je extends Le{static get is(){return"property-editor-chartjs-radar"}static get styles(){return Le.styles}constructor(){super(),this.value={options:{legend:{}},data:{datasets:[]}}}editorTemplate(e){return Object(r.e)(je||(je=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <legend><i18n-msg msgid="label.series">Series</i18n-msg></legend>\n\n <div fullwidth>','</div>\n\n <legend><i18n-msg msgid="label.axes">Axes</i18n-msg></legend>\n\n <label> <i18n-msg msgid="label.data-key">Data Key</i18n-msg> </label>\n <input type="text" value-key="labelDataKey" .value='," />\n "])),this.multiSeriesTabTemplate(),this.labelDataKey)}}function He(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define(Je.is,Je);class Xe extends p.b{static get is(){return"property-editor-chartjs"}static get styles(){return[Object(r.b)(ke||(ke=He(["\n :host {\n display: block;\n padding: 5px;\n }\n\n #chart-type {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 5px;\n }\n\n #chart-type > label {\n box-sizing: border-box;\n grid-column: span 3;\n\n text-align: right;\n\n color: var(--primary-text-color);\n font-size: 0.8em;\n line-height: 2;\n text-transform: capitalize;\n }\n\n #chart-type > input {\n box-sizing: border-box;\n grid-column: span 7;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n "])))]}editorTemplate(e){return Object(r.e)(Ee||(Ee=He(["\n ","\n ","\n "])),e.value?Object(r.e)(Re||(Re=He(['\n <div id="chart-type">\n <label> <i18n-msg msgid="label.chart-type">Chart Type</i18n-msg> </label>\n <input type="text" .value='," readonly />\n </div>\n "])),e.value.type):Object(r.e)(Me||(Me=He([""]))),e.value?"line"==e.value.type?Object(r.e)(Ie||(Ie=He([" <property-editor-chartjs-mixed .value="," fullwidth></property-editor-chartjs-mixed> "])),e.value):"horizontalBar"==e.value.type?Object(r.e)(Ne||(Ne=He([" <property-editor-chartjs-hbar .value="," fullwidth></property-editor-chartjs-hbar> "])),e.value):"bar"==e.value.type?Object(r.e)(ze||(ze=He([" <property-editor-chartjs-mixed .value="," fullwidth></property-editor-chartjs-mixed> "])),e.value):"pie"==e.value.type?Object(r.e)(De||(De=He([" <property-editor-chartjs-pie .value="," fullwidth></property-editor-chartjs-pie> "])),e.value):"doughnut"==e.value.type?Object(r.e)(Te||(Te=He([" <property-editor-chartjs-pie .value="," fullwidth></property-editor-chartjs-pie> "])),e.value):"polarArea"==e.value.type?Object(r.e)(Ce||(Ce=He([" <property-editor-chartjs-pie .value="," fullwidth></property-editor-chartjs-pie> "])),e.value):"radar"==e.value.type?Object(r.e)(Ge||(Ge=He([" <property-editor-chartjs-radar .value="," fullwidth></property-editor-chartjs-radar> "])),e.value):Object(r.e)(Pe||(Pe=He([""]))):Object(r.e)(Se||(Se=He([""]))))}}customElements.define(Xe.is,Xe);var qe,Ke,$e={templates:h,editors:[{type:"chartjs",element:Xe.is}]},et={templates:[{type:"clock analog",description:"analog style clock",group:"etc",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUyOTM5QjQ0MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUyOTM5QjQ1MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTI5MzlCNDIxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTI5MzlCNDMxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5T4EeuAAAB/UlEQVR42sxUO2gCQRDNHaks/GARlBSp0gQ1CIHUNuntglr4ASGNjSFgZSWEVJbir1BJET+1jW0EQaKSQisFsVUsLM+8J3dhuTshgRRZGHbYefNmdz4r7ff7k79c8skfr1NNabfbepsfkoQEJEm6UF8yh96DXsA+1F4XDAaNhMKyQPKQ2Gq1yk4mk4d6vb6kIRQKnft8vluXyzUAWQVHKRDvTG/IBaMFwO5ms5klEokr6IpoLxaLC2wL4N5KpdKjw+HoAnOHs51pDmHMkywejz9rZNVqNdtqtaZIyZS6ilOIWa/XM/U1pkXxI3IMN3sRATab7R7nEkgkq9V6L9pUbAzB/GaESeZM/0wmngJOQ7KJpQ9sSTPCwGg06v+2TcbjcR/EAQMhW6PRaCz1DryZeDvmk6LlU/W5MBAemxjtXH02mQ+i5VNRlKOTMg+Hw+d6wu12+wqyd6hvmrBteE57JBKhz9zQh5wAj8dzyz4TCaPRaDaTyVw7nc4z8dbpdLpL3ev10qdnIOQ4ud3uAaPrK53L5T7M0gGsDB/m8sasKENIhRPw0woTSx/M8tC0KJCU3W6/LJfLT4x+jIg2Yoilz9FZVmfyDjOabzabn2xa9lmtVlvKsix+Dmzmin6OD8G0tuh0OvrW+f6+hD6bqwUoQJiig4/4fUn//sf+EmAA97AOTFHPPQUAAAAASUVORK5CYII=",model:{type:"clock-analog",cx:150,cy:150,rx:50,ry:50,fillStyle:"#ffffff",strokeStyle:"#000000",lineWidth:5,alpha:1,innerCircleSize:5,innerCircleColor:"#000000"}},{type:"clock text",description:"digital style clock",group:"etc",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZBMTE5M0UxMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZBMTE5M0UyMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTI5MzlCNDYxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkExMTkzRTAxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4uJDpHAAAAf0lEQVR42uxUbQ6AIAiFxlk5lJc1cNVUkHL5UzaV8dzjS8ScM6yUAxbLJvwvpBsishxJFnd4qnQPa2zyYhJcz4YdZzwgGmGsXNR5eHSJGr5iJuXqoolG01ACD3sldOpW1zeqp+2yN4K3bWY8KSh4ibZ0Lo6qseP+HDbhvJwCDAD3QzDqWAK5QAAAAABJRU5ErkJggg==",model:{type:"clock-text",text:"#{data}",top:100,left:100,width:100,height:50,fontColor:"#000000",fontSize:20,alpha:1,localTime:!0,utc:0,timeFormat:"YYYY-MM-DD HH:mm:ss"}}]},tt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZDODU3OTdBMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZDODU3OTdCMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkM4NTc5NzgxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkM4NTc5NzkxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6feEnQAAAAfUlEQVR42mL8//8/AzUBEwOVAdUNZIExGBkZPSgxCBh0O1AMRBYkFSA7hgWLZBqSBbMePXqEN9bk5OQYsXoZ2RCqhCGxLiDZwOHvZSYikkQayNvIXscmhuxFBmh+9oCxScXIelmIcSF6+GITo48LKc3PYDNGXnlIdQMBAgwAkh6qegxrHQkAAAAASUVORK5CYII=",nt={text:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3QThDM0ZCMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3QThDM0ZDMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkM4NTc5ODAxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdBOEMzRkExODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6RyvHAAAAA90lEQVR42uyUrQ7CQBCEe4SAAlVUXRV1qD4BogkOxRPwhk0QuDoUDldF3alWgSmzZI4cTaC/AsEmX+66bWdn99KqsiydIWPkDBy/Lzg2G6WULFFHncPrLGTDi8js22K/+7FlON6CPZj2niFE5lhckAO/0wwrISIapCAAFxaSImsgBW8gQZtpk1P2KSa4dCyxAncQg4LFvrdstTujsDhZ8nbCIos2MzQiIuzRiZmjOAqZbzzDZ7uYTWI53mH1KCTzPIFNraDV7tnkIJwjr1koo8OAXUzqHMpDMUSySv4oLyOvIX5lrmDx9zMwn8xQn576/w97x0OAAQCdlXkX/JR+SQAAAABJRU5ErkJggg==",password:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3QThDM0ZGMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3QThDNDAwMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTdBOEMzRkQxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdBOEMzRkUxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4UFeCBAAAArklEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9dIvDIFBwA7E0ljERYCYjyQDoRpAhnmD2CDDYYYBKXMgVoKyiXahGRC7QNkRQKwJNSAIahFI3psUAw8D8Rso+zowsC8A8RuoOAj8BOKtpBgI8iIvEN8DYlEkcZDYUyibD286RAZA13wCUguxiJ8a+lmPEZZlqJX1GEfLQ4oBQIABADbiYe09FBttAAAAAElFTkSuQmCC",email:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3QThDNDAzMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3QThDNDA0MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTdBOEM0MDExODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdBOEM0MDIxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz62HVsJAAABDElEQVR42uyUMQ+CMBCFqSE6iYPdcHJzkkk3JwYSJzf/qAkDv4AJ/4ATTOIgTEz4LnkkHRQRGRy85MtBaV5fr1dUXdfWkDGyBo7fF7SbB6WUpKCnTtichW0MBhgMzVlYxEFagyWYgApcQIy5lTFPjIStW8YkjXQAIhqDEzgDF+z71HBLNwnYAB+MQSYZC3qdBelO05FPYXkWkdJw2tnhgiIuayc1S/jtCoo+Wy4plskB0LVEzoWKTwWnzJqn7RliHnfQWTBlq6R8P7KmmjWN3za2GdhiDlfiZgcijmUYc9lGKzrNOgkyIrqRnisgVrIMDoWipx3SXJmWqzcDc+P9Bu6vrp76/w+/jocAAwCPPVAui/hyaQAAAABJRU5ErkJggg==",search:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGMUNFMTMwMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGMUNFMTMxMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkYxQ0UxMkUxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkYxQ0UxMkYxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5UO/QnAAAAxklEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9bIQshroci4gpQnESlChe0B8Haj5G7lhCDJMEIiPQLEgVIzsSAG57CrQRc9BGMRGci0dYxkPAIWZNjQVgIA2ED+C8dFzGjEuvA7E74HYBop/ArEKELOS5UJobJ6FYlh6tQViCyA+TJSBs2bNSkPmp6WlzUJTcgKIQ4FYBIjfoLuApISNBDiQwhCulxGmiFpZj3G0PKQYAAQYAHkGmPuEtdt6AAAAAElFTkSuQmCC",number:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQzMTg0QzU3MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQzMTg0QzU4MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDMxODRDNTUxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDMxODRDNTYxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz70u4lpAAAAvUlEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9eL0MtDFBlCaHcSGYnaywhCo0RZImUG5LkAsAsXeSGrSiDIQ6jI+JKGnQK/sAWGooXDDsBqKKwyBIA2ND7LIm+wwRHO1JpDSB+KTRCcbAoaBwnMr0AVv0L0KFJtFasIGGfYTiM2BBnkjG4JuGCEXboXSe7BJYjMMr4FADU+RaWIBIyzLUCvrMY6WhxQDgAADAPLCoVISczGkAAAAAElFTkSuQmCC",color:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQzMTg0QzVCMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQzMTg0QzVDMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDMxODRDNTkxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDMxODRDNUExODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ivhhtAAAAmElEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9bIQtPu44H8GRiQ+IxTDEof5e0asXsYJPiCFNEzrfzQ+SQa+R3IVA5KBjAQihaCByF6myIWfsWj8T0SywQm+Exd2xBv4G82bxCZsnOAflsj4j9sSwgZ2vGckJcswwrIMtbIe42h5SDEACDAAnh5cuVTGZqgAAAAASUVORK5CYII=",range:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA3RDU4M0RGMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA3RDU4M0UwMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDdENTgzREQxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDdENTgzREUxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4S3aaQAAAAgklEQVR42mL8//8/AzUBEwOVwQg0kIUYRTt27Pj/6NEjOF9OTo7Bw8ODkWwXIhuGjU8fLzMyMnrgUjRz5kwMMXT1wPS8AyMMYYLoYNasWRhiyGqRDWfBZyspLoSLE5v1gK6EK0xLS2OkRqQwotEMFLmQ5JyCHCYUsUeLr8FnIECAAQAtCzArnUFnXAAAAABJRU5ErkJggg==",file:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYwM0Y3MTU4MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYwM0Y3MTU5MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjAzRjcxNTYxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjAzRjcxNTcxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5X/IR6AAAAYklEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9bLgsxbo6jRCTgMaMmuEx/LAGAgLeHSabANhsY1O0zenEJPGiPINLMtQK+sxjpaHFAOAAAMAl49bEiC0MGIAAAAASUVORK5CYII=",date:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYwM0Y3MTU0MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYwM0Y3MTU1MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDMxODRDNUQxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDMxODRDNUUxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6PdNm0AAAAfUlEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9bLgsxbo6jRCTgMaMos+YUisCwj5gCgXgjSCIg2ZJtuFaK5EpxnIdiE2mpKEPQuaTuE02V7G5RqowaQZiC+GcToAlmWolfUYR8tDigFAgAEAnLBcn9j39ZIAAAAASUVORK5CYII=",radio:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA3RDU4M0RCMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA3RDU4M0RDMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjAzRjcxNUUxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDdENTgzREExODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz73VQ3sAAABB0lEQVR42uSUSwvCMBCEE/Ek1WLxdbGCN8/i//8ZvRXUS31Q6AOvdQITXUODHkovLnyUbDbTZDOtbppGdRkD1XF0LjiUA621HIZgDiIQMFeDHNxAYQtl2/TH4C24BitQgTsomZ+AGRiDDJx/ETRiS3DC3LXtWKhb4BGDixGVGkOnNuTOjj4x7ujKl2+4+8InaHpWWTEsGuGxA1vOpyDB/IOiEdcUvluO2DMbRmwPpmTPnI0713htE4gLUGJnypMrhQP6MXZNayjRMzdkbsI13lvO6TPbx8Q5ZipyirW5a4EXtM0BLGS+DVPD2lDm3SMX/AJimld9MXYmLdPbp9fdz+E/frBPAQYAdlCSAV6AiH8AAAAASUVORK5CYII=",checkbox:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYwM0Y3MTVDMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYwM0Y3MTVEMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjAzRjcxNUExODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjAzRjcxNUIxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7e0pEdAAAAxUlEQVR42mL8//8/AzUBEwOVweA3kAWZw8jICKI8iNUMDP8d2AThGGQYMp8QxqaeoJdBrkbCzEAsD/UJVcLQBIjdgdicGgaKAbEeKJSA+D5JBkK9pwXEHFAhZiC2B0kB8SUgfkWqC7WB2AaIfYGYA+pVQSD+AMRniE42SOAuEGtBDQkAYl6oVw8A8V9yEvYPIN4MxO+BmI8YrxJyIbKhSkD8FYifkJxTkBM7kqHXSElXjMjFF6lZDwh2oBd/jKPlIcUAIMAAzDtgg/Kxtm0AAAAASUVORK5CYII=",submit:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGMUNFMTM0MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGMUNFMTM1MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkYxQ0UxMzIxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkYxQ0UxMzMxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7xozHSAAAA+klEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkBFEeZJqzAx4XIAaU4wFjk4qR9bLgshLqYikgVgZiWajwYyC+C8TPcKUOfGEIMswCiDWBmAeERUVFNaFiUuRECshlIjAOLy8vw+nTpxkMDQ1FoHIkGwj2ppycHJjT3d3NsHPnTobz588zIAUB7ljGBhQVFRlOnTrFUFFRweDh4cGgq6tLfLLBAh7fv39fMyQkhGHNmjVgAz9//syAFDkkGwiKTdGDBw+KGBsbMzx69Agm/gYqR5qBwGTxDJh0ToAiAGgYSrIByZEVhlCNz0jJMoywBEqtrMc4Wh5SDAACDAAQ6oQ8hfgpcgAAAABJRU5ErkJggg==",reset:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGMUNFMTM4MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQzMTg0QzU0MTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkYxQ0UxMzYxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkYxQ0UxMzcxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eH+cYAAAA7klEQVR42uxUvQqDMBC+FMeOdikoipOzEJyc3XTwMXVx6iN08REkQcHJd7B3IYpD0cY6dOjBkc8v3OdxP2HTNMGZdoGT7fcFrRkwxuhID+o8ll4Q0B/pjE19HWtt/RazvuMRoDua6tFbDByMa6jFYtd1Qzyv5BrH+s64KYHv+3bTNJAkiXLCxOmst5vyxhwhBBRFAXVdKyLPcyBuVQLzsVlv0idbtZVh73leWFUVZFmmiLIsgXNOWfZHBFsp5S2KIrvrOkUgBsQj3RkL0mhgN58osIwN4t2xsXbqR4GDycqwudBnrR77v4df20uAAQCJ/5FKw1VS8AAAAABJRU5ErkJggg==",button:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFOUMyNUFDMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFOUMyNUFEMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU5QzI1QUExODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUU5QzI1QUIxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7CBck/AAAAQUlEQVR42mL8//8/AzUBEwOVweA3kAXGmDVrFkWBmZaWxjhCw3CIGgiMMTAmlk9TFzLC8vJoOqQ8DEdzCtkAIMAAxIEYS3whHe0AAAAASUVORK5CYII=",fieldset:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZDODU3OTdFMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZDODU3OTdGMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkM4NTc5N0MxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkM4NTc5N0QxODQ0MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4RdqYxAAAAhElEQVR42mL8//8/AzUBEwOVweA3kAXGYGRk9ADRwDDdUVFR4YGusKOjYwdMDTYA0odiILIgEOzApwkdoFgEimVoTHv8JxNA9YLNYUG3bdasWXB2Wloaw6NHj/CGmZycHPYwRDaEKpFCrAsGLtmM3DBkJBNjdyG+rEUsYBwtDykGAAEGACzPbltkiD2jAAAAAElFTkSuQmCC",iframe:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFOUMyNUIwMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMxNTNDN0IyMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU5QzI1QUUxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUU5QzI1QUYxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz70LDs9AAAAjElEQVR42uRU2wqAMAidsY/bH29/1WvtYRaRIOKWhUGQMPB65nEyQMTgKVNwFnfASAoApKcg+9jK+x3Km6wimcVR8BMddmdYSkFhL5pfe6FwLnciPec8k858qMV53WHLwJ7cRmDM1zRAjTJoRIx5Xcr1ortqpsyKVg2Q/LcBrUfWuS82/O8/dAfcBBgATgkuk6uaz8EAAAAASUVORK5CYII=",img:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0OUE2NjA4MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3RkRGNTM0MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ5QTY2MDYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTQ5QTY2MDcxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5EZNYgAAABHUlEQVR42mL8//8/AzUBEwOVAdUNZIExtmzZQpHffXx8GFEMhAJGMs37j+FCGPCQesbw78FWSHgoeDMwK3sxMAnI4jTp3LlzDE+fPmXAaeDfi+0FQAqEJ/y9eGkCw+9vYHHHPSEwJfZA/A6ILxMbKSDD5KE0w7+7q9DlG4A4ipRYngDED6E0A5NyGLIcyHUOQByJK7wxDFxy8MWEJ29/KQDxBCCbwdKvEN11DFAfWONNNjCwNNaHYSmEKc5gyMDMG8vwzBHVdTAA8vYRYhM2M8hsIF4NxGxoroOBUCBmJdbAGiB2BmIrIJ6CxXUgIALEbsQY6ATEtUj8VCA+gMPiKIJh2CtUtQ+bOMl5GQaQUz01DKS4cGQceQUsQIABAD4rSCnmWhnVAAAAAElFTkSuQmCC",link:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMxNTNDN0I1MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMxNTNDN0I2MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzE1M0M3QjMxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzE1M0M3QjQxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5aKSrpAAADCUlEQVR42uSUSUwTURjH30xnOmUKAoUWY0tqC7UgoCURiljAoNFYiMtFEPEkUW+C4c5FjXG7kbgkoge2kxdPFgE3CNCEsrUKCXSwnUIjW6GlTGemvqmRUKR44eZLvkxe8r1f/t/yHyQcDoO9PCjY47PnQGzrxe/3/5UglUpBc3MzuHvvPlpYWKAYGxvTLi4u4WazmcrNy3VlZ2Wzly5e2FkhhmEAx/HNEIvFv5NQlBCJRHm9vb3n3W53FhtiNO1trWecTsqIC49iKaRpOkolx/MgRSYDLMcdnvPQx1Tp6b7iYpOND/Or1sFB48vnz3L0Oh1dWVkx8+cNsnXKt+sbQHd3N0ARNKI9EAgAtVotkaempvlWfElV1dXfp6engw6HAxgM+amPHj6oXF7x0TzHvt9RIUmSIDExMQJEMRQQBKEdHR3JFKEoVlZ2khqyDiUQYoKVpcjYee+cOBgMoiqlkolZ8mZjRSjgeT7vm8NxnOM4RqlULnR2dJw4oFSC8vLTnX1fvyBer7eEkEiwy1VVk7sC4QAAhByxT4wXZWi1P+80Nna7ac/y508fcw7pdOTIyEi81ztfgCBIokartUKVdEwgTBI+ERiCoIsabcaA3W7PtA3bAufM5omUFFmCxWI5heG4QqPJGAIgPLzdaVFAiSQuDcKMISa0mqHTfSDJOO5NS0uFx+MBlNOpddN08qrPF3c03zCIYSIbE2J2X+zXLa/0a2tr3PW6ur6NjY0lMUFgtbXX3jop5/6enh51vJRcSE5OngJhMAV7/G+nOGdniX0JUl6uUKxT1CygKIqFE19JhWtTWlo6Hgise/v7+wNClWIxDveTBX64WjGBT588nmqor9e0tbabTCWmfugUaZely8BxbFJTU9NoTU2N0/XDBR0livRb6B8JrRkTqNfrXTdu3pp4AR1A066zPMehQtk4TlpxDLenq1QgCe6pcASYMEJ+21CivBwKhVj1wYMDV2qudsFSZ+Ry+WSR0fiO5zkb7FlQgDAMEwmYCxgYLMtGAZH/7wf7S4ABAKVUWe7jc51hAAAAAElFTkSuQmCC",textarea:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA3RDU4M0UzMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA3RDU4M0U0MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDdENTgzRTExODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDdENTgzRTIxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OFg99AAAA8klEQVR42uSU6w2DMAyE7aoDsAtLsANj8oclGIApAPF+BMpFCQJaAi3515MsIWR9Oc4OPE0T2dSDLMs68KkfmNm7A5qjCzdAaBzHEJn2fS+rrmsqy5KyLKM8z+Uz3nVdh15AZPm+7705VKeQEGKBAZKmKSVJQkVRLDD0aNjhJyuHNAwDxXG86XQcR9ZaURSxiuoYCFjbtrLvi+zMwKZpZN8FFhunDCE7BeTbawMh8Kqq9g75ZyDyQ7muewqZh6IPZmOGcBkEgVwXwDH5A4lThwAiR9Oe6eFeustws679ju1y5U/5snZh6y7z//0PrQNfAgwAE0DCAI5m5ugAAAAASUVORK5CYII=",select:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFOUMyNUE4MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFOUMyNUE5MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU5QzI1QTYxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUU5QzI1QTcxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5LK9xYAAAAaklEQVR42mL8//8/AzUBEwOVweA3kAXGYGRk9KDEIGBc7EAxEFmQVIDsmJEcKYTArFmzMHJAWloaI9kuRNeMzTBYzDJAs58HjI0Pz5w58z+6GLJekg3EhpH1DrFYpjT7gc0YLQ8pBgABBgC4WIFXI+GEeAAAAABJRU5ErkJggg==",form:tt,soapClient:tt,radioGroup:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzMwQTQ0NTU5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzMwQTQ0NTY5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMzBBNDQ1MzkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMzBBNDQ1NDkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PiIsPxcAAADzSURBVHjazFQxCoNAEPRCyiOkSB8fYKFwRR4RSJnvWKfPQ/xFCiEW+YA/CGhvZmEuiEY57yxyMOy53o2zu4Oq67pozbWJVl5bu1FKSUiBBDgCNfACKqnCGDNLVJblSKGQxcADuDHGzH8vOCukMiE5AGfuReFJVPJMPsOVDxXaMoVgz1gz7zUUe1mUvRntR5YPheUljHeS2efIoeQRoe2TlHrtT9lLIQ1eLSWY7CF9OFpTeZeS5fJPY/sSCtkOKIAW0EDGfOVDKMoK9LLhcwPFT8RLiLHbwaE21Nh68F6HGjtjmf0eBhk7Zc+8p6z+/o/9EWAAVK1H/XM8x+8AAAAASUVORK5CYII=",video:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUYzRkY4NkE5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUYzRkY4NkI5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFRjNGRjg2ODkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFRjNGRjg2OTkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoByrSoAAAB7SURBVHjazJS7DcAwCEQh8njMwVDMwX4kDVJkueBX+BrbhZ/uxAfNDCb1wLCWX1S1ZZWIsOzQP/vZjuxpTqnW9sZiYjsCvwhQdByPLCI23jYZaLgoUWiqyhFoCsjMOAaMwDJATM9y19kR+G/Q9rbZR6gqvH7BjgNfAQYAuxwoFie5f1QAAAAASUVORK5CYII=",embed:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDA2IDc5LmRhYmFjYmIsIDIwMjEvMDQvMTQtMDA6Mzk6NDQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNURGNjlCQzVDMDExRUJBQUJGOTk1MDcyNUZBMjJFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNURGNjlDQzVDMDExRUJBQUJGOTk1MDcyNUZBMjJFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTM1REY2OTlDNUMwMTFFQkFBQkY5OTUwNzI1RkEyMkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTM1REY2OUFDNUMwMTFFQkFBQkY5OTUwNzI1RkEyMkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7wl6cyAAACC0lEQVR42mL8////ZgYqAiYGKoNhZOCPHz/YLly4IP7r1y9msgx88uQJPxDzwvhv377lOnToEP+HDx+43717x0WSgdeuXROsra1V+vTpEzOSGJ+Ojs7nr1+/MhUUFKg/ffqUjygDT58+LdjX16dQWFj4UEtL6wNI7N+/f0w3btzglJGR+a6oqPghJSXlaV1dnRJQjA+vgXfu3BHq6upSKCoqeqinp/cOJv7lyxeOu3fvsgEN+wLi29nZvUpOTn7R0tKi9ObNG16sBt67d0+ora1Ntr29/QHQZe+QFd26dYvHwMDgOysr6x+YmJWV1Yvi4uKnZWVlis+fP+fHMHD//v0C0tLSv4He+oTujYsXL/IaGRl9RhcHqWVnZ2c4deoUL4aBCQkJ9+Xk5H4CXakO9CILTPzv379ML1++ZFNWVkax6Pv372xAtaru7u4f/Pz8nmAYyMzM/B9kqLi4+M/u7m7V379/gw29efMmLwcHx39OTs6fSGHKDvSqmrm5+ZeAgIBHjIyM2CMFGEb/MjIy7ktKSv7q6OhQBRYcjMDkwQOMjG9MTEz/QGq+ffvGUVpaqmZpafk5IiLiAcFkA3TpP2CyuCcsLPzz9u3bIvfv3+dSUlL6CpMHJhVBCwuLz5GRkQ+xpUNGfMUX0DWcy5Ytkw4KCnoiJCT0AyQGcjWIQvYm0QaOlodEAYAAAwAJKeWuOENEBQAAAABJRU5ErkJggg=="},it=["text","password","email","search","number","color","range","file","date"].map((function(e){return{type:"input-"+e,description:"html input-"+e,group:"form",icon:nt[e],model:{type:"input-"+e,top:100,left:100,width:280,height:30,paddingLeft:"search"==e?0:7,paddingRight:"search"==e?0:7,fontSize:14,fillStyle:"white",fontColor:"#585858",strokeStyle:"rgba(0,0,0,.4)",lineWidth:"file"==e?0:1,lineDash:"solid",textAlign:"left"}}})),rt=["submit","reset"].map((function(e){return{type:"input-"+e,description:"html input-"+e,group:"form",icon:nt[e],model:{type:"input-"+e,top:100,left:100,width:280,height:30,fontSize:14,fillStyle:"white",fontColor:"#585858",strokeStyle:"rgba(0,0,0,.4)"}}})),at=["button"].map((function(e){return{type:e,description:"html "+e,group:"form",icon:nt[e],model:{type:e,top:100,left:100,width:280,height:30,fontSize:14,fillStyle:"white",fontColor:"#585858",textAlign:"center"}}})),ot=["radio","checkbox"].map((function(e){return{type:"input-"+e,description:"html input-"+e,group:"form",icon:nt[e],model:{type:"input-"+e,top:100,left:100,width:280,height:30,text:"noname",fontSize:14,fontColor:"#585858",textAlign:"left"}}})),st=["fieldset","iframe","img","link"].map((function(e){return{type:e,description:"html "+e,group:"form",icon:nt[e],model:{type:e,top:100,left:100,width:"link"!==e?400:280,height:"link"!==e?300:30,fontSize:14,fillStyle:"white",fontColor:"#585858",strokeStyle:"rgba(0,0,0,.4)",lineWidth:1,lineDash:"solid",textAlign:"left"}}})),lt=["video"].map(e=>({type:e,description:"html "+e,group:"form",icon:nt[e],model:{type:e,top:100,left:100,width:400,height:224,controls:!0,src:"https://player.vimeo.com/external/242538643.sd.mp4?s=42dacbec1a58f449a3fa4845801df5d446a99134&profile_id=165"}})),ct=["embed"].map(e=>({type:e,description:"html "+e,group:"form",icon:nt[e],model:{type:e,top:100,left:100,width:400,height:224,mimetype:"video/webm",src:"https://player.vimeo.com/external/242538643.sd.mp4?s=42dacbec1a58f449a3fa4845801df5d446a99134&profile_id=165"}})),dt=["textarea","select","radioGroup"].map((function(e){return{type:"radioGroup"==e?"radio-group":e,description:"html "+e,group:"form",icon:nt[e],model:{type:"radioGroup"==e?"radio-group":e,top:100,left:100,width:280,height:"textarea"==e?60:40,paddingLeft:"select"==e?0:7,paddingRight:"select"==e?0:7,fontSize:14,fillStyle:"white",fontColor:"#585858",strokeStyle:"rgba(0,0,0,.4)",lineWidth:1,lineDash:"solid",textAlign:"left"}}})),pt={templates:[{type:"form",description:"html form",group:"form",icon:nt.form,model:{type:"form",top:100,left:100,width:400,height:200,fontColor:"#585858",strokeStyle:"#ccc",lineWidth:1,method:"GET",action:"",contentType:"application/json",name:"search",authorization:"",format:"TEXT"}},{type:"soap-client",description:"soap client",group:"form",icon:nt.soapClient,model:{type:"soap-client",top:100,left:100,width:400,height:200,fontColor:"#585858",strokeStyle:"#ccc",lineWidth:1,action:"",method:"",name:"search",authorization:""}}].concat(it,rt,at,ot,st,lt,ct,dt)},ut={templates:[{type:"gauge-circle",description:"circle shaped gauge",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCNzNBMUU2MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCNzNBMUU3MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEI3M0ExRTQxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEI3M0ExRTUxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz59J8QXAAABW0lEQVR42uzUsUsDMRTH8VZE5KZOIuIgCHZQxEEX0cVNOUG7uWnBwT9CRJwcRbCDbnXoWKRYJ5HarRQEpVBwcNBFpJOIOPT8Bn4HIXeHgx0cfPDhQpL3mktyTQdBkOpl9KV6HH+/YH/YqFQq7tgMdrCEMfU94RoF3NmTfd9PXKGHUzQxjxK2pKS+puZ4iSu0ilUxhQ1cYgDT6OIKh1jRKiewjI+kgkcqtohHbGIcLxpfxz3O8YBb5WzHHYrZs7z2rYMGbvCJC3lHTa/c0dy8ciMFzWBLrzmIAwxjD2+yixHsY1RzW8qNFDSnWdaJVrWfNWv14SpM3xCO9YNl5Ub20BRqa28mtcowZvWs63mGE7Xb1rWKHEoYXfvkiDln/OvHi61Lm42Zs4A1q113xrPKjeyh+QJyMQVXtZ+e2m7klBspaC7qKzJOQhHPUnTGMsophB3p///DX8e3AAMAUWdNe5A9vvkAAAAASUVORK5CYII=",model:{type:"gauge-circle",cx:150,cy:150,rx:100,ry:100,fontSize:15,fillStyle:"#ff00ff",fontColor:"black",lineWidth:0,value:65,startValue:0,endValue:100,step:20,colorStops:[{position:50,color:"#76c045"},{position:80,color:"#ffa302"},{position:100,color:"#fd3c00"}],textFillStyle:"#585858",stepFillStyle:"#ffffff",needleFillStyle:"#585858",ratio:70,startAngle:-120,endAngle:120,subStep:5,stepTextSize:5,stepNeedleSize:1,alpha:1,showStartValue:!0,showEndValue:!0,showStepLine:!0,showStepText:!0,showSubStep:!0,inText:!0}},{type:"gauge-vertical",description:"vertical bar shaped gauge",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCNzNBMUVBMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFEMkNERDJBMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEI3M0ExRTgxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEI3M0ExRTkxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6UrRvQAAAAg0lEQVR42uRUWwrAIAyzo8erp9X7dQpuBOZjun4ICwgWS0w0lFTVWeJwxmAsYoy3XBEhrBH57BVhr3EPy2h7pDb1XVvFXp55nwp0qBDhva+Sl6jptOUQQiukVNZY4aTlBymv/ma6GEnbscmWW4Feis3XcJsH+4eWu+NrhZC2n9inAAMAQmY6/aEjd+kAAAAASUVORK5CYII=",model:{type:"gauge-vertical",top:100,left:100,width:60,height:200,value:65,fontSize:15,fontColor:"#585858",startValue:0,endValue:100,needleFillStyle:"#585858",stepFillStyle:"#ffffff",textFillStyle:"#585858",needleSize:3,stepNeedleSize:1,stepTextSize:7,step:20,subStep:5,showStepText:!0,showStartValue:!0,showEndValue:!0,showStepLine:!0,showSubStep:!0,colorStops:[{position:50,color:"#76c045"},{position:80,color:"#ffa302"},{position:100,color:"#fd3c00"}],alpha:1}},{type:"gauge-horizon",description:"horizontal bar shaped gauge",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFEMkNERDJEMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFEMkNERDJFMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUQyQ0REMkIxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUQyQ0REMkMxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7va7VqAAAAaUlEQVR42mL8//8/AzUBEwOVAdUNZMEmuGXLFoxw8PHxYaTEhYwE+GR5mZFUw8CKqR3LLPjCzdfXl3Hz5s1E2QgL48GfbEaggYw0KxyQkw0lbKp7mQHkZRAGJWAYm1SMrJdx5BWwAAEGADSwZrtNz8JeAAAAAElFTkSuQmCC",model:{type:"gauge-horizon",top:100,left:100,width:200,height:60,value:65,fontSize:15,fontColor:"#585858",fillStyle:"#ff00ff",startValue:0,endValue:100,needleFillStyle:"#585858",stepFillStyle:"#ffffff",textFillStyle:"#585858",stepNeedleSize:1,needleSize:3,stepTextSize:7,step:20,subStep:5,showStepText:!0,showStartValue:!0,showEndValue:!0,showStepLine:!0,showSubStep:!0,colorStops:[{position:50,color:"#76c045"},{position:80,color:"#ffa302"},{position:100,color:"#fd3c00"}],alpha:1}}]},ht={templates:[{type:"half round rect",description:"half round rect",group:"shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU1NEVFRjY0MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU1NEVFRjY1MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ2Mzc1NUIxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ2Mzc1NUMxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5aX5vPAAAAt0lEQVR42mL8//8/AwisW7fOF0gVArEpEPMwYAdfgPg0EPcFBQVtAQkwggwAam758eOH5cOHD5evXr36zPnz579h021oaMgVGhpqKi8vH8nBwXEMaEgN49q1a32AmovmzZtXvnfv3o8MRABnZ2f+pKSkDqAhE5iA/CKQzcRqBgGQWpAekJdBBpgAvXCGgUQA1HMWpBdkAO+ZM2e+kmoAVA8vEwOFYNSAUQNAgAVEADPUTXINAAgwAIycTPbtxGgSAAAAAElFTkSuQmCC",model:{type:"half-roundrect",left:100,top:100,width:100,height:100,round:30,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}}]},bt=[{type:"indoor map",description:"indoor map",group:"container",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFNTRCQkQ0MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFNTRCQkQ1MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkU1NEJCRDIxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkU1NEJCRDMxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6J8cU1AAAAe0lEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkTKPEIGBczIIxGKARkwZjo2OQHAHz4HoxvAx0qTEyRpM2xkFjehnJ6WepEobILsRjwVkcNEUuTCMUOwQjhRBG1ovTyyCXYmMT8tEQyinYvICLTbSBlGY/sBmj5SHFACDAAHgJh254ruoFAAAAAElFTkSuQmCC",model:{type:"indoor-map",left:100,top:100,width:200,height:200,fontSize:80,lineWidth:1}},{type:"rack",description:"rack in warehouse",group:"warehouse",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBEQjBBQTRDMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBEQjBBQTREMTg0NDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTZEOUI5QjcxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTZEOUI5QjgxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4g817qAAAA80lEQVR42uyUPQrCQBCFHcmfYKEoRLQQsTG1N/MgXsdTWJtGxEJRVLRQ8A/iW3iBGJMNEhELBz4m2Zl97OwMK0EQFD5pxcKH7fcFjfBDRPp5hNCL8ZMg7Qr2YKFyMjQEtEAVWGklT4ANesDRiDnMsbnntWQe+w43RfkD+Ao4gGNMrBzGkD/kdSULRkyJXEAdlMCO6zXuWYObtikJpjaseJom105gq7vfr86hCRqsYkkMrpmZc5h28bGmbBhzGdMLolvqvw1GYIYunhMHUESNTQe+Cz/Xleyxu36aGMdLxXzmerqSLZbjRmfrHZP/e5jbHgIMAK14Pwpo2fhGAAAAAElFTkSuQmCC",model:{type:"rack",left:100,top:100,width:100,height:100,depth:100,shelves:1,locPattern:"{z}{s}-{u}-{sh}",shelfPattern:"#",fillStyle:"#ffffff",strokeStyle:"#999",lineWidth:1,alpha:1}}];function mt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class gt extends p.b{static get is(){return"things-editor-action"}static get styles(){return[...p.b.styles,Object(r.b)(qe||(qe=mt(["\n :host > label {\n display: flex;\n grid-column: span 3;\n order: 1;\n align-items: center;\n justify-self: right;\n }\n "])))]}editorTemplate(e){var t=e.property||{},{icon:n,action:i}=t;return Object(r.e)(Ke||(Ke=mt(["\n <paper-icon-button\n .icon=","\n @click=","\n ></paper-icon-button>\n "])),n,e=>this.dispatchEvent(new CustomEvent("action-editor-clicked",{bubbles:!0,composed:!0,detail:i})))}}customElements.define(gt.is,gt);var vt={templates:bt,editors:[{type:"action",element:gt.is}]},ft={templates:[{type:"news-ticker",description:"news-ticker",group:"etc",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUVCQjNBNzk5RUNGMTFFOTgwODZBMjQzMUI0QjYwRTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUVCQjNBN0E5RUNGMTFFOTgwODZBMjQzMUI0QjYwRTMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5RUJCM0E3NzlFQ0YxMUU5ODA4NkEyNDMxQjRCNjBFMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5RUJCM0E3ODlFQ0YxMUU5ODA4NkEyNDMxQjRCNjBFMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po4ClzcAAADpSURBVHja7FS7DcIwFIwRLQPAAFnA7oGeBYCeBaBngYgBWMBjkAHiBRgABgi9uWe9ByZyQkE68qTT+8Q+3dlWlPc+6zNGWc8xEP4eSmudI0+iWc39taqq2hijqQbyxt7wvUk4BnaAjmZOMsioPgInznEcorUfhGdWVPAiUbgHZoDljfRtwftKUuicez1iOFXUK3nYUHOBhaUsQF+wza1Yw2xNGb0NFtxbIAi/XsodeKTOKQofoZ0QSqZIc+CGetV1qQJR26Zww2dnue5UyHZ9kpDVkaoSdh3PkirpIghSB8nD3+YPCJ8CDADqXlR9QfhhkAAAAABJRU5ErkJggg==",model:{type:"news-ticker",left:10,top:10,width:300,height:50,duration:5,text:"#{data}"}}]},yt={templates:[{type:"progress-vertical",description:"vertical progress-bar",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFEMkNERDMxMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFEMkNERDMyMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUQyQ0REMkYxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUQyQ0REMzAxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4w2WzoAAAAfUlEQVR42uRU0QrAIAjsRp/n39r/ORo0xMyxaBBM8MHU4+4IISJpZRxpcWRdlFJcukQE3R/VV1TJLZm5A6xvekbPer0pyS6zWQ8jMBfQSojAam19z2/YWVZLJD8FmqzRl4nYhB5GC7YH4M7PJe8PmGeWogv1Qw+x/cU+BRgAvxxuIc9Fo0gAAAAASUVORK5CYII=",model:{type:"progress-vertical",top:100,left:100,width:70,height:200,value:65,fontSize:20,fontColor:"#fff",fontFamily:"Arial",fillStyle:"#76c045",strokeStyle:"#585858",text:"#{value}%",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"progress-horizontal",description:"horizontal progress-bar",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMyM0E5Mzc0MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMyM0E5Mzc1MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUQyQ0REMzMxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUQyQ0REMzQxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ETV32AAAAdElEQVR42mL8//8/AzUBEwOVwcAbuGXLlv8gjIvPSEkYwgzy8fFhpNjL2Awj20BchpEdhsiGUTUMKYplZFfgA3AXEqsBF4AFAQs5msAuYUTEx+bNm/8P46xHCLCQkwah4YZdESiWicGggCdGHePIK2ABAgwALf1951xvcosAAAAASUVORK5CYII=",model:{type:"progress-horizontal",top:100,left:100,width:200,height:70,value:65,reverse:!1,fontSize:20,fontColor:"#fff",fontFamily:"Arial",fillStyle:"#76c045",strokeStyle:"#585858",text:"#{value}%",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"progress-circle",description:"circle shaped progress-bar",group:"chartAndGauge",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMyM0E5Mzc4MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMyM0E5Mzc5MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzIzQTkzNzYxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzIzQTkzNzcxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5LWX24AAABdklEQVR42syUr2+DUBDHYZmCWdJkarb/wdL6YUgmliqqN1PX2qVpZjdXM9/JCRJM69sEB4rgahcMogIBYd/XHOT2eOsQFbvk03eFd8d790uvqko7p1xoZ5bLWknTVH53B2wwAP0gCMSzGOzAGmz4ZsdxfjpkcgMm4AlcSe9uiUfwDpZgrzwhc/YCxn/cTHxoCnrgmTuVYzhhzkS2VmAErokRPaszOSabRvQ6y4ihiNknfV08XBBHsSyrMfJ9f45FoIMDeEAMN/IJbRazD+5MFhgvaE99fVt15QHTvQ4V4qlsucM+07cdHG5VtmcvbO4wZvqwg+1QZcsd7ph+L35M0zxml2dY3iPbcodrKgEhbhzHc8MwlEejsnHp74FsW3UolteyLKdhGGpFUVRUGh5LwJBO5lINCnkDM2Uv53m+jKKoRx2g03qqDVfUz+1ezrJMS5JkT7359ctw0Ng1Tw8HOKtVsWFG46kZXyybyvHViuG/ndjfAgwAPatyqiyi4msAAAAASUVORK5CYII=",model:{type:"progress-circle",cy:150,cx:150,rx:70,ry:70,value:65,startAngle:0,endAngle:360,fontSize:20,strokeStyle:"#76c045",blankStrokeStyle:"#ccc",fontFamily:"Arial",fontColor:"#585858",text:"#{value}%",alpha:1,hidden:!1,lineWidth:20,lineDash:"solid",lineCap:"round"}}]},wt={templates:[{type:"random",description:"random data generator",group:"dataSource",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwNkVBNTJFMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkwNkVBNTJGMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTA2RUE1MkMxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTA2RUE1MkQxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz78jQ6fAAADzElEQVR42sxUS0hjVxg+Nw/zTpPoJFWjhtaxLipJ7UJFfIAgFJmOo6PiA7SCohs3PsCVuBEUcSHiSkHBzag1WquiRVF8II5gHEQT0ESwYkrUTDRGE/Pody6kZKBDN7Pogcu53PPf73z/933nMKFQiHzJwSFfePAODw8JfWQyGeFwOCQqKooEg0HO5uamzmg06h0Oh2hhYeGPrKwsx/DwMLFarSQnJ4cEAgG2lsvlEq/XS56enkhcXBzhsag8HpFKpeT6+lqwvLycvLq6mmqz2VR6vf7y5uZG1tramrWzs/Pbw8MDC8AwzOcZSiQSAhZSAKXOz8+nOp1OMV1oa2vbXV9f/9Dd3R3b0tLyCszo5v7/bHlkZMQwODhoEAqFAbQQCC/Y7XZRb28vZ2lpSV5UVGS9vb0Vga0Ac4DP5zsp038bDBZ+SUxM9E5OTk7B8WBtbe2bk5MTFW1Lp9N9BLC0pqZmLD8/P766uvon+lN6evpFWVnZB8yXAoGAuFwu4vF4WA05lZWVpxCVA/2CmENUTzponKCjIiMjw15YWBiPLn4wGAx/1dfXb8EASWdnZ1FHR8erlZWVl/iPlY7V9+DgQJ6dnf1WLpe7wSp0dXWljGxhbGxsRiQS8SoqKn4eGhoyJicnO46OjjTQ+HW4JiEhwVVQUGCuqqqycPv6+rwXFxeSra2tBLfbLYoEy8zMtIOhbXx8/MezszMF2PMUCoVveno6Hf/Iw3V3d3dCk8mk3d/fj2XgKrFYLF/l5eW9pfkrKSl5LxaLP8KMnK6uri2NRuMpLS19HT5RVBLEyQqDlOfn5590Ex0d7ebRwrS0NFdxcbFtcXExqampyUQ3gcBSuHk5NTWVGXk8GxsbTeXl5XswQQwZKu7v7/nhtYaGBjPn8fGRTXlzc/MBZu7o6GgG8vi9SqXyAPDrmZmZl5Es0KoMzgvMZrMaoPwIdk91dXVmHsxgk5+bm+tEu9aJiQk9gEIw4/fd3d0XcPCTwGGzbxH4eMTFD2cfoR+rOyJlSUpK8jD4wBYChBwfH/NnZ2c1YOdSq9XumJiYaOxaCOelkaBardbd09NjhJ5Me3v7G0ROuL29/Q5uu3nhIhhCsOMzBP+TygDGBIDXAwMDvyJa34DZdwi8mtZiQx9lRw3CE4RpZykpKW561v9hSEMJ1wjsJz6fj8B1gogQxIkolUoCoxi869bW1lJxO2mhmQMXSgjh1+D7OwC6np+fCfO5CxaFLODGxgZBsFnj/H4/7YKcnp6+mJubS9vb24vFybH09/fv0+uMPcv/+xv7bwEGABu84iBklXqgAAAAAElFTkSuQmCC",model:{type:"random",left:10,top:10,width:100,height:100,hidden:!0,dataFormat:"json",format:"integer",period:5e3,count:1}}]},At={templates:[{type:"simple-switch",description:"simple-switch",group:"IoT",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjI5MTg2Rjk4OTFBMTFFQUI3OURCRTJBQkJDNjBGNzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjI5MTg2RkE4OTFBMTFFQUI3OURCRTJBQkJDNjBGNzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMjkxODZGNzg5MUExMUVBQjc5REJFMkFCQkM2MEY3NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMjkxODZGODg5MUExMUVBQjc5REJFMkFCQkM2MEY3NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhU0uewAAADdSURBVHjaYvz//z8DJYCJgULAsmPHDhCtCsQdQOwCxHwE9HwC4j1AXAHEt1mAhDoQnwBiASItBVkQBMROQGwB8kIbkuYDQJwOxApQnA4VwwZAetpYoM6GaS7x8PA4i6RoFtCLIH4PEDtgMcSNCcnPy9E0gwFUbDkOV/Agx8JOPP7eSbNoRDbAHY86d3wGfIKyI4EBZoyuACoWiUP/F8bt27evhcYrLCaWI/nZHarZAYcB60DRWA1NFAJQhQ5Eev8DSC/ICzdAKQpkGhB/JkLjZ6hakJ4bjAOeGwECDACD0DaFHT8lwwAAAABJRU5ErkJggg==",model:{type:"simple-switch",left:10,top:10,width:100,height:40,thumbnailColor:"#ffffff",onColor:"#2196f3",offColor:"#cccccc"}}],editors:[]},xt={templates:[{type:"tab",description:"container tab",group:"container",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFNTRCQkQ4MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFNTRCQkQ5MTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkU1NEJCRDYxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkU1NEJCRDcxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7GnT13AAAAY0lEQVR42mL8//8/AzUBEwOVAQuMsW7dOoqcGhQUxAhmgLwMwmvXrv0PY6NjkBxQqRoMY+PD1FLdy4PfQBZiFQLD6SY+PkkGwmMQB0BOISMwUkYNHOw5hdIiDAQYB32JDRBgAP2cQc6C2J66AAAAAElFTkSuQmCC",model:{type:"tab",left:100,top:100,width:100,height:400,lineWidth:5,fillStyle:"navy",activeFillStyle:"red",strokeStyle:"white",fontColor:"white"}}]},Ot=[];Ot[0]=$e,Ot[1]=et,Ot[2]=pt,Ot[3]=ut,Ot[4]=ht,Ot[5]=vt,Ot[6]=ft,Ot[7]=yt,Ot[8]=wt,Ot[9]=At,Ot[10]=xt;var jt,kt,Et,Rt,Mt,St,It=Ot;function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function zt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(n),!0).forEach((function(t){Dt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Dt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tt(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ct(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Tt(a,i,r,o,s,"next",e)}function s(e){Tt(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Gt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Pt=()=>{};class Bt extends(Object(o.a)(a.store)(a.PageView)){constructor(){super(),a.store.dispatch({type:u.a,components:It});var e={};for(var t in It){var{editors:n}=It[t];n&&n.forEach(t=>{var{type:n,element:i}=t;e[n]=i})}a.store.dispatch({type:p.a,editors:e}),this.boardName="",this.model=null,this.baseUrl="",this.selected=[],this.mode=1,this.hideProperty=!1,this.overlay=null,this.scene=null,this.componentGroupList=[],this.fonts=[],this.board=null,this.propertyEditor=[]}static get properties(){return{boardId:String,boardName:String,model:Object,baseUrl:String,selected:Array,mode:Number,hideProperty:Boolean,overlay:String,scene:Object,componentGroupList:Array,fonts:Array,propertyEditor:Array,_showSpinner:Boolean}}static get styles(){return[Object(r.b)(jt||(jt=Gt(["\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n position: relative;\n }\n\n board-modeller {\n flex: 1;\n }\n\n oops-spinner {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n oops-spinner[show] {\n display: block;\n }\n\n oops-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n "])))]}get context(){return{title:this.board?this.boardName:this._showSpinner?"Fetching board...":"Board Not Found",help:"board-modeller/modeller",widebleed:!0}}get oopsNote(){return{icon:"color_lens",title:"EMPTY BOARD",description:"There are no board to be designed"}}get editToolbar(){return this.renderRoot.querySelector("#edittoolbar")}get modeller(){return this.renderRoot.querySelector("board-modeller")}refresh(){var e=this;return Ct((function*(){if(!e.boardId)return e.board=null,void(e.model=null);try{e._showSpinner=!0,e.updateContext();var t=(yield a.client.query({query:Object(s.a)(kt||(kt=Gt(["\n query FetchBoardById($id: String!) {\n board(id: $id) {\n id\n name\n model\n }\n }\n "]))),variables:{id:e.boardId},context:Object(a.gqlContext)()})).data.board;if(!t)throw e._board=null,"board not found";e.board=zt(zt({},t),{},{model:JSON.parse(t.model)}),e.boardName=e.board.name,e.model=zt({},e.board.model)}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,ex:e}}))}finally{e._showSpinner=!1,e.updateContext()}}))()}updated(e){e.has("boardId")&&this.refresh()}pageUpdated(e,t){this.active?(this.boardId=t.resourceId,this.bindShortcutEvent()):(this.boardId=null,this.model=null,this.modeller.close(),this.unbindShortcutEvent())}stateChanged(e){this.baseUrl=e.route.rootPath,this.propertyEditor=e.modeller.editors,this.componentGroupList=e.board.templates,this.fonts=e.font}render(){var e=!this._showSpinner&&!this.model&&this.oopsNote;return e?Object(r.e)(Et||(Et=Gt(["\n <oops-note\n icon=","\n title=","\n description=","\n @click=","\n ></oops-note>\n "])),e.icon,e.title,e.description,e.click||Pt):Object(r.e)(Rt||(Rt=Gt(['\n <edit-toolbar\n id="edittoolbar"\n .scene=',"\n .board=","\n .selected=","\n @hide-property-changed=","\n @open-preview=","\n @download-model=","\n @modeller-fullscreen=","\n >\n ","\n </edit-toolbar>\n\n <board-modeller\n .mode=","\n @mode-changed=","\n .model=","\n @model-changed=","\n .scene=","\n @scene-changed=","\n .selected=","\n @selected-changed=","\n .baseUrl=","\n .provider=","\n @save-model=","\n .componentGroupList=","\n .fonts=","\n .propertyEditor=","\n .hideProperty=","\n >\n </board-modeller>\n <oops-spinner ?show=","></oops-spinner>\n "])),this.scene,this.board,this.selected,e=>this.hideProperty=e.detail.value,e=>this.onOpenPreview(e),e=>this.onDownloadModel(e),e=>this.onFullscreen(e),this.renderBrandingZone(),this.mode,e=>{this.mode=e.detail.value},this.model,e=>{this.model=e.detail.value},this.scene,e=>{this.scene=e.detail.value},this.selected,e=>{this.selected=e.detail.value},this.baseUrl,d.b,e=>this.saveBoard(),this.componentGroupList,this.fonts,this.propertyEditor,this.hideProperty,this._showSpinner)}renderBrandingZone(){return Object(r.e)(Mt||(Mt=Gt([""])))}onOpenPreview(){this.modeller.preview()}onDownloadModel(){if(this.scene){var e=JSON.stringify(this.model,null,2),t=(this.boardName||"NONAME")+"-"+Date.now()+".json";Object(l.saveAs)(new Blob([e],{type:"application/octet-stream"}),t)}}onFullscreen(){Object(c.o)(this)}updateBoard(){var e=this;return Ct((function*(){try{e._showSpinner=!0;var{id:t,name:n,description:i,groupId:r}=e.board,o=JSON.stringify(e.scene.model);yield a.client.mutate({mutation:Object(s.a)(St||(St=Gt(["\n mutation UpdateBoard($id: String!, $patch: BoardPatch!) {\n updateBoard(id: $id, patch: $patch) {\n id\n }\n }\n "]))),variables:{id:t,patch:{name:n,description:i,model:o,groupId:r}},context:Object(a.gqlContext)()}),document.dispatchEvent(new CustomEvent("notify",{detail:{level:"info",message:"saved"}}))}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,ex:e}}))}finally{e._showSpinner=!1}e.updateContext()}))()}saveBoard(){var e=this;return Ct((function*(){yield e.updateBoard()}))()}bindShortcutEvent(){var e=Object(c.i)(),t=["Digit1","Digit2","F11","KeyD","KeyP","KeyS"];this._shortcutHandler=n=>{var i=n.composedPath()[0].tagName,r=i.isContentEditable||"INPUT"==i||"SELECT"==i||"TEXTAREA"==i;!t.includes(n.code)&&r||this.editToolbar.onShortcut(n,e)||this.modeller.onShortcut(n,e)},document.addEventListener("keydown",this._shortcutHandler)}unbindShortcutEvent(){this._shortcutHandler&&(document.removeEventListener("keydown",this._shortcutHandler),delete this._shortcutHandler)}}customElements.define("board-modeller-page",Bt)},1213:function(e,t,n){"use strict";var i,r,a=n(0),o=n(77),s=n(35);function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class c extends(Object(o.a)(s.store)(a.a)){static get styles(){return[Object(a.b)(i||(i=l(["\n :host {\n font-size: 2em;\n margin: 0 5px 0 0;\n --badge-size:14px;\n }\n\n mwc-icon {\n display: block;\n }\n\n [data-badge] {\n position: relative;\n }\n\n [data-badge]::after {\n content: attr(data-badge);\n position: absolute;\n top: 0px;\n right: -6px;\n font-family: var(--theme-font);\n font-size: 0.4em;\n background: var(--paper-deep-orange-a400);\n color: var(--theme-white-color);\n width: var(--badge-size);\n height: var(--badge-size);\n text-align: center;\n line-height: var(--badge-size);\n border-radius: 50%;\n box-shadow: var(--box-shadow);\n }\n\n [data-badge='0']::after {\n display: none;\n }\n "])))]}static get properties(){return{badge:Number}}render(){var e=this.badge||0;return Object(a.e)(r||(r=l(["\n <mwc-icon data-badge=",' class="badge">notifications_none</mwc-icon>\n '])),e)}stateChanged(e){this.badge=e.notification.badge}}customElements.define("notification-badge",c);var d,p,u,h,b,m,g,v,f,y,w,A,x=n(978),O=n(973),j=n(8);n(42);function k(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class E extends a.a{static get styles(){return[Object(a.b)(d||(d=k(["\n :host {\n position: relative;\n background-color: var(--theme-white-color);\n padding: var(--padding-default);\n border-left: 0 solid transparent;\n border-bottom: var(--border-dark-color) !important;\n transition: border-left 300ms ease-in-out, padding-left 300ms ease-in-out;\n color: var(--scondary-color);\n\n --type-dot-size: 9px;\n }\n\n :host([newbie]) {\n background-color: var(--paper-light-green-50);\n }\n\n :host(:hover) {\n padding-left: 0.5rem;\n border-left: 0.5rem solid var(--status-info-color);\n }\n\n [title] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--fontsize-large);\n font-weight: bold;\n color: var(--secondary-color);\n }\n\n [title] span {\n display: inline-block;\n width: var(--type-dot-size);\n height: var(--type-dot-size);\n border-radius: 50%;\n margin-right: var(--margin-narrow);\n }\n [title] * {\n vertical-align: middle;\n }\n\n [close] {\n position: absolute;\n top: 13px;\n right: 0;\n font-size: var(--fontsize-large);\n opacity: 0.5;\n cursor: pointer;\n }\n [close]:hover {\n opacity: 1;\n }\n\n :host([type='ERROR']) span {\n background-color: var(--status-danger-color);\n }\n :host([type='ERROR']) {\n border-color: var(--status-danger-color);\n }\n :host([type='WARN']) span {\n background-color: var(--status-warning-color);\n }\n :host([type='WARN']) {\n border-color: var(--status-warning-color);\n }\n :host([type='SUCCESS']) span {\n background-color: var(--status-success-color);\n }\n :host([type='SUCCESS']) {\n border-color: var(--status-success-color);\n }\n :host([type='INFO']) span,\n :host span {\n background-color: var(--status-info-color);\n }\n :host([type='INFO']) {\n border-color: var(--status-info-color);\n }\n\n img {\n display: block;\n max-width: 100%;\n margin: auto;\n }\n\n [message] {\n font-size: var(--fontsize-default);\n color: var(--secondary-color);\n }\n\n [timestamp] {\n white-space: nowrap;\n font-size: var(--fontsize-small);\n color: var(--secondary-text-color);\n }\n "])))]}static get properties(){return{type:{type:String,reflect:!0},notification:Object,target:String}}render(){var{title:e,url:t,image:n,timestamp:i,body:r}=this.notification,o=this.target;return Object(a.e)(p||(p=k(["\n <div title>\n <span></span>\n ","\n </div>\n <mwc-icon close @click=",">close</mwc-icon>\n\n ","\n <div message>","</div>\n <div timestamp>","</div>\n "])),t?o?Object(a.e)(u||(u=k(["<a href="," target=",">","</a>"])),t,o,e):Object(a.e)(h||(h=k(["<a href=",">","</a>"])),t,e):e,e=>this.dispatchEvent(new CustomEvent("close")),n?t?o?Object(a.e)(b||(b=k(["<a href="," target=","><img src="," /></a>"])),t,o,n):Object(a.e)(m||(m=k(["<a href=","><img src="," /></a>"])),t,n):Object(a.e)(g||(g=k(["<img src="," />"])),n):Object(a.e)(v||(v=k([""]))),r,new Date(Number(i)).toLocaleString())}updated(e){var t,n;null!==(t=this.notification)&&void 0!==t&&t.confirmed?this.removeAttribute("newbie"):this.setAttribute("newbie",!0);var i=null===(n=this.notification)||void 0===n?void 0:n.url;this.target=i&&!function(e){function t(e){return e.port||{"http:":80,"https:":443}[e.protocol||n.protocol]}try{var n=window.location,i=new URL(e);return!!(i.protocol&&i.protocol==n.protocol&&i.host&&i.host==n.host&&i.host&&t(i)==t(n))}catch(t){console.warn(t,e)}}(i)&&"_blank"}}function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?R(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function N(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){I(a,i,r,o,s,"next",e)}function s(e){I(a,i,r,o,s,"throw",e)}o(void 0)}))}}function z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("notification-item",E);class D extends(Object(x.a)(s.store)(Object(j.b)(j.a)(a.a))){static get styles(){return[Object(a.b)(f||(f=z(["\n :host {\n display: block;\n background-color: var(--theme-white-color);\n box-shadow: var(--box-shadow);\n margin-right: var(--margin-wide);\n padding: var(--padding-default);\n max-height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n }\n :host::before {\n content: '';\n width: 0px;\n height: 0px;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid var(--theme-white-color);\n position: absolute;\n margin-top: -7px;\n right: 50px;\n }\n\n [notifications-wrap] {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n }\n [notifications-wrap] div {\n align-items: stretch;\n border-bottom: 1px solid var(--primary-color);\n }\n [notifications-wrap] strong {\n color: var(--primary-color);\n text-transform: capitalize;\n line-height: 2;\n }\n [notifications-wrap] mwc-button {\n float: right;\n --mdc-button-horizontal-padding: var(--padding-narrow);\n --mdc-typography-button-font-size: 0.75em;\n }\n [no-notifications] {\n margin: 0;\n padding: var(--padding-wide);\n text-align: center;\n font-size: var(--fontsize-default);\n font-weight: bold;\n color: var(--secondary-color);\n }\n div mwc-icon {\n display: block;\n opacity: 0.3;\n }\n @media screen and (max-width: 480px) {\n :host {\n height: 100%;\n width: 100vw;\n }\n }\n "])))]}static get properties(){return{history:Array}}render(){var e=this.history.reverse();return e.length>0?Object(a.e)(y||(y=z(["\n <div notifications-wrap>\n <div>\n <strong>","</strong>\n <mwc-button\n outlined\n dense\n label=",'\n icon="delete_outline"\n @click=',"\n ></mwc-button>\n </div>\n ","\n </div>\n "])),j.a.t("label.notification list"),j.a.t("label.clear all"),e=>this.onclearall(),e.map(e=>Object(a.e)(w||(w=z(["\n <notification-item\n @close=","\n .type=","\n .notification=","\n ></notification-item>\n "])),t=>{this.onclose(e)},e.type,e))):Object(a.e)(A||(A=z(["\n <div no-notifications @click=",">\n <mwc-icon>notifications_off</mwc-icon>","\n </div>\n "])),e=>window.history.back(),j.a.t("text.no notification available"))}onclose(e){var{id:t}=e;s.store.dispatch(function(){var n=N((function*(n){e&&(yield s.notificationStore.delete(t));var i=yield s.notificationStore.getAll();n({type:O.a,history:[...i]})}));return function(e){return n.apply(this,arguments)}}())}onclearall(){s.store.dispatch(function(){var e=N((function*(e){yield s.notificationStore.clear();var t=yield s.notificationStore.getAll();e({type:O.a,history:[...t]})}));return function(t){return e.apply(this,arguments)}}())}stateChanged(e){this.history=e.notification.history}disconnectedCallback(){var e=()=>super.disconnectedCallback,t=this;return N((function*(){e().call(t),yield Promise.all(t.history.filter(e=>!e.confirmed).map(function(){var e=N((function*(e){return yield s.notificationStore.put(M(M({},e),{},{confirmed:!0}))}));return function(t){return e.apply(this,arguments)}}())),s.store.dispatch(function(){var e=N((function*(e){var t=yield s.notificationStore.getAll();e({type:O.a,history:[...t]})}));return function(t){return e.apply(this,arguments)}}())}))()}}customElements.define("notification-list",D);var T,C,G=n(1003),P=n.n(G),B=n(48),Y=(n(1046),n(65)),Z=n(45);n(1010),n(94),n(1218);function U(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class L extends(Object(j.b)(j.a)(a.a)){static get styles(){return[Z.c,Object(a.b)(T||(T=U(["\n :host {\n display: flex;\n background-color: var(--main-section-background-color);\n padding: var(--padding-wide);\n }\n\n form {\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n [content] > * {\n margin: var(--margin-default);\n }\n\n [content] {\n flex: 1;\n flex-direction: column;\n display: flex;\n overflow: auto;\n }\n\n [buttons] {\n margin-top: auto;\n display: flex;\n flex-direction: row-reverse;\n }\n mwc-button {\n margin-left: var(--padding-default);\n }\n\n @media screen and (max-width: 480px) {\n :host {\n padding: var(--padding-default);\n }\n }\n "])))]}static get properties(){return{}}render(){var e;return Object(a.e)(C||(C=U(['\n <form>\n <div content>\n <mwc-textfield\n type="text"\n name="receivers"\n label=',"\n placeholder=",'\n required\n icon="account_circle"\n ></mwc-textfield>\n <mwc-textfield\n type="text"\n name="title"\n label=','\n required\n icon="notifications_none"\n ></mwc-textfield>\n\n <mwc-textfield type="text" name="image" label=',' icon="insert_photo"></mwc-textfield>\n <mwc-textfield type="text" name="url" label=',' icon="link"></mwc-textfield>\n <mwc-textarea type="text" name="body" label=',' required rows="5"></mwc-textarea>\n <mwc-formfield label="In-App Message">\n <mwc-checkbox name="inappmsg"></mwc-checkbox>\n </mwc-formfield>\n </div>\n\n <div buttons>\n <mwc-button raised icon="send" @click=','>\n <i18n-msg msgid="button.notification-send"> </i18n-msg>\n </mwc-button>\n\n <mwc-button type="reset" outlined @click=','>\n <i18n-msg msgid="button.reset"> </i18n-msg>\n </mwc-button>\n </div>\n </form>\n '])),j.a.t("field.receivers"),null===(e=Y.a.credential)||void 0===e?void 0:e.email,j.a.t("field.title"),j.a.t("field.image"),j.a.t("field.url"),j.a.t("field.body"),e=>this.ontest(),e=>this.onreset())}ontest(){var[e,t,n,i,r]=["receivers","title","body","image","url"].map(e=>this.renderRoot.querySelector('[name="'.concat(e,'"]')).value),a=this.renderRoot.querySelector('[name="inappmsg"]').checked?"inapp":"background";Object(O.d)({receivers:e,title:t,body:n,image:i,mode:a,url:r})}onreset(){["receivers","title","body","image","url"].map(e=>this.renderRoot.querySelector('[name="'.concat(e,'"]')).value=""),this.renderRoot.querySelector('[name="inappmsg"]').checked=!1}}customElements.define("notification-sender",L);var Q,W,V,F,_;n(1217);function J(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function H(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){J(a,i,r,o,s,"next",e)}function s(e){J(a,i,r,o,s,"throw",e)}o(void 0)}))}}function X(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class q extends(Object(j.b)(j.a)(a.a)){static get styles(){return[Object(a.b)(Q||(Q=X(["\n div[onoff] {\n display: flex;\n align-items: center;\n border-bottom: var(--border-dark-color);\n margin-bottom: var(--margin-default);\n padding-bottom: var(--padding-default);\n }\n\n div[info] {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n label {\n font: var(--label-font);\n color: var(--label-color);\n text-transform: var(--label-text-transform);\n }\n\n [test] {\n margin-left: auto;\n }\n\n input {\n border: var(--border-dark-color);\n border-radius: var(--border-radius);\n margin: var(--input-margin);\n padding: var(--input-padding);\n font: var(--input-font);\n\n flex: 1;\n }\n\n [button-in-field] {\n position: absolute;\n top: 24px;\n right: 4px;\n }\n "])))]}static get properties(){return{subscription:Object,supported:Boolean}}render(){var e=!!this.supported;return Object(a.e)(W||(W=X(['\n <setting-let>\n <i18n-msg slot="title" msgid="title.notification subscription"></i18n-msg>\n\n ',"\n </setting-let>\n "])),e?Object(a.e)(V||(V=X(['\n <div slot="content" onoff>\n <mwc-formfield label=','>\n <mwc-switch label="allow message" ?checked='," @change=","></mwc-switch>\n </mwc-formfield>\n <mwc-button test outlined label="," @click=",'></mwc-button>\n </div>\n \n <div slot="content" info>\n <label for="subscription-token"><i18n-msg msgid="label.subscription token"></i18n-msg></label>\n <input id="subscription-token" type="text" name="subscription-token" .value='," readonly />\n <mwc-button dense unelevated button-in-field clipboard-copy @click=",'><i18n-msg msgid="button.copy"></mwc-button>\n </div>\n '])),j.a.t("label.allow push message"),!!this.subscription,e=>this.onchange(e),j.a.t("button.push message test"),e=>this.ontest(),this.subscription||"",e=>e.preventDefault()):Object(a.e)(F||(F=X([' <div slot="content">',"</div>"])),j.a.t("text.push notification is not supported in your browser")))}firstUpdated(){var e=this.renderRoot.querySelectorAll("[clipboard-copy]");this.clipboard=new P.a(e,{target:e=>e.parentElement.querySelector("input")})}connectedCallback(){var e=()=>super.connectedCallback,t=this;return H((function*(){e().call(t),"granted"===("Notification"in window&&Notification.permission)&&(t.supported=yield Object(O.c)(),t.subscription=yield Object(O.b)())}))()}onchange(e){var t=this;return H((function*(){var n=e.target,i=n.checked;if("Notification"in window)try{if("granted"!==Notification.permission)return void("denied"===(yield Notification.requestPermission())&&Object(B.h)({level:"error",message:j.a.t("text.web push notification unblock guide")}));if("granted"===Notification.permission)if(i){var r=yield Object(O.b)();r?(t.subscription=r,Object(B.h)({level:"info",message:j.a.t("text.notification subscribed already")})):(t.subscription=yield Object(O.e)(),t.subscription&&Object(B.h)({level:"info",message:j.a.t("text.notification subscribe started")}))}else t.subscription?(yield Object(O.f)(),t.subscription=yield Object(O.b)(),Object(B.h)({level:"info",message:j.a.t("text.notification unsubscribed")})):Object(B.h)({level:"info",message:j.a.t("text.notification unsubscribed already")});else Object(B.h)({level:"error",message:j.a.t("text.notification subscribing failed")})}catch(e){Object(B.h)({level:"error",message:e})}finally{n.checked=!!t.subscription}else Object(B.h)({level:"error",message:j.a.t("This browser does not support desktop notification")})}))()}ontest(){Object(B.j)(Object(a.e)(_||(_=X([" <notification-sender></notification-sender> "]))),{backdrop:!0,size:"large",title:j.a.t("title.notification-sender")})}}customElements.define("notification-setting-let",q)},1215:function(e,t,n){"use strict";n.d(t,"a",(function(){return T.b})),n.d(t,"b",(function(){return T.c}));n(42);var i,r=n(35),a=n(45),o=n(0),s=n(978);n(1222);var l,c,d,p,u,h,b,m,g,v,f,y,w,A,x=Object(o.b)(i||(l=["\n :host {\n overflow-x: auto;\n background-color: var(--secondary-text-color);\n --focus-anchor-color: #e6ffa2;\n }\n\n :host > div {\n overflow-x: auto;\n }\n\n :host > div > ul {\n display: flex;\n flex-direction: row;\n list-style: none;\n margin: auto;\n padding: 0;\n border: var(--border-dark-color);\n border-width: 0 1px;\n max-width: 1250px;\n }\n\n :host > div > ul > li {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n }\n :host > div > ul > li > a {\n display: none;\n font-weight: bold;\n font-size: var(--fontsize-large);\n }\n\n ul[submenus] {\n flex: 1;\n list-style: none;\n overflow-y: hidden;\n background-color: var(--primary-color);\n margin: 0;\n padding: 0;\n border-left: var(--border-dark-color);\n }\n\n ul[submenus] li {\n min-width: 120px;\n max-width: 180px;\n }\n\n a {\n display: block;\n padding: var(--padding-default) var(--padding-default) var(--padding-narrow) var(--padding-wide);\n text-decoration: none;\n font: normal 14px var(--theme-font);\n color: var(--theme-white-color);\n text-transform: capitalize;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n a:hover {\n font-weight: bold;\n }\n\n ul[submenus] a::before {\n content: '';\n display: inline-block;\n position: relative;\n top: -1px;\n width: 5px;\n height: 5px;\n border: 1px solid var(--theme-white-color);\n border-radius: 50%;\n background-color: transparent;\n margin-right: 3px;\n }\n ul[submenus] a:hover,\n ul[submenus] li[active] a {\n background-color: rgba(var(--secondary-color-rgb), 0.3);\n color: var(--focus-anchor-color);\n font-weight: bold;\n }\n\n [description] {\n background-color: var(--primary-color);\n margin: 0;\n padding: var(--padding-default) 0;\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n color: var(--focus-anchor-color);\n font-size: 11px;\n }\n [description] mwc-icon {\n background-color: rgba(0, 0, 0, 0.15);\n margin-right: 4px;\n padding: var(--padding-narrow);\n border-radius: 0 5px 5px 0;\n float: left;\n font-size: 26px;\n }\n\n @media only screen and (max-width: 460px) {\n :host {\n min-width: 100vw;\n }\n :host > div {\n display: initial;\n }\n :host > div > ul {\n flex-direction: column;\n }\n a {\n padding: var(--padding-wide);\n font: normal 15px var(--theme-font);\n }\n li[active] ul {\n border-bottom: 2px solid rgba(0, 0, 0, 0.1);\n }\n li li a {\n display: block;\n padding: var(--padding-wide) var(--padding-default) var(--padding-wide) 35px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: normal 14px var(--theme-font);\n }\n li li[active] a {\n font: bold 14px var(--theme-font);\n }\n :host > div > ul > li > a {\n display: block;\n }\n :host > div > ul > li > a mwc-icon {\n font-size: 1em;\n position: relative;\n top: 2px;\n }\n [description] {\n display: none;\n }\n ul[submenus] a:hover,\n ul[submenus] li[active] a {\n background-color: rgba(var(--secondary-color-rgb), 0.3);\n }\n }\n"],c||(c=l.slice(0)),i=Object.freeze(Object.defineProperties(l,{raw:{value:Object.freeze(c)}}))));function O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class j extends(Object(s.a)(r.store)(o.a)){static get styles(){return[a.c,x]}static get properties(){return{menus:Array,activeTopLevel:Object,activeMenu:Object,path:String}}render(){var{menus:e=[],activeTopLevel:t,activeMenu:n}=this;return Object(o.e)(d||(d=O(['\n <div id="wrap">\n <ul>\n ',"\n </ul>\n </div>\n "])),e.map(e=>{var i;return"group"==e.type?Object(o.e)(p||(p=O([""]))):Object(o.e)(u||(u=O(["\n <li ?active=",">\n <a href=",">\n "," ","\n </a>\n\n <ul submenus>\n ","\n </ul>\n\n <div description>\n "," ","\n </div>\n </li>\n "])),e===t,e.path||"#",e.icon?Object(o.e)(h||(h=O(["<mwc-icon>","</mwc-icon>"])),e.icon):Object(o.e)(b||(b=O([""]))),e.name,null===(i=e.menus)||void 0===i?void 0:i.map(e=>Object(o.e)(m||(m=O(["\n <li ?active=",">\n <a href=","> "," </a>\n </li>\n "])),e===n,e.path||"#",e.name)),e.icon?Object(o.e)(g||(g=O(["<mwc-icon>","</mwc-icon>"])),e.icon):Object(o.e)(v||(v=O([""]))),e.description||"")}))}firstUpdated(){this.renderRoot.querySelector("#wrap").addEventListener("mousewheel",this.onWheelEvent.bind(this),!1),this.renderRoot.addEventListener("click",e=>{if(e.target.submenu){e.stopPropagation(),e.preventDefault();var t=e.target.submenu;this.dispatchEvent(new CustomEvent("active-toplevel",{bubbles:!0,detail:this.activeTopLevel===t?void 0:t}))}else{var n=e.target.href;n&&location.href===n&&Object(r.navigate)(n+"#force",!0)}}),this.renderRoot.addEventListener("transitionstart",e=>{e.target.removeAttribute("settled")}),this.renderRoot.addEventListener("transitionend",e=>{e.target.setAttribute("settled","")})}onWheelEvent(e){var t=e.currentTarget,n=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));t.scrollLeft-=10*n,e.preventDefault()}}function k(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("lite-menu-landscape",j);class E extends(Object(s.a)(r.store)(o.a)){static get properties(){return{page:String,resourceId:String,menus:Array,orientation:String,_activeTopLevel:Object,_activeMenu:Object,_path:String}}static get styles(){return[a.c,Object(o.b)(f||(f=k(["\n :host {\n display: flex;\n overflow-y: auto;\n flex-direction: column;\n height: 100%;\n min-width: 200px;\n background-color: var(--theme-white-color);\n }\n\n :host::before {\n content: '';\n position: absolute;\n width: 100%;\n height: 3px;\n background-color: rgba(0, 0, 0, 0.1);\n }\n\n :host([landscape]) {\n overflow-x: auto;\n flex-direction: row;\n width: 100%;\n min-height: 20px;\n }\n\n lite-menu-portrait,\n lite-menu-landscape {\n flex: 1;\n }\n "])))]}renderMenus(e,t,n){}render(){return Object(o.e)(y||(y=k(['\n <slot name="head"></slot>\n ','\n <slot name="tail"></slot>\n '])),"landscape"!==this.orientation?Object(o.e)(w||(w=k(["<lite-menu-portrait\n .menus=","\n .activeTopLevel=","\n .activeMenu=","\n .path=","\n ></lite-menu-portrait>"])),this.menus,this._activeTopLevel,this._activeMenu,this._path):Object(o.e)(A||(A=k(["<lite-menu-landscape\n .menus=","\n .activeTopLevel=","\n .activeMenu=","\n .path=","\n ></lite-menu-landscape>"])),this.menus,this._activeTopLevel,this._activeMenu,this._path))}firstUpdated(){this.renderRoot.addEventListener("active-toplevel",e=>{e.stopPropagation(),e.preventDefault(),this._activeTopLevel=e.detail})}updated(e){(e.has("menus")||e.has("page")||e.has("resourceId"))&&this._findActivePage(),e.has("orientation")&&("portrait"==this.orientation?this.renderRoot.clearAttribute("landscape"):this.renderRoot.setAttribute("landscape",!0)),e.has("slotTemplate")&&this.replaceChild(this.slotTemplate)}stateChanged(e){this.page=e.route.page,this.resourceId=e.route.resourceId,this.menus=e.liteMenu.menus||[],this.slotTemplate=e.liteMenu.slotTemplate}_findActivePage(){var e,t=this.resourceId?"".concat(this.page,"/").concat(this.resourceId):this.page,n=this.menus||[];this._activeTopLevel=n.find(n=>{var i;return(null===(i=n.path)||void 0===i?void 0:i.split("?")[0])===t?(e=n,!0):n.menus?!!(e=n.menus.find(e=>{var n;return(null===(n=e.path)||void 0===n?void 0:n.split("?")[0])===t})):void 0}),this._path=t,this._activeMenu=e||this._activeTopLevel}}customElements.define("lite-menu-part",E);var R,M,S,I,N=n(48);function z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class D extends(Object(s.a)(r.store)(o.a)){static get styles(){return Object(o.b)(R||(R=z(["\n :host {\n display: flex;\n flex-direction: row;\n }\n\n span {\n flex: 1;\n }\n\n ul {\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n li {\n display: inline-flex;\n flex-direction: row nowrap;\n float: left;\n overflow: none;\n }\n\n a {\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: var(--padding-default) var(--padding-wide) var(--padding-narrow) var(--padding-wide);\n text-decoration: none;\n color: white;\n }\n a * {\n vertical-align: middle;\n }\n a mwc-icon {\n opacity: 0.5;\n position: relative;\n top: -2px;\n font-size: 1em;\n }\n\n li[active] a {\n font-weight: bold;\n }\n li[active] a mwc-icon {\n opacity: 1;\n }\n "])))}static get properties(){return{page:String,resourceId:String,menus:Array,_activeTopLevel:Object}}render(){var{menus:e=[],_activeTopLevel:t}=this;return Object(o.e)(M||(M=z(['\n <slot name="head"></slot>\n <ul>\n ','\n </ul>\n <slot name="tail"></slot>\n '])),e.map(e=>"group"==e.type?Object(o.e)(S||(S=z([""]))):Object(o.e)(I||(I=z(["\n <li ?active=",'>\n <a\n href="#"\n @click=',"\n >\n ","\n <mwc-icon>expand_more</mwc-icon>\n </a>\n </li>\n "])),e===t,e=>{e.preventDefault(),Object(N.k)("lite-menu-part",{backdrop:!0})},e.name)))}stateChanged(e){this.page=e.route.page,this.resourceId=e.route.resourceId,this.menus=e.liteMenu.menus||[],this.slotTemplate=e.liteMenu.slotTemplate}updated(e){(e.has("menus")||e.has("page")||e.has("resourceId"))&&this._findActivePage(),e.has("slotTemplate")&&this.replaceChild(this.slotTemplate)}_findActivePage(){var e=this.resourceId?"".concat(this.page,"/").concat(this.resourceId):this.page,t=this.menus||[];this._activeTopLevel=t.find(t=>{var n;return(null===(n=t.path)||void 0===n?void 0:n.split("?")[0])===e||(t.menus?!!t.menus.find(t=>{var n;return(null===(n=t.path)||void 0===n?void 0:n.split("?")[0])===e}):void 0)})}}customElements.define("top-menu-bar",D);var T=n(1092)},1216:function(e,t,n){"use strict";var i,r,a,o,s=n(0),l=(n(42),n(48)),c=n(8),d=n(29);n(1119);function p(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){p(a,i,r,o,s,"next",e)}function s(e){p(a,i,r,o,s,"throw",e)}o(void 0)}))}}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class b extends(Object(c.b)(c.a)(s.a)){static get properties(){return{provider:{type:String},googleFonts:{type:Array},_files:{type:Array}}}constructor(){super(),this.provider="google",this.providers=[{value:"google",display:"Google"},{value:"custom",display:"Custom"}],this.googleFonts=[]}static get styles(){return[Object(s.b)(i||(i=h(["\n :host {\n position: relative;\n\n padding: 0;\n margin: 0;\n height: 100%;\n\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n -webkit-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n }\n\n :host(.candrop) [front],\n :host(.candrop) [back] {\n border-width: 2px;\n background-color: #fffde9;\n }\n\n :host(.flipped) {\n -webkit-transform: var(--card-list-flip-transform);\n transform: var(--card-list-flip-transform);\n }\n\n [front],\n [back] {\n position: absolute;\n\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n border: var(--card-list-create-border);\n border-radius: var(--card-list-create-border-radius);\n\n background-color: #fff;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n }\n\n [front] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n text-align: center;\n font-size: 0.8em;\n color: var(--card-list-create-color);\n text-transform: capitalize;\n }\n\n [front] mwc-icon {\n font-size: 3.5em;\n color: var(--card-list-create-icon-color);\n }\n\n [back] {\n -webkit-transform: var(--card-list-flip-transform);\n transform: var(--card-list-flip-transform);\n box-sizing: border-box;\n display: grid;\n }\n\n [back] form {\n padding: var(--card-list-create-form-padding);\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n justify-content: center;\n align-items: center;\n }\n\n [back] form .props {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-row-gap: 7px;\n justify-content: center;\n align-items: center;\n }\n\n [back] form .props label {\n grid-column: span 4;\n font: var(--card-list-create-label-font);\n color: var(--card-list-create-label-color);\n }\n\n [back] form .props input,\n [back] form .props select {\n grid-column: span 6;\n background-color: #fff;\n border: var(--card-list-create-input-border);\n border-radius: var(--card-list-create-input-border-radius);\n font: var(--card-list-create-input-font);\n color: var(--card-list-create-input-color);\n width: -moz-available;\n }\n\n file-selector {\n grid-column: span 6;\n font: var(--card-list-create-input-font);\n border: none;\n box-sizing: border-box;\n padding: 0;\n }\n\n [back] input[type='submit'] {\n background-color: var(--button-background-color) !important;\n font: var(--button-font);\n color: var(--button-color) !important;\n border-radius: var(--button-radius);\n border: var(--button-border);\n grid-column: span 10;\n grid-row: auto / -1;\n }\n\n .hidden {\n display: none !important;\n }\n "])))]}firstUpdated(){var e=this;return u((function*(){d.a.set(e)}))()}render(){var e=this,t="google"==this.provider&&this.googleFonts.length>0,n=this._files.length>0;return Object(s.e)(r||(r=h(["\n <div @click="," front><mwc-icon>add_circle_outline</mwc-icon>create font</div>\n\n <div @click="," back>\n <form @submit=",'>\n <div class="props">\n <label>','</label>\n <select\n name="provider"\n @change=',"\n >\n ","\n </select>\n\n <label>",'</label>\n <input type="text" name="','" ?hidden=',' />\n <select name="','" ?hidden=',">\n ","\n </select>\n\n <label ?hidden=",">","</label>\n <input\n ?hidden=","\n ?disabled=","\n .value=",'\n type="text"\n name="uri"\n />\n \x3c!-- display when attachment module is imported --\x3e\n <label ?hidden=',">",'</label>\n <file-selector\n class="','"\n name="file"\n label="','"\n accept=".ttf,.otf,.woff,.woff2,.eot,.svg,.svgz"\n multiple\n @file-change=','\n ></file-selector>\n \x3c!------------------------------------------------\x3e\n\n <label for="checkbox-active" @click=',"</label>\n ",'\n </label>\n <input id="checkbox-active" type="checkbox" name="active" checked />\n </div>\n <div></div>\n <input type="submit" value='," />\n </form>\n </div>\n "])),e=>this.onClickFlip(e),e=>this.onClickFlip(e),e=>this.onClickSubmit(e),c.a.t("label.provider"),t=>{this.provider=t.target.value,"google"===t.target.value&&fetch("/all-google-fonts").then(function(){var t=u((function*(t){t.ok?e.googleFonts=yield t.json():console.warn("(".concat(t.url,") ").concat(t.status," ").concat(t.statusText,". Could not load Google fonts."))}));return function(e){return t.apply(this,arguments)}}())},this.providers.map(e=>Object(s.e)(a||(a=h([" <option value="," ?selected=",">","</option> "])),e.value,this.provider==e.value,e.display)),c.a.t("label.name"),t?"":"name",t,t?"name":"",!t,t&&this.googleFonts.map(e=>Object(s.e)(o||(o=h([" <option value=",">","</option> "])),e,e)),"custom"!=this.provider,c.a.t("label.uri"),"custom"!=this.provider,n,n?this._files[0].name:"","custom"!=this.provider,c.a.t("label.file"),"custom"!=this.provider?"hidden":"",c.a.t("label.select file"),e=>{this._files=Array.from(e.detail.files)},e=>e.stopPropagation(),c.a.t("label.active"),c.a.t("button.create"))}onClickFlip(e){["INPUT","SELECT","OPTION"].find(t=>t===e.target.tagName)||(e.currentTarget.hasAttribute("front")&&this.reset(),this.classList.toggle("flipped"))}onClickSubmit(e){var t=this;return u((function*(){e.preventDefault(),e.stopPropagation();var n,i=e.target,r={};(r.name=i.elements.name.value,r.provider=i.elements.provider.value,r.active=i.elements.active.checked,"custom"===t.provider)&&(r.uri=i.elements.uri.value,(null===(n=t._files)||void 0===n?void 0:n.length)>0&&(r._files=t._files));t.dispatchEvent(new CustomEvent("create-font",{detail:r}))}))()}reset(){var e=this.shadowRoot.querySelector("form");e&&e.reset(),this._files=[],this.classList.remove("flipped")}}customElements.define("font-creation-card",b);var m,g,v,f,y,w,A,x,O,j,k,E,R,M,S=n(284),I=n(309),N=n.n(I),z=n(77),D=n(1147),T=n.n(D),C=n(222),G=n(1045),P=n(35),B=n(45);function Y(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Z(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Y(a,i,r,o,s,"next",e)}function s(e){Y(a,i,r,o,s,"throw",e)}o(void 0)}))}}function U(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class L extends(Object(c.b)(c.a)(Object(z.a)(P.store)(s.a))){static get styles(){return[B.c,B.b,Object(s.b)(m||(m=U(["\n :host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--popup-content-background-color);\n\n position: relative;\n }\n\n :host(.candrop) {\n background: orange;\n cursor: pointer;\n }\n\n #main {\n overflow: auto;\n padding: var(--popup-content-padding);\n display: grid;\n grid-template-columns: var(--card-list-template);\n grid-auto-rows: var(--card-list-rows-height);\n grid-gap: 20px;\n box-sizing: border-box;\n }\n\n #main .card {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n border-radius: var(--card-list-border-radius);\n border: var(--font-selector-border);\n background-color: var(--card-list-background-color);\n\n position: relative;\n }\n\n .card .button-container {\n position: absolute;\n right: 0;\n height: 100%;\n display: flex;\n direction: rtl;\n flex-direction: column;\n flex-wrap: wrap;\n }\n\n .card .button-container > mwc-icon {\n background-color: var(--font-selector-icon-background-color);\n text-align: center;\n width: var(--font-selector-icon-size);\n height: var(--font-selector-icon-size);\n font: var(--font-selector-icon-font);\n color: var(--font-selector-icon-color);\n }\n\n .card .button-container > mwc-icon:last-child {\n border-bottom-left-radius: 12px;\n }\n\n .card .button-container > mwc-icon:hover,\n .card .button-container > mwc-icon:active {\n background-color: var(--primary-color);\n color: #fff;\n }\n\n #main .card.create {\n overflow: visible;\n background-color: initial;\n }\n\n #main .card:hover {\n cursor: pointer;\n }\n\n [face] {\n flex: 1;\n }\n\n [name] {\n background-color: var(--board-renderer-name-background-color);\n opacity: 0.8;\n margin-top: -35px;\n width: 100%;\n color: #fff;\n font-weight: bolder;\n font-size: 13px;\n text-indent: 7px;\n }\n\n [provider] {\n background-color: rgba(0, 0, 0, 0.7);\n width: 100%;\n min-height: 15px;\n font-size: 0.6rem;\n color: #fff;\n text-indent: 7px;\n }\n\n #filter {\n padding: var(--popup-content-padding);\n background-color: var(--font-tools-background-color);\n box-shadow: var(--box-shadow);\n\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n z-index: 1;\n }\n\n #filter * {\n font-size: 15px;\n }\n\n select {\n text-transform: capitalize;\n float: right;\n }\n "])))]}static get properties(){return{fonts:Array,_page:Number,_total:Number,creatable:Boolean}}render(){var e=this.fonts||[];return Object(s.e)(g||(g=U(['\n <div id="filter">\n <select\n @change=','\n >\n <option value="">--',"--</option>\n ",'\n </select>\n </div>\n\n <div id="main">\n ',"\n ","\n </div>\n "])),e=>{this.provider=e.currentTarget.value,this.requestUpdate()},c.a.t("text.please choose a provider"),["google","custom"].map(e=>Object(s.e)(v||(v=U([" <option value=",">","</option> "])),e,e)),this.creatable?Object(s.e)(f||(f=U(['\n <font-creation-card\n class="card create"\n @create-font=',"\n @file-drop=","\n ></font-creation-card>\n "])),e=>this.onCreateFont(e),e=>this.onAttachmentDropped(e)):Object(s.e)(y||(y=U([""]))),e.map(e=>Object(s.e)(w||(w=U(['\n <div class="card" @click=',">\n <div face>\n <font .face=",">ABCDEFGHIJKLMN</font>\n <font .face=",">abcdefghijklmn</font>\n </div>\n <div name>","</div>\n <div provider>",'</div>\n <div class="button-container">\n <mwc-icon\n @click=',"\n >","</mwc-icon\n >\n <mwc-icon\n @click=","\n >delete</mwc-icon\n >\n </div>\n </div>\n "])),t=>this.onClickSelect(e),e.name,e.name,e.name,e.provider,t=>{t.stopPropagation(),this.toggleActive(e)},e.active?"check_box":"check_box_outline_blank",t=>{t.stopPropagation(),this.deleteFont(e)})))}firstUpdated(){var e=this;return Z((function*(){var t=e.shadowRoot.querySelector("#main");Object(C.a)({container:e.shadowRoot,scrollable:t,refresh:()=>e.refresh()});var n=e.renderRoot.querySelector("#main");n.addEventListener("scroll",t=>{e.showGotoTop=0!==t.target.scrollTop});var i=e.renderRoot.querySelector("#filter");yield e.requestUpdate();var r=parseFloat(getComputedStyle(n,null).getPropertyValue("padding-top"));n.style.paddingTop=i.clientHeight+r+"px",new N.a(i,{scroller:n}).init()}))()}get creationCard(){return this.shadowRoot.querySelector("font-creation-card")}updated(e){if(e.has("fonts")){var t=this.creationCard;t&&t.reset()}}stateChanged(e){this.fonts=e.font}refresh(){return P.store.dispatch(Object(G.e)())}toggleActive(e){P.store.dispatch(Object(G.f)({id:e.id,active:!e.active}))}onCreateFont(e){var t=e.detail;this.createFont(t)}createFont(e){var t=this;return Z((function*(){var n;if((null===(n=e._files)||void 0===n?void 0:n.length)>0){var i=yield t.attachFile(e._files[0],["fullpath","refBy"]);e.id=null==i?void 0:i.refBy,e.uri=null==i?void 0:i.fullpath,delete e._files}P.store.dispatch(Object(G.c)(e))}))()}onAttachmentDropped(e){var t=this;return Z((function*(){var n=e.detail.filter(e=>![".woff",".woff2",".eot",".svg",".svgz",".ttf",".otf"].find(t=>e.name.endsWith(t))?(!0,!1):!!!t.fonts.find(t=>t.name==e.name.replace(/\.[^/.]+$/,"").replace(".","_")));n.length>0&&(yield t.attachFiles(n,["name","fullpath","refBy"])).forEach(e=>{t.createFont({id:e.refBy,name:e.name.replace(/\.[^/.]+$/,"").replace(".","_"),provider:"custom",active:!0,uri:e.fullpath})})}))()}attachFile(e,t=[]){return Z((function*(){var n,i=yield P.client.mutate({mutation:Object(S.a)(A||(A=U(["\n mutation($attachment: NewAttachment!) {\n createAttachment(attachment: $attachment) {\n id\n }\n }\n "]))),variables:{attachment:{refBy:T()(),category:"font",file:e}},context:{hasUpload:!0}});return(yield P.client.query({query:Object(S.a)(x||(x=U(["\n query($id: String!) {\n attachment(id: $id) {\n id\n ","\n }\n }\n "])),t.join("\n")),variables:{id:null===(n=i.data.createAttachment)||void 0===n?void 0:n.id}})).data.attachment}))()}attachFiles(e,t=[]){return Z((function*(){var n=yield P.client.mutate({mutation:Object(S.a)(O||(O=U(["\n mutation($attachments: [NewAttachment]!) {\n createAttachments(attachments: $attachments) {\n id\n }\n }\n "]))),variables:{attachments:e.map(e=>({refBy:T()(),category:"",file:e}))},context:{hasUpload:!0}});return(yield P.client.query({query:Object(S.a)(j||(j=U(["\n query($filters: [Filter]) {\n attachments(filters: $filters) {\n items {\n id\n ","\n }\n total\n }\n }\n "])),t.join("\n")),variables:{filters:{name:"id",operator:"in",value:n.data.createAttachments.map(e=>e.id)}}})).data.attachments.items}))()}deleteFont(e){return Z((function*(){try{P.client.mutate({mutation:Object(S.a)(k||(k=U(["\n mutation($refBys: [String]!) {\n deleteAttachmentsByRef(refBys: $refBys) {\n id\n name\n description\n mimetype\n encoding\n category\n path\n createdAt\n updatedAt\n }\n }\n "]))),variables:{refBys:[e.id]}})}catch(e){}P.store.dispatch(Object(G.d)(e))}))()}onClickSelect(e){this.dispatchEvent(new CustomEvent("font-selected",{composed:!0,bubbles:!0,detail:{font:e}}))}}function Q(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function W(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
123
- /**
124
- * @license Copyright © HatioLab Inc. All rights reserved.
125
- */customElements.define("font-selector",L);class V extends s.a{static get properties(){return{value:String,properties:Object}}static get styles(){return[Object(s.b)(E||(E=W(["\n :host {\n position: relative;\n display: inline-block;\n }\n\n input[type='text'] {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n mwc-icon {\n position: absolute;\n top: 0;\n right: 0;\n }\n "])))]}render(){return Object(s.e)(R||(R=W(['\n <input\n id="text"\n type="text"\n .value=',"\n @change=","\n .placeholder=","\n />\n\n <mwc-icon @click=",">font_download</mwc-icon>\n "])),this.value||"",e=>this._onInputChanged(e),this.getAttribute("placeholder")||"",e=>this.openSelector(e))}_onInputChanged(e){this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}openSelector(){var e=this;this.popup&&delete this.popup;this.value;var t=Object(s.e)(M||(M=W(["\n <font-selector\n .creatable=","\n @font-selected=","\n ></font-selector>\n "])),!0,function(){var t,n=(t=function*(t){var n=t.detail.font;e.value=n.name,e.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),e.popup&&e.popup.close()},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){Q(a,i,r,o,s,"next",e)}function s(e){Q(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}());this.popup=Object(l.j)(t,{backdrop:!0,size:"large",title:c.a.t("title.select font")})}}customElements.define("things-editor-font-selector",V)},1222:function(e,t,n){"use strict";n(42);var i,r=n(35),a=n(45),o=n(0);var s,l,c,d,p,u,h,b=Object(o.b)(i||(s=["\n :host {\n display: flex;\n overflow-y: auto;\n flex-direction: column;\n height: 100%;\n }\n\n :host > ul {\n margin-block-end: 1.5em;\n }\n\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n [group-label] {\n padding: 25px 0 var(--padding-narrow) var(--padding-wide);\n border-bottom: var(--border-dark-color);\n font: bold 12px var(--theme-font);\n color: rgba(var(--primary-color-rgb), 0.9);\n text-transform: uppercase;\n }\n a {\n display: block;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n padding: var(--padding-default) var(--padding-default) var(--padding-default) var(--padding-wide);\n text-decoration: none;\n font: normal 14px var(--theme-font);\n color: var(--secondary-color);\n text-transform: capitalize;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n a:hover {\n color: var(--primary-color);\n font-weight: bold;\n }\n a * {\n vertical-align: middle;\n }\n a mwc-icon {\n margin-top: -3px;\n margin-right: var(--margin-narrow);\n font-size: 15px;\n color: rgba(var(--secondary-color-rgb), 0.7);\n }\n a [submenu-button] {\n float: left;\n margin: -5px 0 0 -8px;\n font-size: 25px;\n max-height: 20px;\n }\n a [submenu-button]::before {\n content: 'arrow_right';\n }\n li[active] > a [submenu-button]::before {\n content: 'arrow_drop_down';\n }\n li[active] > a {\n border-left: 3px solid var(--primary-color);\n font-weight: bold;\n color: var(--primary-color);\n }\n li li a {\n padding: 7px 0 7px 35px;\n font: normal 13px var(--theme-font);\n color: var(--secondary-color);\n }\n li li[active] a {\n background-color: rgba(var(--primary-color-rgb), 0.15);\n font: bold 13px var(--theme-font);\n color: var(--primary-color);\n }\n li > ul {\n overflow-y: hidden;\n max-height: 0;\n background-color: #f6f6f6;\n\n transition-property: all;\n transition-duration: 0.7s;\n }\n li[active] > ul {\n max-height: 500px;\n }\n li[active] > ul[settled] {\n overflow-y: auto;\n }\n li li a::before {\n margin-right: var(--margin-narrow);\n }\n\n @media only screen and (max-width: 460px) {\n :host {\n min-width: 100vw;\n }\n a {\n padding: var(--padding-wide);\n font: normal 15px var(--theme-font);\n }\n li[active] ul {\n border-bottom: 2px solid rgba(0, 0, 0, 0.1);\n }\n li li a {\n display: block;\n padding: var(--padding-wide) var(--padding-default) var(--padding-wide) 35px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: normal 14px var(--theme-font);\n }\n li li[active] a {\n font: bold 14px var(--theme-font);\n }\n }\n"],l||(l=s.slice(0)),i=Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(l)}}))));function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class g extends o.a{static get styles(){return[a.c,b]}static get properties(){return{menus:Array,activeTopLevel:Object,activeMenu:Object,path:String}}renderMenus(e,t,n){return Object(o.e)(c||(c=m(["\n <ul>\n ","\n </ul>\n "])),e.map(e=>{var i;return"group"==e.type?Object(o.e)(d||(d=m(["<li group-label>","</li>"])),e.name):Object(o.e)(p||(p=m(["\n <li\n ?active=","\n >\n <a href=",">\n ","\n <mwc-icon>","</mwc-icon>\n ","\n </a>\n ","\n </li>\n "])),t?e===t:!(!e.active||"function"!=typeof e.active)&&e.active.call(e,{path:this.path}),e.path||"#",(null===(i=e.menus)||void 0===i?void 0:i.length)>0?Object(o.e)(u||(u=m([" <mwc-icon .submenu="," submenu-button></mwc-icon> "])),e):Object(o.e)(h||(h=m([""]))),e.icon,e.name,e.menus&&this.renderMenus(e.menus,n))}))}render(){var{menus:e,activeTopLevel:t,activeMenu:n}=this;return this.renderMenus(e,t,n)}firstUpdated(){this.renderRoot.addEventListener("click",e=>{if(e.target.submenu){e.stopPropagation(),e.preventDefault();var t=e.target.submenu;this.dispatchEvent(new CustomEvent("active-toplevel",{bubbles:!0,detail:this.activeTopLevel===t?void 0:t}))}else{var n=e.target.href;n&&location.href===n&&Object(r.navigate)(n+"#force",!0)}}),this.renderRoot.addEventListener("transitionstart",e=>{e.target.removeAttribute("settled")}),this.renderRoot.addEventListener("transitionend",e=>{e.target.setAttribute("settled","")})}}customElements.define("lite-menu-portrait",g)},1308:function(module,__webpack_exports__,__webpack_require__){"use strict";var lit_element__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),_things_editor_code__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1051),_templateObject,_templateObject2;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
126
- /**
127
- * @license Copyright © HatioLab Inc. All rights reserved.
128
- */class ThingsEditorData extends lit_element__WEBPACK_IMPORTED_MODULE_0__.a{static get is(){return"things-editor-data"}static get properties(){return{value:Object}}static get styles(){return[Object(lit_element__WEBPACK_IMPORTED_MODULE_0__.b)(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n div[datatype] {\n display: flex;\n align-items: center;\n padding: 2px;\n background-color: rgba(0, 0, 0, 0.08);\n font-size: small;\n }\n\n div[datatype] mwc-icon {\n margin-left: auto;\n }\n\n things-editor-code {\n flex: 1;\n max-width: 260px;\n overflow: auto;\n }\n "])))]}render(){return Object(lit_element__WEBPACK_IMPORTED_MODULE_0__.e)(_templateObject2||(_templateObject2=_taggedTemplateLiteral(['\n <div datatype>\n <input type="radio"\n name="data-type"\n data-value="string"\n .checked=',"\n @click=",'\n >string</input>\n <input type="radio"\n name="data-type"\n data-value="number"\n .checked=',"\n @click=",'\n >number</input>\n <input type="radio"\n name="data-type"\n data-value="object"\n .checked=',"\n @click=","\n >object</input>\n <mwc-icon @click=",' title="delete">delete_forever</mwc-icon>\n </div>\n\n <things-editor-code .value='," editor> </things-editor-code>\n "])),"string"==typeof this.value,e=>this._setDataType("string"),"number"==typeof this.value,e=>this._setDataType("number"),"object"==typeof this.value,e=>this._setDataType("object"),e=>this._clearData(),this._getData(this.value))}firstUpdated(){this.renderRoot.addEventListener("change",e=>{var t;e.stopPropagation(),e.target.hasAttribute("editor")&&(this.value=e.target.value);var n=null===(t=this.renderRoot.querySelector("input[name=data-type]:checked"))||void 0===t?void 0:t.getAttribute("data-value");this._setDataType(n)})}udpated(e){e.has("value")&&(this.value=this._getData(this.value))}_setDataType(type){if(typeof this.value!==type){var value=this.value;try{switch(type){case"string":this.value=String(value||"");break;case"number":isNaN(value)||(this.value=Number(value));break;case"object":this.value=eval("("+value+")")}}catch(e){console.log(e)}}this._onAfterValueChange()}_clearData(){this.value=void 0,this._onAfterValueChange()}_getData(e){return"object"!=typeof e?e||"":JSON.stringify(e,null,1)}_onAfterValueChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}customElements.define(ThingsEditorData.is,ThingsEditorData)},1318:function(e,t){},1319:function(e,t){},1411:function(e,t,n){"use strict";n.r(t),n.d(t,"modules",(function(){return _d}));var i={route:function(e){return n.e(60).then(n.bind(null,1380)),"page404"},routes:[{tagname:"page-404",page:"page404"}]},r=n(35),a=n(1048);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c={tools:[]},d=(e=c,t)=>{switch(t.type){case a.a:return s(s({},e),{},{tools:[...t.replace?e.tools.filter(e=>e.name!==t.replace&&e.name!==t.tool.name):e.tools.filter(e=>e.name!==t.tool.name),t.tool]});case a.b:return s(s({},e),{},{tools:e.tools.filter(e=>e.name!==t.name)});default:return e}};var p={bootstrap:function(){r.store.addReducers({apptool:d})}},u=n(151);function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var g={viewparts:{},width:"WIDE"},v=(e=g,t)=>{var n=b({},e.viewparts);switch(t.type){case u.a:return b(b({},e),{},{viewparts:b(b({},e.viewparts),{},{[t.name]:b(b({},t.viewpart),{},{position:t.position})})});case u.b:return delete n[t.name],b(b({},e),{},{viewparts:n});case u.d:var i=n[t.name];if(!i)return e;var r=t.override||{};return i.temporary&&!1===r.show?(delete n[t.name],b(b({},e),{},{viewparts:n})):b(b({},e),{},{viewparts:b(b({},e.viewparts),{},{[t.name]:b(b({},i),t.override)})});case u.e:return b(b({},e),{},{width:t.width});default:return e}},f=n(152);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){A(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function A(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var x={snackbarOpened:!1,level:"",message:"",action:{}},O=(e=x,t)=>{switch(t.type){case f.b:return w(w({},e),{},{snackbarOpened:!0,level:t.level||"info",message:t.message,action:w({},t.action)});case f.a:return w(w({},e),{},{snackbarOpened:!1});default:return e}};function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var R,M,S,I,N,z,D,T,C,G,P={bootstrap:function(){r.store.addReducers({layout:v,snackbar:O}),document.addEventListener("open-overlay",e=>{var{name:t,options:n}=e.detail;Object(u.j)(t,n)}),document.addEventListener("close-overlay",e=>{var{name:t}=e.detail;Object(u.i)(t)}),document.addEventListener("toggle-overlay",e=>{var{name:t,options:n}=e.detail;Object(u.l)(t,n)}),document.addEventListener("open-popup",e=>{var{template:t,options:n,callback:i}=e.detail,r=Object(u.k)(t,n);r&&i&&i(r)}),document.addEventListener("notify",e=>{var{message:t,level:n,ex:i="",option:a={}}=e.detail;switch(n){case"error":console.error(t,i);break;case"warn":console.warn(t,i);break;case"info":console.info(t)}r.store.dispatch(Object(f.d)(n,k({message:t},a)))});var e=[];function t(){return e.length>0?e[e.length-1].overlay.sequence:-1}document.addEventListener("keydown",t=>{var n,i;e.length>0&&27==t.keyCode&&((null===(n=history.state)||void 0===n||null===(i=n.overlay)||void 0===i?void 0:i.escapable)&&history.back())}),r.store.dispatch({type:r.REGISTER_NAVIGATION_CALLBACK,callback:(n,i)=>{var a=i instanceof PopStateEvent,o=history.state,s=null==o?void 0:o.overlay,l=(null==s?void 0:s.sequence)||-1,c=t();if(e.length>0&&l<c)do{var{overlay:d}=e.pop();r.store.dispatch({type:u.d,name:d.name,override:{show:!1}}),c=t()}while(l<c);!a&&s&&(e.push(k({},o)),r.store.dispatch({type:u.d,name:s.name,override:{show:!0}}))}})}},B=n(5),Y=n(48),Z=(n(42),n(0)),U=n(77);function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Q extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{_tools:Array,_route:Object}}static get styles(){return[Object(Z.b)(R||(R=L(["\n :host {\n display: flex;\n height: var(--header-bar-height, 45px);\n color: var(--header-bar-color);\n justify-content: space-between;\n align-items: center;\n padding: 0 5px;\n\n text-transform: capitalize;\n }\n\n :host > * {\n margin: var(--header-bar-item-padding);\n }\n\n [center] {\n flex: 1;\n flex-wrap: nowrap;\n display: flex;\n align-items: center;\n overflow: hidden;\n }\n\n [center] > * {\n margin: auto;\n }\n\n :host(.vline) {\n display: block;\n flex: none;\n border-left: 1px solid rgba(255, 255, 255, 0.07);\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n width: 0px;\n height: 18px;\n margin: 0 4px;\n }\n\n :host(label) {\n margin-right: 5px;\n color: #fff;\n font-size: 20px;\n }\n\n span.space {\n width: 10px;\n }\n "])))]}render(){var e=this._tools||[],t=e.filter(e=>e.position==Y.b.FRONT_END),n=e.filter(e=>e.position==Y.b.FRONT),i=e.filter(e=>e.position==Y.b.CENTER),r=e.filter(e=>e.position==Y.b.REAR),a=e.filter(e=>e.position==Y.b.REAR_END),o=(history.state||{}).overlay;return Object(Z.e)(M||(M=L(["\n ","\n ","\n\n <div center>","</div>\n\n "," ","\n "])),o?Object(Z.e)(S||(S=L([" <mwc-icon @click=",">arrow_back</mwc-icon> "])),e=>history.back()):0==t.length?Object(Z.e)(I||(I=L([" <mwc-icon @click=",">home</mwc-icon> "])),e=>this.navigateToHome()):t.map(e=>Object(Z.e)(N||(N=L([" "," "])),e.template)),n.map(e=>Object(Z.e)(z||(z=L([" "," "])),e.template)),i.map(e=>Object(Z.e)(D||(D=L([" "," "])),e.template)),r.map(e=>Object(Z.e)(T||(T=L([" "," "])),e.template)),a.map(e=>Object(Z.e)(C||(C=L([" "," "])),e.template)))}firstUpdated(){this.renderRoot.querySelector("[center]").addEventListener("mousewheel",this.onWheelEvent.bind(this),!1)}stateChanged(e){this._route=e.route,this._tools=e.apptool.tools}navigateToHome(){var e=document.querySelector("base");e?Object(r.navigate)(e.getAttribute("href")):Object(r.navigate)("/")}onWheelEvent(e){var t=e.currentTarget,n=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));t.scrollLeft-=10*n,e.preventDefault()}}customElements.define("app-toolbar",Q);var W={bootstrap:function(){var e,t;Object(Y.f)({name:"apptoolbar",viewpart:{show:!0,template:Object(B.g)(G||(e=["\n <app-toolbar></app-toolbar>\n "],t||(t=e.slice(0)),G=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))))},position:Y.e.HEADERBAR})}};function V(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function F(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){V(a,i,r,o,s,"next",e)}function s(e){V(a,i,r,o,s,"throw",e)}o(void 0)}))}}function _(){return(_=F((function*(e,t){var{type:n}=e,i=r.store.getState().print.printerTypes[n];return yield i.call(null,e,t)}))).apply(this,arguments)}function J(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function H(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){J(a,i,r,o,s,"next",e)}function s(e){J(a,i,r,o,s,"throw",e)}o(void 0)}))}}function X(e){if(e){var t=e.style;e.style.position="fixed",e.style.left=0,e.style.top=0,e.style.width="100%",e.style.height="100%",window.print(),e.style=t}else window.print()}function q(){return(q=H((function*(e,{accept:t,content:n,name:i,options:r}){return X("function"==typeof n?yield n.call():n),!0}))).apply(this,arguments)}var K=n(29);function $(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ee(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){$(a,i,r,o,s,"next",e)}function s(e){$(a,i,r,o,s,"throw",e)}o(void 0)}))}}function te(){return(te=ee((function*(e,{accept:t,content:n,name:i,options:r}){var a="function"==typeof n?yield n.call():n;return a&&a.updateContext&&(a.updateContext({fullbleed:!0}),yield Object(K.l)(300),yield a.updateComplete),window.print(),a&&a.updateContext&&a.updateContext(),!0}))).apply(this,arguments)}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ae={printerTypes:{paper:function(e,t){return q.apply(this,arguments)},preview:function(e,t){return te.apply(this,arguments)}},printers:[],staticPrinters:[{type:"preview",name:"Preview"}]},oe=(e=ae,t)=>{var n;switch(t.type){case"REGISTER_PRINTER_TYPE":return ie(ie({},e),{},{printerTypes:ie(ie({},e.printerTypes),{},{[t.printerType]:t.handler}),staticPrinters:[...e.staticPrinters,...t.staticPrinters||[]]});case"UPDATE_PRINTER":return n=t.printer,Array.isArray(n)||(n=[n]),ie(ie({},e),{},{printers:[...n]});case"UPDATE_PRINTERS":return n=t.printer,Array.isArray(n)||(n=[n]),ie(ie({},e),{},{printers:[...e.printers,...n]});case"APPEND_PRINTER":return ie(ie({},e),{},{printers:[...e.printers,t.printer]});default:return e}};var se={bootstrap:function(){r.store.addReducers({print:oe})}};function le(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ce(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){le(a,i,r,o,s,"next",e)}function s(e){le(a,i,r,o,s,"throw",e)}o(void 0)}))}}function de(e,t){return pe.apply(this,arguments)}function pe(){return(pe=ce((function*({type:e,name:t,txtRecord:n},{accept:i,content:r,name:a,options:o}){var{"service-url":s}=n,l="function"==typeof r?yield r.call():r,c=yield fetch("".concat(s||"","/print"),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({printerId:t,data:l})});if(c.ok)return!0;throw new Error(c.status)}))).apply(this,arguments)}var ue={bootstrap:function(){r.store.dispatch({type:"REGISTER_PRINTER_TYPE",printerType:"label",handler:de}),navigator.usb&&n.e(42).then(n.bind(null,1381)).then(e=>r.store.dispatch({type:"REGISTER_PRINTER_TYPE",printerType:"usb",handler:e.usbLabelPrinterHandler,staticPrinters:[{name:"USB Printer",type:"usb"}]})),n.e(41).then(n.bind(null,1382)).then(e=>r.store.dispatch({type:"REGISTER_PRINTER_TYPE",printerType:"zebra-browser-print",handler:e.browserPrinterHandler,staticPrinters:[{name:"Browser Print for Zebra Printer",type:"zebra-browser-print"}]}))}};var he,be,me,ge,ve,fe,ye=n(1049),we=n(1019),Ae=n(309),xe=n.n(Ae),Oe=(n(306),n(45)),je=n(1128);function ke(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ee(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){ke(a,i,r,o,s,"next",e)}function s(e){ke(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Re(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Me extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{topic:String,_html:String,historyIndex:Number,showGotoTop:Boolean}}static get styles(){return[Oe.c,Oe.b,je.a,Object(Z.b)(he||(he=Re(["\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--help-panel-background-color);\n\n position: relative;\n width: var(--help-panel-width);\n max-height: 90%;\n border-radius: var(--help-panel-border-raidus);\n border: var(--help-panel-border);\n box-shadow: var(--help-panel-box-shadow);\n color: var(--help-panel-color);\n margin: 4px;\n\n overflow: hidden;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n #navigation {\n display: flex;\n position: absolute;\n width: 100%;\n padding: var(--help-navigation-padding);\n border-bottom: var(--help-navigation-bottom);\n background-color: white;\n }\n #navigation mwc-icon-button {\n border-right: var(--help-navigation-icon-border);\n cursor: pointer;\n color: var(--help-icon-color);\n }\n\n #close {\n margin-left: auto;\n border-right: 0;\n }\n\n #content {\n flex: 1;\n overflow: auto;\n padding: var(--help-panel-content-padding);\n margin: var(--help-panel-margin);\n }\n\n #upward {\n --mdc-icon-size: 26px;\n position: absolute;\n bottom: var(--data-list-fab-position-vertical);\n right: var(--data-list-fab-position-horizontal);\n background-color: rgba(255, 255, 255, 0.7);\n border-radius: 20px;\n color: var(--data-list-fab-color);\n box-shadow: var(--data-list-fab-shadow);\n padding: 7px;\n }\n\n @media screen and (max-width: 480px) {\n :host {\n height: 100%;\n max-height: 100%;\n margin: 0;\n }\n }\n "])))]}render(){return Object(Z.e)(be||(be=Re(['\n <div id="navigation">\n <mwc-icon-button\n icon="home"\n @click=',"\n ?disabled=",'\n ></mwc-icon-button>\n <mwc-icon-button\n icon="keyboard_arrow_left"\n @click=',"\n ?disabled=",'\n ></mwc-icon-button>\n <mwc-icon-button\n icon="keyboard_arrow_right"\n @click=',"\n ?disabled=",'\n ></mwc-icon-button>\n <mwc-icon-button icon="open_in_new" @click=','></mwc-icon-button>\n <mwc-icon-button icon="close" id="close" @click=',"></mwc-icon-button>\n </div>\n ",'\n <div id="content">',"</div>\n "])),e=>this.goHome(),!this.history||this.history[0]===this.history[this.historyIndex],e=>this.historyBack(),!this.history||this.historyIndex<1,e=>this.historyForward(),!this.history||this.historyIndex>=this.history.length-1,e=>Object(r.navigate)("help?topic=".concat(this.topic)),e=>Object(Y.g)("help"),this.showGotoTop?Object(Z.e)(ge||(ge=Re([' <mwc-icon id="upward" @click=',">arrow_upward</mwc-icon> "])),e=>this.gotoTop(e)):Object(Z.e)(me||(me=Re([""]))),this._html)}firstUpdated(){var e=this;return Ee((function*(){e.setupRouter();var t=e.renderRoot.querySelector("#content");t.addEventListener("scroll",t=>{e.showGotoTop=0!==t.target.scrollTop});var n=e.renderRoot.querySelector("#navigation");yield e.requestUpdate();var i=parseFloat(getComputedStyle(t,null).getPropertyValue("padding-top"));t.style.paddingTop=n.clientHeight+i+"px",new xe.a(n,{scroller:t}).init()}))()}updated(e){var t=this;return Ee((function*(){if(e.has("topic")){if(t.topic){var n="/helps/".concat(t.topic,".md"),i=yield fetch(n),r=yield i.text();i.ok?-1!==i.headers.get("Content-Type").indexOf("text/markdown")?t._html=Object(ye.a)((yield Object(we.a)(r,{baseUrl:n}))||""):t._html=Object(ye.a)(r||""):t._html=Object(Z.e)(ve||(ve=Re(["\n <h1>Error : ","</h1>\n <div>","</div>\n <a href=",">try again</a>\n "])),i.status,r,"/help?topic=".concat(t.topic))}t.history||(t.history=[t.topic],t.historyIndex=0)}e.has("historyIndex")&&(t.topic=t.history[t.historyIndex],t.renderRoot.querySelector("#content").scrollTop=0)}))()}setupRouter(){this.addEventListener("click",e=>{var t;if(!(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)){var n=e.composedPath().filter(e=>"A"===e.tagName)[0];if(n&&!n.target&&!n.hasAttribute("download")&&"external"!==n.getAttribute("rel")){var i=n.href,a=new URL(i);if(i&&-1===i.indexOf("mailto:")&&a.origin===location.origin){e.preventDefault(),e.stopPropagation();var o=a.pathname,s=null===(t=a.searchParams)||void 0===t?void 0:t.get("topic");"/help"===o&&s?(this.history=[...this.history.slice(0,this.historyIndex+1),s],this.historyIndex++,this.topic=s):Object(r.navigate)(i)}}}})}gotoTop(e){this.renderRoot.querySelector("#content").scrollTop=0,e.stopPropagation()}goHome(){var e;null!==(e=this.history)&&void 0!==e&&e[0]&&this.history[0]!=this.topic&&(this.history.push(this.history[0]),this.historyIndex=this.history.length-1)}historyBack(){this.historyIndex>0&&this.historyIndex--}historyForward(){this.history&&this.historyIndex<this.history.length-1&&this.historyIndex++}}customElements.define("help-panel",Me);var Se={route:function(e){switch(e){case"help":return n.e(46).then(n.bind(null,1383)),e}},routes:[{tagname:"help-home",page:"help"}],bootstrap:function(){var e,t;Object(Y.f)({name:"help",viewpart:{show:!1,hovering:"edge",template:Object(B.g)(fe||(e=[" <help-panel></help-panel> "],t||(t=e.slice(0)),fe=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))))},position:Y.e.ASIDEBAR})}};var Ie={bootstrap:function(){r.PageView.prototype.languageUpdated=function(e){this.pageReset()}}},Ne=n(307),ze=n(308);function De(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?De(Object(n),!0).forEach((function(t){Ce(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):De(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ge={authenticated:!1,accessToken:"",user:null},Pe=(e=Ge,t)=>{switch(t.type){case Ne.a:var n=t.auth;return Te(Te({},e),{},{authenticated:n.authenticated,accessToken:n.accessToken});case Ne.b:return Te(Te({},e),{},{user:t.user});default:return e}};var Be={bootstrap:function(){r.store.addReducers({auth:Pe}),ze.a.on("profile",({credential:e,domains:t,domain:n})=>{r.store.dispatch(Object(Ne.c)({authenticated:!0})),r.store.dispatch(Object(Ne.d)(e)),r.store.dispatch(Object(r.updateDomains)(t,n))}),ze.a.on("passwordchange",e=>{var t=e.message;document.dispatchEvent(new CustomEvent("notify",{detail:{level:e.error?"error":"info",message:t}}))}),ze.a.on("error",e=>{document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e.message}}))})}};var Ye={bootstrap:function(){}};var Ze={route:function(e){switch(e){case"image-uploader-ui-test":return n.e(47).then(n.bind(null,1419)),e}},routes:[{tagname:"image-uploader-ui-test",page:"image-uploader-ui-test"}],bootstrap:function(){}};var Ue={bootstrap:function(){}},Le=n(1045),Qe=n(1225),We=n.n(Qe),Ve=(e=[],t)=>{switch(t.type){case Le.b:var n=t.list,i=n.filter(e=>e.active),r=[],a=[],o="";i.forEach(e=>{switch(e.provider){case"google":r.push(e.name);break;case"custom":a.push(e.name),o+="@font-face {\n font-family: '".concat(e.name,"';\n src: local('").concat(e.name,"')").concat(e.uri?", url(".concat(e.uri,")"):"",";\n}\n")}});var s=document.head.querySelector("#custom-fonts");s||((s=document.createElement("style")).id="custom-fonts",s.type="text/css",document.head.appendChild(s)),s.innerHTML=o;var l={};return r.length&&(l.google={families:r}),a.length&&(l.custom={families:a}),Object.keys(l).length&&We.a.load(l),n;case Le.a:return[];default:return e}},Fe=n(65);var _e={bootstrap:function(){r.store.addReducers({font:Ve}),Fe.a.on("profile",()=>{r.store.dispatch(Object(Le.e)())})}};var Je={bootstrap:function(){}},He=n(1050);function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xe(Object(n),!0).forEach((function(t){Ke(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ke(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $e={editors:{legend:"property-editor-legend",number:"property-editor-number",password:"property-editor-password",angle:"property-editor-angle",string:"property-editor-string",textarea:"property-editor-textarea",javascript:"property-editor-textarea",graphql:"property-editor-graphql",data:"property-editor-data",checkbox:"property-editor-checkbox",boolean:"property-editor-checkbox",select:"property-editor-select",color:"property-editor-color","solid-color-stops":"property-editor-solid-colorstops","gradient-color-stops":"property-editor-gradient-colorstops","multiple-color":"property-editor-multiple-color","editor-table":"property-editor-table","id-input":"property-editor-id","range-input":"property-editor-range-input",options:"property-editor-options",date:"property-editor-date",map:"property-editor-value-map",range:"property-editor-value-range","attachment-selector":"property-editor-attachment-selector","gltf-selector":"property-editor-attachment-selector","image-selector":"property-editor-image-selector","font-selector":"property-editor-font-selector"}},et=(e=$e,t)=>{switch(t.type){case He.a:var n=qe(qe({},e.editors),t.editors||{});return qe(qe({},e),{},{editors:n});default:return e}};var tt={bootstrap:function(){r.store.addReducers({modeller:et})}};var nt=n(957),it=n(329),rt=n(1034);function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?at(Object(n),!0).forEach((function(t){st(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):at(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function st(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var lt,ct,dt,pt,ut,ht={shape:[{type:"rect",description:"rectangle shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0NjM3NTU5MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0NjM3NTVBMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ2Mzc1NTcxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ2Mzc1NTgxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5oACrjAAAAMUlEQVR42mJcu3btfwYKAAuICA4OVidHM9Dym0wMFIJRA0YNGDUAKTeCchW5BgAEGAC4CQoKlbM12AAAAABJRU5ErkJggg==",model:{type:"rect",left:100,top:100,width:100,height:100,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"ellipse",description:"ellipse shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU1NEVFRjY4MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU1NEVFRjY5MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTU0RUVGNjYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTU0RUVGNjcxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7I9WkxAAABAUlEQVR42mL8//8/AyWAiYFCwILMWbdunQKQcgNiGyA2AGJFqNR9IL4AxEeAeFdQUNADmB5GmBeAmlOAVMrnz58ffPjw4ezDhw+vHzhw4AlIzsHBQUZeXl5TQEDAmJeXF2TJHKAhc+AGADVXAtlNZ86ciWpvb7+Iz8mVlZX6JiYmy4DMOqAh7cx6enqhQE7v2rVrPaZPn36HkJ+PHDnykoWFZb2WltaM69ev3wYFYuCDBw/qli1b9pzYgAOpBekB6QUZYHfq1KnTpIY+VI8dxdEIMuCQmZmZKakaoXoOgQxYr6Cg0BQVFSVJrGaQWpAekF6Ko5E6CYkqSXnAciNAgAEARqeTyhjLZiwAAAAASUVORK5CYII=",model:{type:"ellipse",rx:50,ry:50,cx:150,cy:150,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"donut",description:"donut shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU1NEVFRjZDMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU1NEVFRjZEMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTU0RUVGNkExODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTU0RUVGNkIxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5B23xWAAABqElEQVR42qxTMUgCYRQ+z8BsFiXEOMjFRTiCBjFxKZcmc7GhKTiHpnAKAqEtxEEMvKg1acilQK4WIXAI5LauJTgSScQ5hyD7vvgvDsnJHjz++9//vu/e/733eyaTieS2ZrO5hSUDT8BjImzBO3Ajm83eu/M9DgGACpYDuDYcDmu9Xs9st9uvPEun06uRSEQNBoM81+E1ENm/BAJ8MhqN3uv1+pVpmh/SH6aq6lKhUNgNBALL2B6TxCEoA/yladoFE0ul0rqiKNt+v3+D+/F4/Gjb9h3iT9zrur4PEhkERW88HuedTyuVyuFgMPisVqu5aDSa8/l8t7IsH8Ev8e0NhUJ7yWRysdVqPff7/ZdUKnVmWVZ3gYLxziybfw6Hw5uIFcHedVV/jiq7OCsj542VEANNMjLVpmDMYtlYGlPgHxOxhsiRBCZBgpijtrizIc02w9FFYGKyNKeRwGKfHbXFEM2yjMiRBMYiQYdDwiBbhSUPwdamkSKWFzmSwHTYBQNq3mBIrqku2rhCtQFouPRgVXm074E5HCgxlTtzD9L/jPLcj2me5/wtwAD9VRAc50acCwAAAABJRU5ErkJggg==",model:{type:"donut",rx:50,ry:50,cx:150,cy:150,ratio:30,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"triangle",description:"triangle shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNjBFQkREMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZBNjBFQkRFMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTU0RUVGNkUxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkE2MEVCREMxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TP6QkAAAA+klEQVR42mJcu3YtAx4gAcSuQLwfiJ9gU8DCgB8YAXEyEH/CZQATHs08QBwHxBuAOBaIeUk1AGS7EhBvA2JZKJ9oA9iAOB+Il0P5ILoIKk6UAaZAHAi1HQS2A7EvVJwoAyqAuBSI/0P5/6H8KmIMcAJiByDeiyYO4ttB5fEakA+16Rua+DeoeB4+A9yA2BqIT+LwGkjcBpq4sBoQD8TtQPwBhwEfoPLx2AxwBmJPID5IIHUeBmIPaDjBDQDRYUDcD022+ADIFZOh6uF5wQyaXC0YiAMboS5ZwAJNXSA/dcKcRSSYCMTRIAP4gJgLiHWB+B8JBoC8/RkgwABr1yv1Umsy0AAAAABJRU5ErkJggg==",model:{type:"triangle",x1:150,y1:100,x2:100,y2:200,x3:200,y3:200,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"polygon",description:"polygon shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNjBFQkUxMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZBNjBFQkUyMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkE2MEVCREYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkE2MEVCRTAxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4cW24MAAAA+ElEQVR42mL8//8/AyWAiYFCwLJu3ToYWxWIbxGpTw2IbwcFBTGwIAn2v3r1qj0zM3MBPp3Tp09PEBMT6wcyfZC94P3jxw9uQppBAKQGpBakB2YAO8j2R48eLSfW31C1/UDvs4MMKPz48eOxysrKA8QaAFIL0gPSCzKget++fQtIDX2onmqQAaz37t37TKoBUD2sIAP6k5OT00k1AKqnH2RAu4CAgG95ebkOsZpBakF6QHpBBnwC+UVLSyuKWAOgaquBCekTLB0s4OHhUejt7fUhpBmkBqQWpAeclKHi/0BRoqCgcGjt2rW9RDjCDqqHgXHAcyNAgAEA/aBdQY5O+doAAAAASUVORK5CYII=",model:{type:"polygon",path:[{x:100,y:100},{x:200,y:100},{x:200,y:200},{x:100,y:200}],fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"star",description:"star shape",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNjBFQkU1MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZBNjBFQkU2MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkE2MEVCRTMxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkE2MEVCRTQxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4tIy+eAAACF0lEQVR42pSTX2hScRTHvfcqDsOJXEpjozGG5lb3JULopQmyEfgQCP4h6KV6ktyGD0LQQw+9RBD1EgxsKJJYU1mSvQWjsYekhxxksoclQXljMOTKdEbOfU/8DLu0Cx34cM7v3nu+9/zO7/y4fD6v07D34COIgX31S7/fr+M1ki+Cc+ACmD7uo+ME9GC+2Wym4SeZyH8JmMC1SqXyGt4KZsEJLQEDK/M0W/vA2UQisVMqleYQXwKXwTjzEyRcKBRmqdR3YAx8BT1KZOvDbrerS6VSDZ/PdwbrZSbwGfwEM2CDBBqtVutbvV4v8TwvVKvVL9ls9ocgCHwPRuUEg0EpFAqdymQycjQanZIkaV4URap2lbawZDab1/HwocFgGCkWi7t41h8kk1GM5IbX6x31eDwvkDxKjcUxLpNAA6TATafTeTWdTm+ZTCZB3SyLxaKPRCKbCJ+AO+D74LjIDsAb0AZX2u32oVogHo9TI9+Cu1rHKFLFqIDnOI4Ph8N2h8MxQi8URdmDO8kG7K+BGbbrJNrpdPq5XO4TlRkIBMRarXYbM7HtdrupcefBh38JOGkWyuVyIJlM3ke8xnrDuVyupzab7ZUsyyt2u52mMsOO8o8AbWUC576Lv9xD/BisDP1Eslqtj+BvsAvmAlvDPaCmxYxGowK/AJ4PVfYL0P5vgUUggyn1FozgAVjXuJ0k9Ay8ZJP6244EGABwi6PzgZO+PQAAAABJRU5ErkJggg==",model:{type:"star",rx:50,ry:50,cx:150,cy:150,ratio:30,wing:5,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}}],line:[{type:"line",description:"simple line",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc4NjEyNzRCMTgzRDExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc4NjEyNzRDMTgzRDExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Nzg2MTI3NDkxODNEMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Nzg2MTI3NEExODNEMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5gq57ZAAAAiUlEQVR42szUWwqAIBAF0Ix20a7ciSW1hyjaiVu0ERRK0saZ+ejCBb8OIz6U976TTN8JZ0gL5xzVmKGT1nqUmDBgG/SU2HLCVujOBV8xKljEKGAVe5wyIiZiC/Tg3kMTJ6piWBCNYcAm7AtsxmogCSudcsLs/UlRJ2RhOcjGctBysRD1+x/7EmAAsMsnKD9c+VUAAAAASUVORK5CYII=",model:{type:"line",x1:100,y1:100,x2:200,y2:200,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:3,lineDash:"solid",lineCap:"butt"}},{type:"dash",description:"dash line",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU5NzZENzBFMTg0MTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU5NzZENzBGMTg0MTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTk3NkQ3MEMxODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTk3NkQ3MEQxODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz53rrtTAAAAwUlEQVR42mL8//8/AzUBC4hYt24dpeawAfHfoKCgv0xUcFQlECtBDWWg1MDpQNwGxIFA/J1SA0EuywDiGUDcjhKGZABOIF4PZbcjSzCR6TJ5IH6Ibhg5BmKEGSUGlmMLM6zpkMgw2wh1QDs+hUxEugxnmJFq4FQg7gBif1xhRoqBIJdlAfE0IO4kKS9jAczQMGMgxTBcLgS5TBWIb5NqGDYDkcPsLzlZiInSMMMVhmSHGS4X/iU3zNABI7WrAIAAAwBgXyq7rNwRjwAAAABJRU5ErkJggg==",model:{type:"line",x1:100,y1:100,x2:200,y2:200,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:3,lineDash:"round-dot",lineCap:"butt"}},{type:"single arrow",description:"single arrow tip line",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU5NzZENzEyMTg0MTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU5NzZENzEzMTg0MTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTk3NkQ3MTAxODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTk3NkQ3MTExODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6+0l9iAAAAtklEQVR42mL8//8/AzUBC4yxbt06cs0oBuKioKAgaRCHiUIHgQzrAuJ+mAATFQwrB+IeSg3Eahi5BuI0jBwD8RqGEstEgEKoYWVA3ItLERMJhvUQMoxYA4k2jBgDSTKMkIEkG4ZuYCGlhqHHcj0QCwDxB6hhJchZihwDQaAOiP9D01s/OVkI2cvsUJoRiEXIzeDIBrIhsauAuI2i8hAIhKGuQwaMwHKOpBKYkdolNhMDlQFAgAEArJ0o35n51W0AAAAASUVORK5CYII=",model:{type:"line",x1:100,y1:100,x2:200,y2:200,fillStyle:"#fff",strokeStyle:"#000",alpha:3,hidden:!1,lineWidth:3,lineDash:"solid",begin:"arrow",lineCap:"butt"}},{type:"both arrow",description:"both arrow tip line",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU5NzZENzE2MTg0MTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0NjM3NTUyMTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTk3NkQ3MTQxODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTk3NkQ3MTUxODQxMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WGjaCAAAAzklEQVR42mL8//8/AzUBC6ka1q1bxwikBNCE/wcFBX1AMRCokFgzQV4qBeJKJLF/QMwMYjCR6bMqIG5D4v+CMZgoCK53UNeCwE+ywxAKioG4C4jLgJgXiPMpMRBmWDkQ90DFPpDrZWyGgUA/OS4sRPJmLy5FTCQY1kPIMGINJNowYgwkyTBCBpJsGLqBhZQahh7L9dBM/wFqWAlyciC3tKmDZqdicgxD9zI7lAYVTyLkZnBkA9nwlCZkeVkY6jpkwAgsOEkq0hmpXQUABBgAUmIxnxwtQ2gAAAAASUVORK5CYII=",model:{type:"line",x1:100,y1:100,x2:200,y2:200,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:3,lineDash:"solid",begin:"arrow",end:"arrow",lineCap:"butt"}},{type:"polyline",description:"polyline",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0NjM3NTU1MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0NjM3NTU2MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ2Mzc1NTMxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ2Mzc1NTQxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mrMj7AAAA5ElEQVR42mL8//8/AzUBEwOVAQuIWLduHT41jEBsB8QHsUkGBQUR7UKQQf5AfAaIJwPxMiAWJ8fLyAbVA3ETEOsD8UMgvgzEafgcwkTAIGMg3gjEoJirBGJnII4D4kNArIPPQAEgPovDIGRwGRqei4F4HxC3AcOfE5uB74G4EI9ByOAfEM8EYj0gVgTiK0BDRVBiGQoOkphCXgBxJMhyYEy/oVk6HFoGylHTQCVosrEj1QBghDBiM/A+EIcA8VpyDMXl5YNIhtpTK1Jghq6BJlryii8shoJyzCNyDGQc9CU2QIABABBINub+L2wYAAAAAElFTkSuQmCC",model:{type:"polyline",path:[{x:100,y:100},{x:200,y:100},{x:200,y:200},{x:100,y:200}],fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}}],textAndMedia:[{type:"text",description:"text",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0OUE2NjA0MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk0OUE2NjA1MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ5QTY2MDIxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTQ5QTY2MDMxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6yQF45AAAAlklEQVR42mL8//8/AzUBEwOVAdUNZAB5GYaBgB+I5UnQLg7CyGawoClQB2JbIP4IxB8IGMYBNfAhEK+BCbLgUHwJin9AXRwCFT8MxKegbDOogSgAm4EvkTThA6egQcSPz8BTRBoGA7uHXrIZNZA+BiKnM3ZKDdSDZkVcfAzAiFweMjIyYsv8HFj0PUQvYLAaODJiGSDAADzjLh2KguLFAAAAAElFTkSuQmCC",model:{type:"text",left:100,top:100,width:200,height:50,text:"Text",fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:5,lineDash:"solid",lineCap:"butt",textAlign:"left",textBaseline:"top",textWrap:!1,fontFamily:"serif",fontSize:30}},{type:"color image",description:"color image",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk0OUE2NjA4MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3RkRGNTM0MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ5QTY2MDYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTQ5QTY2MDcxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5EZNYgAAABHUlEQVR42mL8//8/AzUBEwOVAdUNZIExtmzZQpHffXx8GFEMhAJGMs37j+FCGPCQesbw78FWSHgoeDMwK3sxMAnI4jTp3LlzDE+fPmXAaeDfi+0FQAqEJ/y9eGkCw+9vYHHHPSEwJfZA/A6ILxMbKSDD5KE0w7+7q9DlG4A4ipRYngDED6E0A5NyGLIcyHUOQByJK7wxDFxy8MWEJ29/KQDxBCCbwdKvEN11DFAfWONNNjCwNNaHYSmEKc5gyMDMG8vwzBHVdTAA8vYRYhM2M8hsIF4NxGxoroOBUCBmJdbAGiB2BmIrIJ6CxXUgIALEbsQY6ATEtUj8VCA+gMPiKIJh2CtUtQ+bOMl5GQaQUz01DKS4cGQceQUsQIABAD4rSCnmWhnVAAAAAElFTkSuQmCC",model:{type:"image-view",left:100,top:100,width:100,height:100,isGray:!1,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"gray image",description:"gray image",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3RkRGNTM3MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3RkRGNTM4MTg0MjExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTdGREY1MzUxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTdGREY1MzYxODQyMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7kxwvBAAAAs0lEQVR42mL8//8/AzUBEwOVAdUNZIExtmzZQpHffXx8GFEMhAJGMs37T9cwLADiB1AaG7AHYl1SDZTHY2ADEEeRYuAEIH4IpbG5zgGII3GFNy4DFXAY2AClQT6wJjUdigOxFBbXwUAUKQYyA/FSIF4NxGxoroOBUCBmJdbAGiB2BmIrIJ6CxXUgIALEbsQY6ATEtUj8VCA+gMPiKJxZDwnswyE+wIUDep4kFzCOvAIWIMAAZ+YdxB/Z0YYAAAAASUVORK5CYII=",model:{type:"image-view",left:100,top:100,width:100,height:100,isGray:!0,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"gif image",description:"gif image",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzVBRTdENkFENTg5MTFFOUJBMTJEODVGNzZDMTcwRTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzVBRTdENkJENTg5MTFFOUJBMTJEODVGNzZDMTcwRTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NUFFN0Q2OEQ1ODkxMUU5QkExMkQ4NUY3NkMxNzBFOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NUFFN0Q2OUQ1ODkxMUU5QkExMkQ4NUY3NkMxNzBFOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpHFm1QAAAErSURBVHjaYvz//z8DNQETA5UB1Q1kARFbtmwx9vHxOQukG4B0A5DeDBIHsn2BbKLCBKiWEW4g1FAUGgh8kdQzEjDvP4oLkYHbr9kMu9hSMXR4SD1j+PdgKyScFLwZmJW9GJgEZBlAkYrkCMwwZAvaiNUJfy+2F/z/eOkBEBcA2Qx/b6yhOFIKgFgeSjP8u7uKYgMnAPFDKM3ApBxGnIF3e6SxKlxy8MWEJ29/KQDxBCCbwdKvEHeyQQaphlYMRd8xFS6N9WFYCmGKMxgyMPPGMjxzJMaF+5xX4/M2M8hsIAYpYqNGTqkBYmcgtgLiKUBsT4mBTkBcixw6QHyAYBieP38eq2m9QlX7sKknaODTp0+xKiRWnAkpc6PQQLAZLa/iw4hMP/IKWIAAAwCz+2+bpBKzuwAAAABJRU5ErkJggg==",model:{type:"gif-view",left:100,top:100,width:100,height:100}},{type:"audio",description:"audio",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUYzRkY4NkU5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUYzRkY4NkY5M0NEMTFFOTlCNkJCMEM3NzU2RTZFMjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFRjNGRjg2QzkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFRjNGRjg2RDkzQ0QxMUU5OUI2QkIwQzc3NTZFNkUyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg58QssAAAF2SURBVHjaYvz//z8DNQETA5UBC4yxZcsWipzq4+PDSLYLYZphNMVehvkGm69Y0PiMZPr4P1YDgV5gINPF+L2ck5PDoKyszNDY2MhQXFzMC2T7xsbGioD469atY1JXVw9asWKFFNHJ5t+/fyCXc927d09q2bJlPkBa8vz583+OHj2q/enTJ5m0tLRb5eXltniTDTI4cuSI28OHD8WBBrHCxDg5ORmcnJw+t7W1WbW0tGz49u2bCtEuvHLliujfv39ZkcWePn3K/OTJk0efP3/+C/S2MDAYnhBtoJ+f320lJaW3XFxcv2BiUlJSf758+aIFpP9mZGS8vXXrlhLRXo6Kijr24cMHkEt5t2/f7nDnzh1JoDAzGxvbl8LCwgPACDGRlZX9SbQLf//+zfDr1y8Gbm7uz0DX7DA2Nr5sZGT0T0VF5REwUj7s2rWLpaenZz/2FAksbUB48+bN/2FsUjGyXhZcCZTi0gY9C5ELGAd9AUt1AwECDACaOtQuIsk8ewAAAABJRU5ErkJggg==",model:{type:"audio",left:100,top:100,width:100,height:100}}],chartAndGauge:[],table:[],container:[{type:"container",description:"general container",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwMjA5MzZCMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwMjA5MzZDMTg0MzExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAyMDkzNjkxODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyMDkzNkExODQzMTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5R9TdGAAAAQElEQVR42mL8//8/AzUBEwOVweA3kAXGYGRkTKPEIGBczEIxEFmQVIDsmBEYKaMGjqisR43sBzZjtDykGAAEGAC+Gg6QXS7bJAAAAABJRU5ErkJggg==",model:{type:"container",left:100,top:100,width:100,height:100,fillStyle:"#fff",strokeStyle:"#999",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}}],dataSource:[],IoT:[],"3D":[],warehouse:[],form:[],etc:[{type:"info-window",description:"information window",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMxNTNDN0I5MTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMxNTNDN0JBMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzE1M0M3QjcxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzE1M0M3QjgxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4UhcjxAAAApElEQVR42sxUwQ2AIAy0hjEIGzAIC8MgbEDYo3pGfSgKQh9eUnlQr9cCR8w8SULhE0IYZnXOEVby3rPWelhZznkjnUdIrLWEuLXcixgjF2d4rdLZ8kY+T8JQtRYO9Sml4k0wxnTPkD4rrIBbCvxKYbGQKh1Ay/CfIH5tCG7zZg54n+s+1mreSfiGnQTJfPwk0XK7vUFhLWBxLXkIknZs8VNeBBgAplt3rOXxsy0AAAAASUVORK5CYII=",model:{type:"info-window",left:10,top:10,width:50,height:50,fillStyle:"#fff",strokeStyle:"DarkGoldenRod",hidden:!0,frontSideTemplate:"<h2 id='xxx'>\n\t<%= text %>\n</h2>\n<img src='https://www.tutorialspoint.com/images/html.gif' alt='HTML Tutorial' height='150' width='140' />",backSideTemplate:"<h2 id='yyy'>\n\t<%= text %>\n</h2>\n<img src='https://www.tutorialspoint.com/images/html.gif' alt='HTML Tutorial' height='150' width='140' />",style:"#yyy {\n\tbackground-color:navy;\n\tcolor:white\n}\n#xxx, #yyy {\n\twhite-space:nowrap;\n\tmin-width:200px;\n}"}},{type:"local reference",description:"local reference",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUyOTM5QjNDMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUyOTM5QjNEMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzE1M0M3QkIxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzE1M0M3QkMxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz55XS9NAAABUklEQVR42syUsU7CUBSGe42DTk3TSdI4sBnC1MTBmLjwCoy6uJr4CryCr8DKQMSVERcTR9cOpsAm6aRb/Q45F29qhVo7eJM/5/YUPv77n1xMnudek2vPa3h9Axpj2igo+zD9lr4//Am4X9K7QlM0c0GUPgqc3oy4plWAZaun9Q7ICpg8n1MTnpNfZajHa6NngWn7UWurzlCOig3A77oN6gCXWg8KrmWtqmYYyDQdoOQU05O9uOvou4ReTP3A9cs2YKySNUQjnXJfewJ9ALIAeKk/uAaav94UOb6T6ZdDXkjpogsUSqsCT9ykfHcM9M1OzFOXArtFx1EUVYF5vu/LUM/QteW4GYqzMXpN0zTUG+NvA2ZZNgD6RO2VTTnE2RyY7E806PtdDoGdsp1vorNDIYcbykQcaoY7HdoM5WSNZFi4PWu5DutM2a7BhvPv/7E/BRgAIJOJaT1TGLAAAAAASUVORK5CYII=",model:{type:"local-ref",left:100,top:100,width:100,height:100,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}},{type:"global reference",description:"global reference",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUyOTM5QjQwMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUyOTM5QjQxMTg0NTExRThBMDc0QUZGM0Y1MTQwNzhDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTI5MzlCM0UxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTI5MzlCM0YxODQ1MTFFOEEwNzRBRkYzRjUxNDA3OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5AELnZAAABbklEQVR42sxUsUrDUBRNpIOZQshUCQ7dHJwKDlbokl9wdRGcBH+h39LVQRTHjp2Ero4ZJNXNkind4jlwLrykpim1gw8O9+ael5Pz7n2tX1WVd8h15B149ZoF3/cjBGIN958NbsCIetYm6NuRsTlAuAYGDj8DPwc3RJ4CgeqluMU2hxTrA1M6kFP7EMXo6tXZm4J7x95yo4d6ic4WdhzEFaF6IK6UwEK1fptDI9bq042eM6G5zFXUNuUvxWPlU8AGslIMnPeCBld3yGPAGZ0MJej2JdPzCHusPmJNvb7iHrsRXVOeg5+BOxEXOc4eld/ZbagJ7rtoxJ10T0WGc2AMxCztoEUnOfBUa5EcUuwBOE2SZBcxLwxDDvQSuKWGwa7NWF/6yPM81rUJtwkWRTGB6Bti+ts9jOFsCTHmZ5rsc5dDiF0gXW78ltHDe+QvdKgedjp0ewiN7z/3sKbs9NAc7jNlWxP36vn//h/7R4ABANLeu4bolMzgAAAAAElFTkSuQmCC",model:{type:"global-ref",left:100,top:100,width:100,height:100,fillStyle:"#fff",strokeStyle:"#000",alpha:1,hidden:!1,lineWidth:1,lineDash:"solid",lineCap:"butt"}}]},bt={components:[],templates:["line","shape","textAndMedia","chartAndGauge","table","container","dataSource","IoT","3D","warehouse","form","etc"].map(e=>({name:e,description:"Group "+e,templates:ht[e]}))},mt=(e=bt,t)=>{var n=function(){switch(t.type){case rt.a:var n=t.components,i=[...e.templates];for(var r in n){var{templates:a}=n[r];a&&a.forEach(e=>{var t=i.find(t=>t.name==e.group);t?t.templates.find(t=>t.type==e.type)||t.templates.push(e):console.warn("Invalid group",t,e)})}return{v:ot(ot({},e),{},{components:[...e.components,...t.components],templates:i})};default:return{v:e}}}();if("object"==typeof n)return n.v},gt=n(284);function vt(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ft(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class yt extends Z.a{static get styles(){return Object(Z.b)(ct||(ct=ft(["\n :host {\n display: block;\n position: relative;\n\n max-width: var(--board-renderer-max-width);\n border: var(--board-renderer-border);\n\n width: 100%;\n }\n span {\n position: absolute;\n bottom: 0;\n width: 100%;\n text-indent: 5px;\n color: #fff;\n\n font: var(--board-renderer-name-font);\n background-color: var(--board-renderer-name-background-color);\n }\n img {\n width: 100%;\n max-height: 80px;\n }\n mwc-icon {\n position: absolute;\n top: 0;\n text-align: center;\n color: #fff;\n\n width: var(--board-renderer-icon-size);\n height: var(--board-renderer-icon-size);\n font: var(--board-renderer-font);\n }\n mwc-icon[edit] {\n right: 0;\n\n border-bottom-left-radius: var(--board-renderer-icon-border-radius);\n background-color: var(--board-renderer-icon-edit-background-color);\n }\n mwc-icon[view] {\n left: 0;\n\n border-bottom-right-radius: var(--board-renderer-icon-border-radius);\n background-color: var(--board-renderer-icon-view-background-color);\n }\n "])))}static get properties(){return{value:Object,boardViewerPage:String,_value:Object}}updated(e){var t,n=this;return(t=function*(){if(e.has("value"))if("string"==typeof n.value&&n.value)try{var t=yield r.client.query({query:(i=n.value,Object(gt.a)(lt||(lt=ft(['\n {\n board(id:"','") {\n id\n name\n description\n thumbnail\n }\n }\n'])),i)),context:Object(r.gqlContext)()});n._value=t&&t.data&&t.data.board||{}}catch(e){console.error(e)}else n._value=n.value||{};var i},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){vt(a,i,r,o,s,"next",e)}function s(e){vt(a,i,r,o,s,"throw",e)}o(void 0)}))})()}render(){var{id:e,name:t="",thumbnail:n="image/gif"}=this._value||{};return e?Object(Z.e)(dt||(dt=ft(["\n <span>","</span>\n <img src=",' alt="no thumbnail!" />\n <mwc-icon view @click=',">search</mwc-icon>\n <mwc-icon edit @click=",">edit</mwc-icon>\n "])),t,n,t=>this.onClickViewer(t,e),t=>this.onClickModeler(t,e)):Object(Z.e)(pt||(pt=ft([" choose board.. "])))}onClickViewer(e,t){e.preventDefault(),e.stopPropagation();var n=this.boardViewerPage||"board-viewer";Object(r.navigate)("".concat(n,"/").concat(t).concat(window.location.search))}onClickModeler(e,t){e.preventDefault(),e.stopPropagation(),Object(r.navigate)("board-modeller/".concat(t).concat(window.location.search))}}customElements.define("board-renderer",yt);var wt,At,xt,Ot=(e,t,n)=>{var{boardViewerPage:i=""}=t.record.options||{};return Object(Z.e)(ut||(ut=ft([" <board-renderer .value="," .boardViewerPage=","></board-renderer> "])),e,i)},jt=(n(1035),n(8));function kt(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Et(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){kt(a,i,r,o,s,"next",e)}function s(e){kt(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Rt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Mt extends Z.a{static get properties(){return{value:Object,column:Object,record:Object,row:Number}}static get styles(){return Object(Z.b)(wt||(wt=Rt(["\n :host {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n padding: 7px 0px;\n box-sizing: border-box;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n\n font: var(--grist-object-editor-font);\n color: var(--grist-object-editor-color);\n\n justify-content: inherit;\n }\n\n board-renderer {\n display: flex;\n flex: auto;\n\n justify-content: inherit;\n }\n\n mwc-icon {\n width: 20px;\n font-size: 1.5em;\n }\n "])))}render(){var{boardViewerPage:e}=this.column.record.options||{};return Object(Z.e)(At||(At=Rt(["\n <board-renderer .value="," .boardViewerPage=","></board-renderer>\n <mwc-icon>arrow_drop_down</mwc-icon>\n "])),this.value,e)}firstUpdated(){var e=this;return Et((function*(){e.value=e.record[e.column.name],yield e.updateComplete,e.shadowRoot.addEventListener("click",t=>{t.stopPropagation(),e.openSelector()}),e.openSelector()}))()}openSelector(){var e=this;this.popup&&delete this.popup;this.value;var t=Object(Z.e)(xt||(xt=Rt(["\n <board-selector\n .creatable=","\n .value=","\n @board-selected=","\n ></board-selector>\n "])),!0,this.value,function(){var t=Et((function*(t){var n=t.detail.board;e.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:e.value,after:"board"==e.column.type?n:n.id||"",record:e.record,column:e.column,row:e.row}})),e.popup&&e.popup.close()}));return function(e){return t.apply(this,arguments)}}());this.popup=Object(Y.j)(t,{backdrop:!0,size:"large",title:jt.a.t("title.select board")})}}customElements.define("board-editor",Mt);var St;n(1174);
129
- /**
130
- * @license Copyright © HatioLab Inc. All rights reserved.
131
- */
132
- class It extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){return Object(Z.e)(St||(t=['\n <things-editor-board-selector\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-board-selector>\n "],n||(n=t.slice(0)),St=Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(n)}}))),e.value,e.property);var t,n}}customElements.define("property-editor-board-selector",It);var Nt={route:function(e){switch(e){case"board-viewer":return Promise.resolve().then(n.bind(null,1175)),e;case"board-player":return Promise.resolve().then(n.bind(null,1176)),e;case"board-modeller":return Promise.resolve().then(n.bind(null,1211)),e;case"printable-board-viewer":return n.e(43).then(n.bind(null,1384)),e}},routes:[{tagname:"board-viewer-page",page:"board-viewer"},{tagname:"board-player-page",page:"board-player"},{tagname:"board-modeller-page",page:"board-modeller"},{tagname:"printable-board-viewer-page",page:"printable-board-viewer"}],bootstrap:function(){Object(it.f)("board",Ot),Object(it.e)("board",Mt),r.store.addReducers({board:mt}),r.store.dispatch({type:nt.a,editors:{"board-selector":"property-editor-board-selector"}})}},zt=n(1085);function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ct(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Gt={settings:[],refreshHandlers:[]},Pt=(e=Gt,t)=>{switch(t.type){case zt.b:return Tt(Tt({},e),{},{settings:[...e.settings,t.setting]});case zt.c:return Tt(Tt({},e),{},{settings:e.settings.filter(e=>e!==t.setting)});case zt.a:return Tt(Tt({},e),{},{refreshHandlers:[...e.refreshHandlers,t.refreshHandler]});default:return e}};var Bt={bootstrap:function(){r.store.addReducers({setting:Pt})}};var Yt=n(1046),Zt=n(1036);function Ut(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ut(Object(n),!0).forEach((function(t){Qt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ut(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wt,Vt,Ft,_t,Jt,Ht,Xt,qt,Kt={},$t=(e=Kt,t)=>{switch(t.type){case Zt.b:return Lt(Lt({},e),t.settings);case Zt.a:return{};default:return e}},en=n(978),tn=(n(1087),n(1089));function nn(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function rn(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){nn(a,i,r,o,s,"next",e)}function s(e){nn(a,i,r,o,s,"throw",e)}o(void 0)}))}}function an(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class on extends(Object(en.a)(r.store)(Object(jt.b)(jt.a)(Z.a))){static get styles(){return[Object(Z.b)(Wt||(Wt=an(["\n div.field {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n max-width: 100%;\n overflow: hidden;\n }\n\n div.field > * {\n flex: none;\n }\n\n div.field > div {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n div.field a {\n overflow: hidden;\n border: var(--border-dark-color);\n border-radius: var(--border-radius);\n background-color: rgba(0, 0, 0, 0.1);\n min-width: 50px;\n min-height: 50px;\n }\n\n div.field img {\n max-height: 250px;\n max-width: 100%;\n }\n\n .name {\n color: var(--secondary-color, #394e64);\n }\n\n .description {\n font-size: 0.7rem;\n opacity: 0.7;\n color: var(--secondary-text-color);\n }\n\n label {\n width: 80px;\n padding-right: var(--padding-default);\n font: bold 0.9em var(--theme-font);\n }\n\n setting-let > form {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n mwc-icon {\n background-color: var(--secondary-color, #394e64);\n margin: 2px 2px 5px 2px;\n padding: 0 var(--padding-default);\n color: var(--button-color, #fff);\n border-radius: var(--border-radius, 5px);\n border: var(--button-border, 1px solid transparent);\n font-size: 18px;\n }\n\n mwc-icon:hover,\n mwc-icon:active {\n background-color: var(--button-active-background-color, #22a6a7);\n border: var(--button-active-border);\n }\n\n @media screen and (max-width: 460px) {\n setting-let > form {\n display: flex;\n flex-direction: column;\n }\n div.field {\n border-bottom: var(--border-dark-color);\n padding: var(--padding-default);\n }\n mwc-icon {\n padding: var(--padding-narrow) var(--padding-default);\n }\n }\n "])))]}static get properties(){return{dashboard:Object,dashboardMobile:Object}}render(){return Object(Z.e)(Vt||(Vt=an(['\n <setting-let>\n <i18n-msg slot="title" msgid="title.dashboard setting"></i18n-msg>\n\n <form slot="content" @submit=',">\n ","\n </form>\n </setting-let>\n "])),e=>this._handleSubmit(e),[{title:"Dashboard for Desktop",board:this.dashboard,key:tn.a,description:tn.b},{title:"Dashboard for Mobile",board:this.dashboardMobile,key:tn.c,description:tn.d}].map(e=>Object(Z.e)(Ft||(Ft=an(['\n <div class="field">\n <label>','</i18n-msg></label>\n <div>\n <div class="name">','</div>\n <span class="description">',"</span>\n <mwc-icon @click=",">\n more_horiz\n </mwc-icon>\n ","\n </div>\n </div>\n "])),e.title,e.board.name,e.board.description,t=>this.onClickBoardSelector(e.key,e.description),e.board.id?Object(Z.e)(_t||(_t=an(["\n <a href=",">\n <img\n src=","\n />\n </a>\n "])),"board-modeller/".concat(e.board.id),e.board.thumbnail||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"):Object(Z.e)(Jt||(Jt=an([""]))))))}stateChanged(e){var t=e.boardSetting[tn.a]||e.boardSetting[tn.e],n=e.boardSetting[tn.c]||t;this.dashboard=(t?t.board:{})||{},this.dashboardMobile=(n?n.board:{})||{}}onClickBoardSelector(e,t){var n,i,a=this,o=Object(Y.j)(Object(Z.e)(Ht||(Ht=an(["\n <board-selector\n .creatable=","\n .value=","\n @board-selected=","\n ></board-selector>\n "])),!0,e==tn.a?null===(n=this.dashboard)||void 0===n?void 0:n.id:null===(i=this.dashboardMobile)||void 0===i?void 0:i.id,function(){var n=rn((function*(n){var i=n.detail.board;yield a.saveSettings({name:e,value:i.id,category:"board",description:t});var s=yield Object(Zt.c)([tn.e,tn.a,tn.c]);r.store.dispatch({type:Zt.b,settings:s.reduce((e,t)=>(e[t.name]=t,e),{})}),o.close(),a.requestUpdate()}));return function(e){return n.apply(this,arguments)}}()),{backdrop:!0,size:"large",title:jt.a.t("title.dashboard setting")})}saveSettings({name:e,value:t,category:n,description:i}){return rn((function*(){e&&t&&(yield r.client.query({query:Object(gt.a)(Xt||(Xt=an(["\n mutation {\n updateSetting(",") {\n name\n value\n }\n }"])),K.g.buildArgs({name:e,patch:{name:e,description:i,category:n,value:t}}))}))}))()}}function sn(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ln(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){sn(a,i,r,o,s,"next",e)}function s(e){sn(a,i,r,o,s,"throw",e)}o(void 0)}))}}customElements.define("dashboard-setting-let",on);var cn={route:function(e){switch(e){case"":return"/dashboard";case"dashboard":return n.e(44).then(n.bind(null,1385)),e}},routes:[{tagname:"dashboard-home",page:"dashboard"}],bootstrap:function(){var e,t;r.store.addReducers({boardSetting:$t}),Fe.a.on("profile",ln((function*(){var e=yield Object(Zt.c)([tn.e,tn.a,tn.c]);r.store.dispatch({type:Zt.b,settings:e.reduce((e,t)=>(e[t.name]=t,e),{})})}))),r.store.dispatch({type:Yt.a,setting:{seq:20,template:Object(Z.e)(qt||(e=[" <dashboard-setting-let></dashboard-setting-let> "],t||(t=e.slice(0)),qt=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))))}})}};function dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dn(Object(n),!0).forEach((function(t){un(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function un(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hn={tools:[]},bn=(e=hn,t)=>{switch(t.type){case"APPEND_CONTEXT_TOOL":return pn(pn({},e),{},{tools:[...e.tools,t.tool]});case"REMOVE_CONTEXT_TOOL":return pn(pn({},e),{},{tools:e.tools.filter(e=>e!==t.tool)});default:return e}};var mn,gn,vn,fn,yn,wn,An,xn,On,jn,kn,En,Rn,Mn,Sn,In,Nn,zn,Dn,Tn,Cn,Gn,Pn,Bn,Yn,Zn,Un,Ln,Qn,Wn,Vn,Fn,_n,Jn,Hn,Xn,qn,Kn,$n,ei={bootstrap:function(){r.store.addReducers({context:bn})}},ti=n(1086),ni=(n(303),n(955));function ii(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class ri extends Z.a{static get properties(){return{backdrop:Boolean,direction:String,hovering:{type:String,reflect:!0},size:String,name:String,title:String,closable:Boolean,templateProperties:Object,help:Object}}static get styles(){return[Oe.c,Object(Z.b)(mn||(mn=ii(["\n /* for layout style */\n :host {\n position: relative;\n z-index: 1;\n }\n\n :host([hovering='edge']) {\n /* edge hovering 인 경우에는 상위 relative position 크기와 위치를 반영한다. */\n position: initial;\n }\n\n #backdrop {\n position: fixed;\n left: 0;\n top: 0;\n\n width: 100vw;\n height: 100vh;\n\n background-color: var(--overlay-background-color);\n }\n\n [overlayed] {\n position: absolute;\n\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: transparent;\n pointer-events: none;\n }\n\n [overlayed][hovering='center'] {\n position: fixed;\n\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n opacity: 0;\n }\n\n [overlayed][hovering='center'][opened] {\n opacity: 1;\n transition: opacity 0.3s ease-in;\n }\n\n [hovering='center'] {\n width: var(--overlay-center-normal-width, 60%);\n height: var(--overlay-center-normal-height, 60%);\n }\n\n [hovering='center'][size='small'] {\n width: var(--overlay-center-small-width, 40%);\n height: var(--overlay-center-small-height, 40%);\n }\n\n [hovering='center'][size='large'] {\n width: var(--overlay-center-large-width, 100%);\n height: var(--overlay-center-large-height, 100%);\n }\n\n [header] {\n --help-icon-color: #fff;\n --help-icon-hover-color: #fff;\n\n pointer-events: initial;\n }\n\n [content] {\n flex: 1;\n\n overflow: hidden;\n }\n\n ::slotted(*) {\n box-sizing: border-box;\n pointer-events: initial;\n }\n\n [hovering='center'] [content] ::slotted(*) {\n width: 100%;\n height: 100%;\n }\n [direction='up'],\n [direction='down'] {\n width: 100%;\n\n max-height: 0;\n transition: max-height 0.7s ease-in;\n }\n [direction='up'] {\n bottom: 0;\n }\n [direction='down'] {\n top: 0;\n }\n\n [direction='up'][opened],\n [direction='down'][opened] {\n max-height: 100vh;\n }\n\n [settled][direction='down'] [content],\n [settled][direction='up'] [content] {\n overflow-y: auto;\n }\n\n [direction='left'],\n [direction='right'] {\n height: 100%;\n\n max-width: 0;\n transition: max-width 0.5s ease-in;\n }\n [direction='left'] {\n right: 0;\n }\n [direction='right'] {\n left: 0;\n }\n\n [direction='left'][opened],\n [direction='right'][opened] {\n max-width: 100vw;\n }\n\n [settled][direction='left'] [content],\n [settled][direction='right'] [content] {\n overflow-x: auto;\n }\n\n @media screen and (max-width: 460px) {\n [direction='up'],\n [direction='down'] {\n max-height: 100vh;\n }\n\n [direction='left'],\n [direction='right'] {\n max-width: 100vw;\n }\n }\n "]))),Object(Z.b)(gn||(gn=ii(["\n /* for header style */\n [header] {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n background-color: var(--overlay-header-background-color);\n color: var(--overlay-header-color);\n }\n\n slot[name='header'] {\n flex: 1;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n\n [name='header']::slotted(*) {\n margin: 0 auto;\n }\n\n [name='header'] > h1 {\n text-transform: capitalize;\n font: var(--overlay-header-font);\n }\n\n [historyback] {\n margin-left: 10px;\n margin-right: auto;\n }\n\n [close] {\n margin-left: auto;\n margin-right: 10px;\n }\n\n [historyback],\n [close] {\n display: none;\n }\n\n [closable][close] {\n display: block;\n }\n\n @media screen and (max-width: 460px) {\n [closable][historyback] {\n display: block;\n }\n\n [closable][close] {\n display: none;\n }\n }\n "])))]}render(){var e="center"!=this.hovering&&this.direction;return Object(Z.e)(vn||(vn=ii(["\n ","\n\n <div\n overlayed\n hovering=","\n direction=","\n size=","\n @close-overlay=","\n @transitionstart=","\n @transitionend=","\n >\n <div header>\n <mwc-icon @click="," ?closable=",' historyback>arrow_back</mwc-icon>\n <slot name="header">\n ',"</slot\n >\n <mwc-icon @click="," ?closable="," close>close</mwc-icon>\n </div>\n\n <div content>\n <slot> </slot>\n </div>\n </div>\n "])),Boolean(this.backdrop)?Object(Z.e)(fn||(fn=ii([' <div id="backdrop" ?hidden='," @click=","></div> "])),!this.backdrop,e=>this.onClose(!0)):Object(Z.e)(yn||(yn=ii([""]))),this.hovering||"center",e,this.size||"normal",e=>this.onClose(),e=>{e.target.removeAttribute("settled","")},e=>{e.target.setAttribute("settled","")},e=>this.onClose(),this.closable,this.title?Object(Z.e)(wn||(wn=ii(["\n <h1>\n ","\n ","\n </h1>\n "])),this.title?this.title:"&nbsp;",this.help?Object(Z.e)(An||(An=ii([" &nbsp;<help-icon .topic=","></help-icon>"])),this.help):Object(Z.e)(xn||(xn=ii([""])))):Object(Z.e)(On||(On=ii([""]))),e=>this.onClose(),this.closable)}updated(e){if(e.has("templateProperties")&&this.templateProperties){var t=this.firstElementChild;if(t)for(var n in this.templateProperties)t[n]=this.templateProperties[n]}}firstUpdated(){requestAnimationFrame(()=>{this.shadowRoot.querySelector("[overlayed]").setAttribute("opened","true")})}disconnectedCallback(){document.dispatchEvent(new CustomEvent("overlay-closed",{detail:this.name})),super.disconnectedCallback()}onClose(e){var t=(history.state||{}).overlay;if(t&&t.name===this.name)return!(!e||t.escapable)||void history.back()}}function ai(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("floating-overlay",ri);class oi extends Z.a{static get dragImage(){return oi._dragImage||(oi._dragImage=new Image,oi._dragImage.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="),oi._dragImage}static get styles(){return Object(Z.b)(jn||(jn=ai(["\n :host {\n position: relative;\n opacity: 0.7;\n background-color: var(--splitter-background-color);\n }\n\n :host(:hover) {\n background-color: var(--splitter-hover-background-color);\n }\n\n div {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n "])))}static get properties(){return{}}connectedCallback(){super.connectedCallback(),this.hasAttribute("vertical")?(this.style.width="3px",this.style.height="100%",this.style.cursor="col-resize"):(this.style.width="100%",this.style.height="3px",this.style.cursor="row-resize")}render(){return Object(Z.e)(kn||(kn=ai(['\n <div\n draggable="true"\n @dragstart=',"\n @drag=","\n @dragend=","\n ></div>\n "])),e=>this._onDragStart(e),this._throttled(100,this._onDrag.bind(this)),e=>this._onDragEnd(e))}_throttled(e,t){var n=0;return function(...i){var r=(new Date).getTime();if(!(r-n<e))return n=r,t(...i)}}_onDragStart(e){e.dataTransfer.setDragImage(oi.dragImage,0,0),this.dragstart={x:e.clientX,y:e.clientY},this.dispatchEvent(new CustomEvent("splitter-dragstart",{bubbles:!0,composed:!0})),e.stopPropagation()}_onDrag(e){0!=e.clientX&&(this.dispatchEvent(new CustomEvent("splitter-drag",{bubbles:!0,composed:!0,detail:{x:e.clientX-this.dragstart.x,y:e.clientY-this.dragstart.y}})),e.stopPropagation())}_onDragEnd(e){this.dispatchEvent(new CustomEvent("splitter-dragend",{bubbles:!0,composed:!0,detail:{x:e.clientX-this.dragstart.x,y:e.clientY-this.dragstart.y}})),e.stopPropagation()}}function si(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function li(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ci(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("resize-splitter",oi);class di extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{viewparts:Array,fullbleed:{attribute:"fullbleed",type:Boolean}}}static get styles(){return[Object(Z.b)(En||(En=ci(["\n :host {\n display: flex;\n flex-flow: column nowrap;\n align-items: stretch;\n\n position: relative;\n\n background-color: var(--header-bar-background-color);\n }\n\n *[headerbar] {\n display: block;\n }\n "])))]}render(){var e=this.viewparts,t=Object.keys(e).map(t=>function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?si(Object(n),!0).forEach((function(t){li(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):si(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({name:t},e[t])).filter(e=>"headerbar"==e.position&&(!this.fullbleed||e.hovering));return t=[...t.filter(e=>e.level==Y.d.TOPMOST),...t.filter(e=>e.level!==Y.d.TOPMOST)],Object(Z.e)(Rn||(Rn=ci(["\n ","\n "])),t.map(e=>e.show?e.hovering?Object(Z.e)(Sn||(Sn=ci(["\n <floating-overlay\n .backdrop=",'\n direction="down"\n .hovering=',"\n .name=","\n .title=","\n .help=","\n .size=","\n .closable=","\n .templateProperties=","\n >","</floating-overlay\n >\n "])),e.backdrop,e.hovering,e.name,e.title,e.help,e.size,e.closable,e.templateProperties,e.template):Object(Z.e)(In||(In=ci(["\n <div headerbar>","</div>\n ","\n "])),e.template,e.resizable?Object(Z.e)(Nn||(Nn=ci(["\n <resize-splitter\n @splitter-dragstart=","\n @splitter-drag=","\n ></resize-splitter>\n "])),e=>this.resizeStart(e),e=>this.resizeDrag(e)):Object(Z.e)(zn||(zn=ci([""])))):Object(Z.e)(Mn||(Mn=ci([""])))))}resizeStart(e){this._startHeight=e.target.previousElementSibling.offsetHeight}resizeDrag(e){var t=e.detail,n=e.target.previousElementSibling.querySelectorAll("*");Array.from(n).forEach(e=>{e.style.height="".concat(this._startHeight+t.y,"px")})}stateChanged(e){this.viewparts=e.layout.viewparts||{}}}function pi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ui(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("header-bar",di);class bi extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{viewparts:Array,fullbleed:{attribute:"fullbleed",type:Boolean}}}static get styles(){return[Oe.c,Object(Z.b)(Dn||(Dn=hi(["\n :host {\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n\n position: relative;\n\n background-color: var(--nav-bar-background-color);\n }\n\n *[navbar] {\n display: flex;\n flex-direction: row;\n }\n "])))]}render(){var e=this.viewparts,t=Object.keys(e).map(t=>function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pi(Object(n),!0).forEach((function(t){ui(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({name:t},e[t])).filter(e=>"navbar"==e.position&&(!this.fullbleed||e.hovering));return t=[...t.filter(e=>e.level==Y.d.TOPMOST),...t.filter(e=>e.level!==Y.d.TOPMOST)],Object(Z.e)(Tn||(Tn=hi(["\n ","\n "])),t.map(e=>e.show?e.hovering?Object(Z.e)(Gn||(Gn=hi(["\n <floating-overlay\n .backdrop=",'\n direction="right"\n .hovering=',"\n .name=","\n .title=","\n .help=","\n .size=","\n .closable=","\n .templateProperties=","\n >","</floating-overlay\n >\n "])),e.backdrop,e.hovering,e.name,e.title,e.help,e.size,e.closable,e.templateProperties,e.template):Object(Z.e)(Pn||(Pn=hi(["\n <div navbar>","</div>\n ","\n "])),e.template,e.resizable?Object(Z.e)(Bn||(Bn=hi(["\n <resize-splitter\n @splitter-dragstart=","\n @splitter-drag=","\n vertical\n ></resize-splitter>\n "])),e=>this.resizeStart(e),e=>this.resizeDrag(e)):Object(Z.e)(Yn||(Yn=hi([""])))):Object(Z.e)(Cn||(Cn=hi([""])))))}resizeStart(e){this._startWidth=e.target.previousElementSibling.offsetWidth}resizeDrag(e){var t=e.detail,n=e.target.previousElementSibling.querySelectorAll("*");Array.from(n).forEach(e=>{e.style.width="".concat(this._startWidth+t.x,"px")})}stateChanged(e){this.viewparts=e.layout.viewparts||{}}}function mi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function gi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("nav-bar",bi);class fi extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{viewparts:Array,fullbleed:{attribute:"fullbleed",type:Boolean}}}static get styles(){return[Oe.c,Object(Z.b)(Zn||(Zn=vi(["\n :host {\n display: flex;\n flex-flow: row-reverse nowrap;\n align-items: stretch;\n\n position: relative;\n }\n\n *[asidebar] {\n display: block;\n overflow-y: auto;\n }\n "])))]}render(){var e=this.viewparts,t=Object.keys(e).map(t=>function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mi(Object(n),!0).forEach((function(t){gi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({name:t},e[t])).filter(e=>"asidebar"==e.position&&(!this.fullbleed||e.hovering));return t=[...t.filter(e=>e.level==Y.d.TOPMOST),...t.filter(e=>e.level!==Y.d.TOPMOST)],Object(Z.e)(Un||(Un=vi(["\n ","\n "])),t.map(e=>e.show?e.hovering?Object(Z.e)(Qn||(Qn=vi(["\n <floating-overlay\n .backdrop=",'\n direction="left"\n .hovering=',"\n .name=","\n .size=","\n .title=","\n .help=","\n .closable=","\n .templateProperties=","\n >","</floating-overlay\n >\n "])),e.backdrop,e.hovering,e.name,e.size,e.title,e.help,e.closable,e.templateProperties,e.template):Object(Z.e)(Wn||(Wn=vi(["\n <div asidebar>","</div>\n ","\n "])),e.template,e.resizable?Object(Z.e)(Vn||(Vn=vi(["\n <resize-splitter\n @splitter-dragstart=","\n @splitter-drag=","\n vertical\n ></resize-splitter>\n "])),e=>this.resizeStart(e),e=>this.resizeDrag(e)):Object(Z.e)(Fn||(Fn=vi([""])))):Object(Z.e)(Ln||(Ln=vi([""])))))}resizeStart(e){this._startWidth=e.target.previousElementSibling.offsetWidth}resizeDrag(e){var t=e.detail,n=e.target.previousElementSibling.querySelectorAll("*");Array.from(n).forEach(e=>{e.style.width="".concat(this._startWidth-t.x,"px")})}stateChanged(e){this.viewparts=e.layout.viewparts||{}}}function yi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function wi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ai(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("aside-bar",fi);class xi extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{viewparts:Array,fullbleed:{attribute:"fullbleed",type:Boolean}}}static get styles(){return[Object(Z.b)(_n||(_n=Ai(["\n :host {\n display: flex;\n flex-flow: column-reverse nowrap;\n align-items: stretch;\n position: relative;\n }\n\n *[footerbar] {\n display: block;\n }\n\n @media screen and (max-width: 460px) {\n :host {\n padding-bottom: 0;\n }\n }\n "])))]}render(){var e=this.viewparts,t=Object.keys(e).map(t=>function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yi(Object(n),!0).forEach((function(t){wi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({name:t},e[t])).filter(e=>"footerbar"==e.position&&(!this.fullbleed||e.hovering));return t=[...t.filter(e=>e.level==Y.d.TOPMOST),...t.filter(e=>e.level!==Y.d.TOPMOST)],Object(Z.e)(Jn||(Jn=Ai(["\n ","\n "])),t.map(e=>e.show?e.hovering?Object(Z.e)(Xn||(Xn=Ai(["\n <floating-overlay\n .backdrop=",'\n direction="up"\n .hovering=',"\n .name=","\n .title=","\n .help=","\n .size=","\n .closable=","\n .templateProperties=","\n >","</floating-overlay\n >\n "])),e.backdrop,e.hovering,e.name,e.title,e.help,e.size,e.closable,e.templateProperties,e.template):Object(Z.e)(qn||(qn=Ai(["\n <div footerbar>","</div>\n ","\n "])),e.template,e.resizable?Object(Z.e)(Kn||(Kn=Ai(["\n <resize-splitter\n @splitter-dragstart=","\n @splitter-drag=","\n ></resize-splitter>\n "])),e=>this.resizeStart(e),e=>this.resizeDrag(e)):Object(Z.e)($n||($n=Ai([""])))):Object(Z.e)(Hn||(Hn=Ai([""])))))}resizeStart(e){this._startHeight=e.target.previousElementSibling.offsetHeight}resizeDrag(e){var t=e.detail,n=e.target.previousElementSibling.querySelectorAll("*");Array.from(n).forEach(e=>{e.style.height="".concat(this._startHeight-t.y,"px")})}stateChanged(e){this.viewparts=e.layout.viewparts||{}}}customElements.define("footer-bar",xi);var Oi,ji,ki,Ei,Ri,Mi,Si,Ii,Ni={bootstrap:function(){Object(ti.a)("(min-width: 460px)",e=>Object(Y.l)(e))}},zi=n(1002);function Di(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Ti extends(Object(en.a)(r.store)(Z.a)){static get styles(){return Object(Z.b)(Oi||(Oi=Di(["\n :host {\n display: flex;\n --help-icon-color: #fff;\n --help-icon-hover-color: #fff;\n --help-icon-opacity: 0.2;\n --help-icon-size: 20px;\n }\n [title] {\n display: flex;\n font: var(--context-toolbar-title);\n }\n\n [title] > * {\n align-self: center;\n }\n\n [help] {\n opacity: var(--help-icon-opacity);\n font-size: var(--help-icon-size);\n color: var(--help-icon-color);\n }\n [help]:hover {\n cursor: help;\n opacity: var(--help-icon-hover-opacity);\n color: var(--help-icon-hover-color);\n }\n "])))}static get properties(){return{context:Object}}render(){var{title:e,help:t}=this.context||{},{icon:n,text:i=e}="object"==typeof e?e:{};return Object(Z.e)(ji||(ji=Di(["\n ","\n ","\n "])),e?Object(Z.e)(ki||(ki=Di([" <div title>","","</div> "])),n?Object(Z.e)(Ei||(Ei=Di(["<mwc-icon>","</mwc-icon>&nbsp;"])),n):Object(Z.e)(Ri||(Ri=Di([""]))),i):Object(Z.e)(Mi||(Mi=Di([""]))),t?Object(Z.e)(Si||(Si=Di([" &nbsp;<mwc-icon @click="," help>help</mwc-icon> "])),e=>Object(ni.b)(t)):Object(Z.e)(Ii||(Ii=Di([""]))))}stateChanged(e){this.context=e.route.context}}customElements.define("title-bar",Ti);var Ci,Gi,Pi,Bi,Yi,Zi,Ui,Li,Qi,Wi,Vi,Fi,_i,Ji,Hi,Xi,qi,Ki;n(94);function $i(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function er(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class tr extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{_actions:Array}}static get styles(){return[Object(Z.b)(Ci||(Ci=er(["\n :host *:focus {\n outline: none;\n }\n mwc-button {\n margin-left: var(--margin-narrow);\n }\n [danger] {\n --mdc-theme-primary: var(--mdc-danger-button-primary-color);\n --mdc-button-outline-color: var(--mdc-danger-button-outline-color);\n }\n @media screen and (max-width: 460px) {\n :host {\n border: 1px solid var(--primary-color);\n border-width: 0 1px;\n }\n mwc-button {\n margin-left: -5px;\n overflow: hidden;\n max-width: 80px;\n --mdc-shape-small: 0;\n --mdc-typography-button-font-size: 0.6em;\n --mdc-button-horizontal-padding: var(--padding-default);\n }\n }\n\n @keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n "])))]}render(){var e=this;return Object(Z.e)(Gi||(Gi=er(["\n ","\n "])),this._actions.map((t,n)=>{var{type:i,title:r,icon:a,action:o,select:s,href:l,emphasis:c}=t,{outlined:d,raised:p,dense:u,danger:h}=c||{};return"text"==i?Object(Z.e)(Pi||(Pi=er([" <span>","</span> "])),r):"select"==i||s&&s.length>0?Object(Z.e)(Bi||(Bi=er(["\n <select @change=",">\n ","\n </select>\n "])),o,s.map(e=>Object(Z.e)(Yi||(Yi=er([" <option>","</option> "])),e))):"link"==i?Object(Z.e)(Zi||(Zi=er([" <a href=",">","</a> "])),l,r):Object(Z.e)(Ui||(Ui=er(["\n <mwc-button\n label=","\n icon=","\n ?dense=","\n ?raised=","\n ?outlined=","\n ?danger=","\n @click=","\n ></mwc-button>\n "])),r,a||"done_all",u,p,d,h,function(){var t,i=(t=function*(t){var i=t.currentTarget;i.icon="rotate_right",i.setAttribute("working",!0),i.disabled=!0;try{yield o()}finally{var r;yield Object(K.l)(1e3),i.disabled=!1,i.icon=(null===(r=e._actions[n])||void 0===r?void 0:r.icon)||"done_all",i.removeAttribute("working")}},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){$i(a,i,r,o,s,"next",e)}function s(e){$i(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return i.apply(this,arguments)}}())}))}stateChanged(e){var t,n,i;this._actions=(null===(t=e.route)||void 0===t||null===(n=t.context)||void 0===n||null===(i=n.actions)||void 0===i?void 0:i.filter(e=>!!e))||[]}}function nr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("page-action-context-bar",tr);class ir extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{_context:Object,_tools:Array}}static get styles(){return[Object(Z.b)(Li||(Li=nr(["\n :host {\n display: flex;\n position: relative;\n\n background-color: var(--context-toolbar-background-color);\n justify-content: space-between;\n box-shadow: var(--context-toolbar-shadow-line);\n }\n #front-end {\n padding-left: var(--context-toolbar-side-padding);\n }\n #rear-end {\n padding-right: var(--context-toolbar-side-padding);\n }\n #front-end mwc-icon,\n #front mwc-icon {\n background-color: var(--context-toolbar-function-button-background-color);\n border: var(--context-toolbar-function-button-border);\n height: var(--context-toolbar-function-button-height);\n margin: var(--context-toolbar-button-margin);\n padding: var(--context-toolbar-function-button-padding);\n color: var(--context-toolbar-function-button-color);\n line-height: var(--context-toolbar-function-button-lineheight);\n cursor: pointer;\n }\n #front-end mwc-icon:first-child,\n #front mwc-icon:first-child {\n border-top-left-radius: var(--context-toolbar-function-button-radius);\n border-bottom-left-radius: var(--context-toolbar-function-button-radius);\n }\n #front-end mwc-icon:last-child,\n #front mwc-icon:last-child {\n border-top-right-radius: var(--context-toolbar-function-button-radius);\n border-bottom-right-radius: var(--context-toolbar-function-button-radius);\n }\n\n #front-end mwc-icon {\n background-color: var(--primary-color);\n }\n #front-end mwc-icon:hover {\n background-color: var(--context-toolbar-function-button-background-color);\n }\n #front mwc-icon:hover {\n background-color: var(--context-toolbar-function-button-hover-background-color);\n }\n\n #center {\n flex: 1;\n justify-content: center;\n align-items: center;\n }\n\n #center > * {\n justify-content: center;\n align-items: center;\n }\n #rear-end > *,\n #rear > * {\n margin: var(--context-toolbar-button-margin);\n }\n #rear-end {\n align-items: start;\n }\n\n div > * {\n align-items: center;\n }\n\n div {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n overflow: hidden;\n padding: 0;\n }\n "])))]}render(){var e=Object.keys(this._context).filter(e=>!!this._context[e]),t=(this._tools||[]).filter(t=>{if(!t.context||e.includes(t.context))return t}),n=t.filter(e=>e.position==Y.b.FRONT_END),i=t.filter(e=>e.position==Y.b.FRONT),r=t.filter(e=>e.position==Y.b.CENTER),a=t.filter(e=>e.position==Y.b.REAR),o=t.filter(e=>e.position==Y.b.REAR_END);return Object(Z.e)(Qi||(Qi=nr(['\n <div id="front-end">','</div>\n\n <div id="front">','</div>\n\n <div id="center">','</div>\n\n <div id="rear">','</div>\n\n <div id="rear-end">',"</div>\n "])),n.map(e=>Object(Z.e)(Wi||(Wi=nr([" "," "])),e.template)),i.map(e=>Object(Z.e)(Vi||(Vi=nr([" "," "])),e.template)),r.map(e=>Object(Z.e)(Fi||(Fi=nr([" "," "])),e.template)),a.map(e=>Object(Z.e)(_i||(_i=nr([" "," "])),e.template)),o.map(e=>Object(Z.e)(Ji||(Ji=nr([" "," "])),e.template)))}stateChanged(e){this._tools=e.context.tools,this._context=e.route.context}}function rr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("context-toolbar",ir);var ar={bootstrap:function(){r.store.dispatch({type:zi.a,tool:{name:"title-bar",template:Object(B.g)(Hi||(Hi=rr([" <title-bar></title-bar> "]))),position:Y.b.CENTER}}),Object(Y.f)({name:"context-toolbar",viewpart:{show:!0,template:Object(B.g)(Xi||(Xi=rr([" <context-toolbar></context-toolbar> "])))},position:Y.e.FOOTERBAR}),Object(Y.f)({name:"context-toolbar-overlay",viewpart:{show:!1,hovering:"next",backdrop:!0,template:Object(B.g)(qi||(qi=rr([""])))},position:Y.e.FOOTERBAR}),r.store.dispatch({type:"APPEND_CONTEXT_TOOL",tool:{template:Object(B.g)(Ki||(Ki=rr([" <page-action-context-bar></page-action-context-bar> "]))),position:Y.b.REAR_END,context:"actions"}})}};function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function sr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?or(Object(n),!0).forEach((function(t){lr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):or(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cr={extensions:{}},dr=(e=cr,t)=>{switch(t.type){case"UPDATE_EXTENSION":return sr(sr({},e),{},{extensions:sr(sr({},e.extensions),t.extensions)});case"EXPORT":var n=t.exportable.extension;e.extensions[n].export(t.exportable);default:return e}};function pr(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ur(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){pr(a,i,r,o,s,"next",e)}function s(e){pr(a,i,r,o,s,"throw",e)}o(void 0)}))}}function hr(e){return br.apply(this,arguments)}function br(){return(br=ur((function*({extension:e,data:t,name:n}){var i="function"==typeof t?yield t.call():t,r=JSON.stringify(i,null,2),a=document.createElement("a");a.setAttribute("href",encodeURI("data:application/json;charset=utf-8,"+r)),a.setAttribute("download","".concat(n,".json")),document.body.appendChild(a),a.click(),document.body.removeChild(a)}))).apply(this,arguments)}var mr,gr={bootstrap:function(){r.store.addReducers({exporting:dr}),r.store.dispatch({type:"UPDATE_EXTENSION",extensions:{json:{export:hr}}})}};var vr,fr,yr,wr,Ar,xr,Or=Object(Z.b)(mr||(vr=["\n :host {\n display: block;\n\n background-color: var(--context-ui-background-color);\n box-shadow: var(--context-ui-box-shadow);\n padding: var(--context-ui-padding);\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n overflow-y: auto;\n }\n\n li {\n display: flex;\n\n border-bottom: var(--context-ui-list-border-bottom);\n padding: var(--context-ui-list-padding);\n }\n\n li > mwc-icon {\n font-size: 1em;\n\n padding: var(--context-ui-padding);\n color: var(--context-ui-list-color);\n }\n\n li > span {\n margin: auto 0;\n flex: 1;\n\n color: var(--context-ui-list-color);\n }\n\n li:hover mwc-icon,\n li:hover span {\n color: #fff;\n }\n\n li:hover {\n cursor: pointer;\n\n border-bottom: var(--context-ui-list-border-hover-bottom);\n }\n\n @media (max-width: 460px) {\n :host {\n min-width: 100%;\n box-shadow: none;\n border-radius: 0;\n }\n }\n"],fr||(fr=vr.slice(0)),mr=Object.freeze(Object.defineProperties(vr,{raw:{value:Object.freeze(fr)}}))));function jr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function kr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jr(Object(n),!0).forEach((function(t){Er(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Er(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Mr extends(Object(en.a)(r.store)(Z.a)){static get properties(){return{_context:Object,_extensions:Array}}static get styles(){return[Oe.c,Or]}render(){var e=[],t=this._context.exportable||{},n=t.accept instanceof Array?t.accept:"string"==typeof t.accept?[t.accept]:null;for(var i in this._extensions)n&&-1==n.indexOf(i)||e.push(i);return Object(Z.e)(yr||(yr=Rr(["\n <ul>\n ","\n </ul>\n "])),e.map((e,t)=>Object(Z.e)(wr||(wr=Rr(['\n <label for="','">\n <li @click=',">\n <mwc-icon>description</mwc-icon>\n <span>","</span>\n </li>\n </label>\n "])),t,t=>this._export(e),e)))}_export(e){r.store.dispatch({type:"EXPORT",exportable:kr({extension:e},this._context.exportable)}),this.dispatchEvent(new CustomEvent("close-overlay",{detail:{name:"export-overlay-template",bubbles:!0,composed:!0}}))}stateChanged(e){this._extensions=e.exporting&&e.exporting.extensions||[],this._context=e.route.context}}function Sr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}window.customElements.define("export-overlay-template",Mr);var Ir={bootstrap:function(){r.store.dispatch({type:"APPEND_CONTEXT_TOOL",tool:{position:Y.b.FRONT,template:Object(B.g)(xr||(xr=Sr([' <mwc-icon @click="','">save_alt</mwc-icon> '])),(function(){Object(Y.i)("context-toolbar-overlay",{template:Object(B.g)(Ar||(Ar=Sr([" <export-overlay-template></export-overlay-template> "])))})})),context:"exportable"}})}},Nr=n(1316),zr=n(1320),Dr=n.n(zr),Tr=n(1177);function Cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Gr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cr(Object(n),!0).forEach((function(t){Pr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Pr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Br(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Yr(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Br(a,i,r,o,s,"next",e)}function s(e){Br(a,i,r,o,s,"throw",e)}o(void 0)}))}}var Zr=n(1321);function Ur(e){return Lr.apply(this,arguments)}function Lr(){return(Lr=Yr((function*({extension:e,name:t,data:n}){if(0!==n){var i=t,r="function"==typeof n?yield n.call():n,a=Object.keys(r[0]),o=Nr.utils.book_new(),s=Nr.utils.json_to_sheet(r,{header:a});Nr.utils.book_append_sheet(o,s,i),Nr.writeFile(o,"".concat(i,".").concat(e),{bookType:e})}}))).apply(this,arguments)}function Qr(e){return Wr.apply(this,arguments)}function Wr(){return(Wr=Yr((function*({extension:e,name:t,data:n}){try{var i="function"==typeof n?yield n.call():n;if(!i.header)throw new Error('data type has to be "{header: [{headerName, fieldName, type, arrData}], data: [{fieldName: value}], groups:[{ column, title }], totals: [value], sheetStyle:{}}"');var r=new Dr.a.Workbook(t),a=r.addWorksheet(t),o=[{header:"id",key:"id",width:5},...i.header.map(e=>({header:e.header||"",key:e.key||"",width:e.width?e.width:e.header.length<12?12:e.header.length}))],s=i.header.reduce((function(e,t){return e[t.key]="",e}),{});a.columns=o,a._rows[0]._cells.map((e,t)=>{e.name=o[t].key,e.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FF0C5394"}},e.font={name:"Arial",color:{argb:"FFFFFFFF"},family:1,size:12,bold:!0},e.alignment={vertical:"middle",horizontal:"center"}});var[l,c]=["FFFFFF","F3F3F3"],d=JSON.parse(JSON.stringify(i.data));d=d.map(e=>Gr(Gr({},s),e)),(d=i.groups&&i.groups.length>0?Vr(d,i.groups.map(e=>e.column),i.groups,i.totals):d.map(e=>([l,c]=[c,l],{data:e,style:{row:{fill:{type:"pattern",pattern:"solid",fgColor:{argb:l}},border:{bottom:{style:"thin"}}}}}))).forEach((e,t)=>{a.addRow(e.data),e.style&&a._rows[t+1]._cells.forEach(t=>{var n=e.style[t._column._key]||{};t.style=Gr(Gr(Gr({},t.style),e.style.row),n)})}),0==d.length&&a.addRow({id:""}),a.getColumn("id").hidden=!0,i.header.filter(e=>"array"===e.type&&e.arrData&&e.arrData.length>0&&e.arrData instanceof Array).map(function(){var e=Yr((function*(e){var t={};if(r.getWorksheet(e.key))t=r.getWorksheet(e.key);else{t=r.addWorksheet(e.key);var n=Object.keys(e.arrData[0]).map(e=>({header:e||"",key:e||""}));t.columns=n,t.addRows(e.arrData),t._rows[0]._cells.map((e,t)=>{e.name=n[t].key}),t.state="veryHidden",yield t.protect(Math.random().toString(36).substring(2),{selectLockedCells:!1,selectUnlockedCells:!1})}var i=String.fromCharCode(97+t.columns.findIndex(e=>"name"===e._key)).toUpperCase();a.getColumn(e.key).eachCell((function(e,n){1!==n&&(e.dataValidation={type:"list",allowBlank:!0,formulae:[t.name+"!$"+i+"$2:$"+i+"$"+t.rowCount.toString()]})}))}));return function(t){return e.apply(this,arguments)}}()),i.header.filter(e=>"int"===e.type).map(e=>{a.getColumn(e.key).eachCell((function(e,t){1!==t&&(e.dataValidation={type:"whole",allowBlank:!0})}))}),i.header.filter(e=>"float"===e.type).map(e=>{a.getColumn(e.key).eachCell((function(e,t){1!==t&&(e.dataValidation={type:"decimal",allowBlank:!0})}))}),i.header.filter(e=>"date"===e.type).map(e=>{a.getColumn(e.key).eachCell((function(e,t){1!==t&&(e.dataValidation={type:"date",allowBlank:!0},e.value=e.value?new Date(parseInt(e.value)):"")}))}),yield r.xlsx.writeBuffer({DATE:{numFmt:"dd.mmm.yyyy"},DATE_TIME:{numFmt:"dd.mmm.yyyy hh:mm"},TIME:{numFmt:"hh:mm"}}).then(e=>{Object(Tr.saveAs)(new Blob([e],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),t+".xlsx")})}catch(e){throw e}}))).apply(this,arguments)}function Vr(e,t,n,i){if(!t)return e;var r=t[0],a=[...t.slice(1,t.length)],o=Zr.groupBy(e,r);if(!a.length){var s=[];return Object.keys(o).forEach(e=>{var t=n.filter(e=>e.column===r)[0],[a,l]=["F3F3F3","FFFFFF"];o[e]=o[e].map((e,t)=>(0!=t&&(e[r]=""),[a,l]=[l,a],{data:e,style:{row:{fill:{type:"pattern",pattern:"solid",fgColor:{argb:a}}}}}));var c=[];if(t.title){var d=Fr(o[e][0]);d.data[r]=t.title,i.forEach(t=>{d.data[t]=o[e].reduce((e,n)=>e+=parseFloat(n.data[t])||0,0)}),d.style=_r([r]),c=[d]}s=[...o[e],...c,...s]}),s}return Zr.transform(o,(e,t,o)=>{var s=Vr(t,a,n,i),l=n.filter(e=>e.column===r)[0];s.map((e,t)=>(0!=t&&(e.data[r]=""),e));var c=[];if(l.title){var d=Fr(s[0]);d.data[r]=l.title,i.forEach(e=>{d.data[e]=t.reduce((t,n)=>t+=parseFloat(n[e])||0,0)}),d.style=_r([r]),c=[d]}s=[...s,...c],0===n.findIndex(e=>e.column==l.column)&&(s.forEach((e,t)=>{e.style=Gr(Gr({},e.style),{},{[l.column]:{fill:{type:"pattern",pattern:"solid",fgColor:{argb:"FFCFE2F3"}},font:{name:"Arial",color:{argb:"FF000000"},family:1,bold:!0}}}),t!=s.length-1&&(e.style=Gr(Gr({},e.style),{},{[l.column]:Gr(Gr({},e.style[l.column]),{},{border:{top:{style:""},bottom:{style:""}}})}))}),s[s.length-1].style=Gr(Gr({},s[s.length-1].style),{},{row:Gr(Gr({},s[s.length-1].style.row),{},{border:{bottom:{style:"thin"}}})})),s.map(t=>e.push(t))},[])}function Fr(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(e.hasOwnProperty(n)){var i=typeof e[n];t[n]=null===e[n]?null:"object"==i?Fr(e[n]):{string:"",number:0,boolean:!1}[i]}return t}function _r(e){return{[e]:{alignment:{horizontal:"center"}},row:{border:{top:{style:"thin"},bottom:{style:"thin"}},fill:{type:"pattern",pattern:"solid",fgColor:{argb:"FFEEF7FF"}},font:{name:"Arial",color:{argb:"FF000000"},family:1,bold:!0}}}}var Jr={bootstrap:function(){r.store.dispatch({type:"UPDATE_EXTENSION",extensions:{xlsx:{export:Qr},xls:{export:Ur}}})}};function Hr(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Xr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function qr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xr(Object(n),!0).forEach((function(t){Kr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $r={extensions:{}},ea=(e=$r,t)=>{switch(t.type){case"UPDATE_EXTRENSION":return qr(qr({},e),{},{extensions:qr(qr({},e.extensions),t.extensions)});case"IMPORT":(n=function*(){var n=t.importable.extension,i=yield e.extensions[n].import(t.data);t.importable.handler(i)},function(){var e=this,t=arguments;return new Promise((function(i,r){var a=n.apply(e,t);function o(e){Hr(a,i,r,o,s,"next",e)}function s(e){Hr(a,i,r,o,s,"throw",e)}o(void 0)}))})();default:return e}var n};var ta={bootstrap:function(){r.store.addReducers({importing:ea}),r.store.dispatch({type:"UPDATE_EXTRENSION",extensions:{json:{import:e=>JSON.parse(e)}}})}};var na={route:function(e){switch(e){case"api-swagger":return n.e(33).then(n.bind(null,1386)),e}},routes:[{tagname:"api-swagger",page:"api-swagger"}],bootstrap:function(){}};var ia={route:function(e){switch(e){case"oauth2-client-register":return n.e(51).then(n.bind(null,1387)),e;case"oauth2-client":return n.e(21).then(n.bind(null,1388)),e;case"oauth2-clients":return n.e(52).then(n.bind(null,1389)),e}},routes:[{tagname:"oauth2-client-register",page:"oauth2-client-register"},{tagname:"oauth2-clients",page:"oauth2-clients"},{tagname:"oauth2-client",page:"oauth2-client"}],bootstrap:function(){}};var ra,aa,oa,sa,la,ca,da,pa,ua,ha,ba,ma,ga,va,fa,ya,wa,Aa,xa,Oa,ja,ka,Ea,Ra,Ma,Sa,Ia=n(956);function Na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function za(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Na(Object(n),!0).forEach((function(t){Da(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Na(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Da(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ta(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ca(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Ta(a,i,r,o,s,"next",e)}function s(e){Ta(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Ga(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Pa extends Z.a{static get properties(){return{value:String,searchFields:Array,config:Object,data:Object,queryName:String,select:Array,list:Object,basicArgs:Object,selectedRecords:Array}}static get styles(){return[Ia.a,Object(Z.b)(ra||(ra=Ga(["\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n data-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n }\n\n form {\n position: relative;\n }\n\n [search] {\n position: absolute;\n right: 0;\n }\n "])))]}render(){var e=this;return Object(Z.e)(aa||(aa=Ga(['\n <search-form\n id="search-form"\n @keypress="','"\n @submit="','"\n .fields="','"\n ></search-form>\n\n <data-grist\n .mode=',"\n .config=","\n .data=",'\n .fetchHandler="','"\n ></data-grist>\n\n <div class="button-container">\n <mwc-button @click=',">","</mwc-button>\n <mwc-button @click=",">","</mwc-button>\n </div>\n "])),function(){var t=Ca((function*(t){13===t.keyCode&&(e.data=yield e.grist.fetch())}));return function(e){return t.apply(this,arguments)}}(),function(){var t=Ca((function*(t){return e.data=yield e.grist.fetch()}));return function(e){return t.apply(this,arguments)}}(),this.searchFields,Object(K.j)()?"LIST":"GRID",this.config,this.data,this.fetchHandler.bind(this),this.oncancel.bind(this),jt.a.t("button.cancel"),this.onconfirm.bind(this),jt.a.t("button.confirm"))}get grist(){return this.shadowRoot.querySelector("data-grist")}oncancel(e){history.back()}onconfirm(e){this.dispatchEvent(new CustomEvent("entity-selected",{detail:{entity:this.selected}}))}fetchHandler({page:e,limit:t,sorters:n=[]}){var i=this;return Ca((function*(){var a=yield r.client.query({query:Object(gt.a)(oa||(oa=Ga(["\n query {\n "," (",") {\n ","\n }\n }\n "])),i.queryName,K.g.buildArgs(yield i._buildConditions(e,t,n)),i.getSelectFields())});if(!a.errors)return{records:a.data[i.queryName].items.map(e=>(i.value===e.id&&(i.selectedRecords=[e],e.__selected__=!0),e)),total:a.data[i.queryName].total,limit:t,page:e}}))()}firstUpdated(){var e=this;return Ca((function*(){if(e.config={columns:[{type:"gutter",gutterName:"sequence"},{type:"gutter",gutterName:"row-selector",multiple:!1}],rows:{selectable:{multiple:!1},handlers:{click:"select-row",dblclick:(t,n,i,r,a,o)=>{e.onconfirm()}},appendable:!1}},e.select&&e.select.length>0){var t=e.select.filter(e=>!e.hidden);t=e.list&&e.list.fields&&e.list.fields.length>0?t.filter(t=>e.list.fields.indexOf(t.name)>=0):t.slice(0,4),e.searchFields=t.map(e=>{var t=e.type&&e.type.toLowerCase()||"string";return{label:e.header||jt.a.t("field.".concat(e.name)),name:e.name,type:"string"===t?"text":["integer","float"].indexOf(t)>=0?"number":"boolean"===t?"checkbox":t,queryName:e.queryName,props:"string"===t?{searchOper:"i_like"}:"object"===t?{searchOper:"in"}:{searchOper:"eq"},attrs:"boolean"===t?["indeterminated"]:[]}}),e.config=za(za({},e.config),{},{columns:[...e.config.columns,...e.select.map(e=>za(za({},e),{},{type:e.type||"string",width:e.width||160,header:e.header||jt.a.t("field.".concat(e.name))}))]})}else e.searchFields=[{label:jt.a.t("field.name"),name:"name",type:"text",props:{searchOper:"i_like"}},{label:jt.a.t("field.description"),name:"description",type:"text",props:{searchOper:"i_like"}}],e.config=za(za({},e.config),{},{columns:[...e.config.columns,{type:"string",name:"id",header:jt.a.t("field.id"),hidden:!0},{type:"string",name:"name",header:jt.a.t("field.name"),record:{align:"left"},sortable:!0,width:160},{type:"string",name:"description",header:jt.a.t("field.description"),record:{align:"left"},sortable:!0,width:300}]});e.config=za(za({},e.config),{},{list:za(za({},e.list),{},{fields:e.list&&e.list.fields&&e.list.fields.length>0?e.list.fields:e.config.columns.filter(e=>"gutter"!==e.type).slice(0,3).map(e=>e.name)})}),yield e.updateComplete,e.grist&&e.grist.focus()}))()}getSelectFields(){return this.select&&this.select.length>0?"items {\n ".concat(this.select.map(e=>"object"===e.type?"".concat(e.name," { ").concat(e.subFields&&e.subFields.length>0?e.subFields.join(" "):"id name description"," }"):"".concat(e.name)),"\n }\n total"):"\n items {\n id\n name\n description\n }\n total\n "}_buildConditions(e,t,n){var i=this;return Ca((function*(){var r=za({filters:[]},i.basicArgs);return r.filters=[...r.filters,...yield i.searchForm.getQueryFilters()],r.pagination={page:e,limit:t},r.sortings=n,r}))()}get searchForm(){return this.shadowRoot.querySelector("search-form")}get selected(){var e=this.shadowRoot.querySelector("data-grist").selected;return e&&e.length>0?e[0]:void 0}}function Ba(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
133
- /**
134
- * @license Copyright © HatioLab Inc. All rights reserved.
135
- */customElements.define("entity-selector",Pa);class Ya extends Z.a{static get properties(){return{value:String,properties:Object}}static get styles(){return[Object(Z.b)(sa||(sa=Ba(["\n :host {\n position: relative;\n display: inline-block;\n }\n\n input[type='text'] {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n }\n\n mwc-icon {\n position: absolute;\n top: 0;\n right: 0;\n }\n "])))]}render(){return Object(Z.e)(la||(la=Ba(['\n <input id="text" type="text" .value='," @change="," />\n\n <mwc-icon @click=",">dashboard</mwc-icon>\n "])),this.value||"",e=>this._onInputChanged(e),e=>this.openSelector(e))}_onInputChanged(e){e.stopPropagation(),this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}openSelector(){this.popup&&delete this.popup;var e=Object(Z.e)(ca||(ca=Ba(["\n <entity-selector\n .creatable=","\n .queryName=","\n .value=","\n @entity-selected=","\n ></entity-selector>\n "])),!0,this.properties.queryName,this.value,e=>{e.stopPropagation();var t=e.detail.entity;this.value=t[this.properties.valueKey||"id"],this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.popup&&this.popup.close()});this.popup=Object(Y.j)(e,{backdrop:!0,size:"large",title:jt.a.t("title.select entity")})}}customElements.define("things-editor-entity-selector",Ya);class Za extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){return Object(Z.e)(da||(da=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <things-editor-entity-selector\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-entity-selector>\n "])),e.value,e.property)}shouldUpdate(e){return!0}get valueProperty(){return"value"}_computeLabelId(e){return e.indexOf("label.")>=0?e:"label."+e}_valueChanged(e){e.stopPropagation(),this.value=Object(K.b)(e.target[this.valueProperty]),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})),this.observe&&this.observe.call(this,this.value)}}function Ua(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
136
- /**
137
- * @license Copyright © HatioLab Inc. All rights reserved.
138
- */customElements.define("property-editor-entity-selector",Za);class La extends Z.a{static get properties(){return{value:Object}}static get styles(){return[Object(Z.b)(pa||(pa=Ua(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n margin: 5px 0;\n\n background-color: #ddd;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n }\n\n div > * {\n min-width: 0px;\n min-height: 20px;\n margin: 2px;\n padding: 0;\n }\n\n button {\n width: 20px;\n text-align: center;\n border-radius: 50%;\n font-size: 1em;\n }\n\n input {\n flex: 1;\n }\n "])))]}constructor(){super(),this.value={}}firstUpdated(){this.renderRoot.addEventListener("change",this._onChange.bind(this))}render(){return Object(Z.e)(ua||(ua=Ua(["\n ",'\n\n <div data-record-new>\n <input type="text" data-key placeholder="key" value="" />\n <input type="text" data-value placeholder="value" value="" />\n <button class="record-action" @click=',' tabindex="-1">+</button>\n </div>\n '])),this._toArray(this.value).map(e=>Object(Z.e)(ha||(ha=Ua(['\n <div data-record>\n <input type="text" data-key placeholder="key" .value=',' />\n <input type="text" data-value placeholder="value" .value=',' />\n <button class="record-action" @click=',' tabindex="-1">x</button>\n </div>\n '])),e.key,e.value,e=>this._delete(e))),e=>this._add(e))}_onChange(e){if(!this._changingNow){this._changingNow=!0;var t=e.target,n=t.value,i=t.parentElement;if(i.hasAttribute("data-record"))for(var r=i.querySelectorAll("[data-value]:not([hidden])"),a=0;a<r.length;a++)r[a]!==t&&(r[a].value=n||"");i.hasAttribute("data-record")?this._build():i.hasAttribute("data-record-new")&&t.hasAttribute("data-value")&&this._add(),this._changingNow=!1}}_build(e){if(e)var t=this.renderRoot.querySelectorAll("[data-record],[data-record-new]");else t=this.renderRoot.querySelectorAll("[data-record]");for(var n={},i=0;i<t.length;i++){var r=t[i],a=r.querySelector("[data-key]").value,o=r.querySelectorAll('[data-value]:not([style*="display: none"])');if(o&&0!=o.length){var s=o[o.length-1].value;a&&(n[a]=s||"")}}this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_toArray(e){var t=[];for(var n in e)t.push({key:n,value:e[n]});return t}_add(e){this._build(!0);for(var t=this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])'),n=0;n<t.length;n++){t[n].value=""}t[0].focus()}_delete(e){e.target.parentElement.querySelector("[data-key]").value="",this._build()}}function Qa(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
139
- /**
140
- * @license Copyright © HatioLab Inc. All rights reserved.
141
- */customElements.define("things-editor-http-headers",La);class Wa extends Z.a{static get properties(){return{value:Object}}static get styles(){return[Object(Z.b)(ba||(ba=Qa(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n margin: 5px 0;\n\n background-color: #ddd;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n }\n\n div > * {\n min-width: 0px;\n min-height: 20px;\n margin: 2px;\n padding: 0;\n }\n\n button {\n width: 20px;\n text-align: center;\n border-radius: 50%;\n font-size: 1em;\n }\n\n input {\n flex: 1;\n }\n "])))]}constructor(){super(),this.value={}}firstUpdated(){this.renderRoot.addEventListener("change",this._onChange.bind(this))}render(){return Object(Z.e)(ma||(ma=Qa(["\n ",'\n\n <div data-record-new>\n <input type="text" data-key placeholder="key" value="" />\n <input type="text" data-value placeholder="value" value="" />\n <button class="record-action" @click=',' tabindex="-1">+</button>\n </div>\n '])),this._toArray(this.value).map(e=>Object(Z.e)(ga||(ga=Qa(['\n <div data-record>\n <input type="text" data-key placeholder="key" .value=',' />\n <input type="text" data-value placeholder="value" .value=',' />\n <button class="record-action" @click=',' tabindex="-1">x</button>\n </div>\n '])),e.key,e.value,e=>this._delete(e))),e=>this._add(e))}_onChange(e){if(!this._changingNow){this._changingNow=!0;var t=e.target,n=t.value,i=t.parentElement;if(i.hasAttribute("data-record"))for(var r=i.querySelectorAll("[data-value]:not([hidden])"),a=0;a<r.length;a++)r[a]!==t&&(r[a].value=n||"");i.hasAttribute("data-record")?this._build():i.hasAttribute("data-record-new")&&t.hasAttribute("data-value")&&this._add(),this._changingNow=!1}}_build(e){if(e)var t=this.renderRoot.querySelectorAll("[data-record],[data-record-new]");else t=this.renderRoot.querySelectorAll("[data-record]");for(var n={},i=0;i<t.length;i++){var r=t[i],a=r.querySelector("[data-key]").value,o=r.querySelectorAll('[data-value]:not([style*="display: none"])');if(o&&0!=o.length){var s=o[o.length-1].value;a&&(n[a]=s||"")}}this.value=n,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_toArray(e){var t=[];for(var n in e)t.push({key:n,value:e[n]});return t}_add(e){this._build(!0);for(var t=this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])'),n=0;n<t.length;n++){t[n].value=""}t[0].focus()}_delete(e){e.target.parentElement.querySelector("[data-key]").value="",this._build()}}function Va(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Fa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Va(Object(n),!0).forEach((function(t){_a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Va(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ja(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
142
- /**
143
- * @license Copyright © HatioLab Inc. All rights reserved.
144
- */customElements.define("things-editor-http-parameters",Wa);class Ha extends Z.a{static get properties(){return{value:Object}}static get styles(){return[Object(Z.b)(va||(va=Ja(["\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n margin: 5px 0;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n }\n\n div[kind] {\n border-bottom: 1px solid #aaa;\n background-color: #ddd;\n }\n\n div[accessor] {\n background-color: #eee;\n }\n\n label {\n margin: 0 12px 0 3px;\n }\n\n #accessor {\n flex: 1;\n min-height: 20px;\n margin: 2px;\n }\n "])))]}firstUpdated(){this.renderRoot.addEventListener("change",this._onChange.bind(this))}render(){var{kind:e="none",accessor:t="",contentType:n}=this.value||{};return Object(Z.e)(fa||(fa=Ja(['\n <div kind>\n <input type="radio" id="none" name="kind" .checked=',' value="none" />\n <label for="none">none</label>\n\n <input type="radio" id="form-data" name="kind" .checked=',' value="form-data" disabled />\n <label for="form-data">form-data</label>\n\n <input\n type="radio"\n id="x-www-form-urlencoded"\n name="kind"\n .checked=','\n value="x-www-form-urlencoded"\n />\n <label for="x-www-form-urlencoded">x-www-form-urlencoded</label>\n\n <input type="radio" id="raw" name="kind" .checked=',' value="raw" />\n <label for="raw">raw</label>\n\n <input type="radio" id="binary" name="kind" .checked=',' value="binary" disabled />\n <label for="binary">binary</label>\n\n <input type="radio" id="GraphQL" name="kind" .checked=',' value="GraphQL" disabled />\n <label for="GraphQL">GraphQL</label>\n </div>\n\n ',"\n "])),"none"==e,"form-data"==e,"x-www-form-urlencoded"==e,"raw"==e,"binary"==e,"GraphQL"==e,"none"!==e?Object(Z.e)(ya||(ya=Ja(["\n ",'\n <div accessor>\n <label for="accessor">accessor</label>\n <input type="text" id="accessor" name="accessor" placeholder="accessor" .value='," />\n </div>\n "])),"raw"==e?this.renderContentType(n):Object(Z.e)(wa||(wa=Ja([""]))),t):Object(Z.e)(Aa||(Aa=Ja([""]))))}renderContentType(e){return Object(Z.e)(xa||(xa=Ja(['\n <div>\n <label>content-type</label>\n <div>\n <input type="radio" id="text" name="contentType" .checked=',' value="text" />\n <label for="text">Text</label>\n\n <input type="radio" id="json" name="contentType" .checked=',' value="json" disabled />\n <label for="json">Json</label>\n </div>\n </div>\n '])),"text"==e,"json"==e)}_onChange(e){var t=e.target;this.value=Fa(Fa({},this.value),{},{[t.name]:t.value}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}}function Xa(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("things-editor-http-body",Ha);class qa extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){var{context:t,host:n}=e,i=(null==t?void 0:t.dirtyData.records.filter(e=>e.name!==n.name).map(e=>e.name))||[];return Object(Z.e)(Oa||(Oa=Xa(['\n <input id="editor" .value=',' list="step-list" />\n <datalist id="step-list">',"</datalist>\n "])),e.value||"",i.map(e=>Object(Z.e)(ja||(ja=Xa([" <option value=","></option> "])),e)))}}customElements.define("property-editor-scenario-step-input",qa);class Ka extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){return Object(Z.e)(ka||(ka=Xa(['\n <things-editor-http-headers\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-http-headers>\n "])),e.value,e.property)}}customElements.define("property-editor-http-headers",Ka);class $a extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){return Object(Z.e)(Ea||(Ea=Xa(['\n <things-editor-http-parameters\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-http-parameters>\n "])),e.value,e.property)}}customElements.define("property-editor-http-parameters",$a);class eo extends nt.b{static get styles(){return[nt.c]}editorTemplate(e){return Object(Z.e)(Ra||(Ra=Xa(['\n <things-editor-http-body\n id="editor"\n .value=',"\n .properties=","\n ></things-editor-http-body>\n "])),e.value,e.property)}}function to(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function no(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}customElements.define("property-editor-http-body",eo);var io,ro={name:"",value:""};class ao extends it.a{getOptions(){return[]}firstUpdated(){var e,t=()=>super.firstUpdated,n=this;return(e=function*(){t().call(n);var e,{options:e}=n.column.record||{};e||((e=yield n.getOptions()).unshift?e.unshift(ro):e=[ro],n.column.record.options=e,n.requestUpdate())},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){no(a,i,r,o,s,"next",e)}function s(e){no(a,i,r,o,s,"throw",e)}o(void 0)}))})()}get editorTemplate(){var{options:e=[ro]}=this.column.record||{};return Object(Z.e)(Ma||(Ma=to(["\n <select>\n ","\n </select>\n "])),e.map(e=>Object(Z.e)(Sa||(Sa=to([" <option ?selected="," value=",">","</option> "])),e.name==this.value,e.name,e.name)))}}function oo(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}var so,lo=Object(gt.a)(io||(io=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n {\n connections {\n items {\n name\n description\n }\n\n total\n }\n }\n"])));class co extends ao{getOptions(){return(e=function*(){var e=yield r.client.query({query:lo});return e&&e.data&&e.data.connections.items||[]},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){oo(a,i,r,o,s,"next",e)}function s(e){oo(a,i,r,o,s,"throw",e)}o(void 0)}))})();var e}}function po(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}customElements.define("connection-selector",co);var uo=Object(gt.a)(so||(so=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n {\n connectors {\n items {\n name\n description\n }\n\n total\n }\n }\n"])));class ho extends ao{getOptions(){return(e=function*(){var e=yield r.client.query({query:uo});return e&&e.data&&e.data.connectors.items||[]},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){po(a,i,r,o,s,"next",e)}function s(e){po(a,i,r,o,s,"throw",e)}o(void 0)}))})();var e}}customElements.define("connector-selector",ho);var bo,mo,go,vo,fo;n(1044);function yo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function wo(e){var t={sec:"[0-5]?\\d",min:"[0-5]?\\d",hour:"[01]?\\d|2[0-3]",day:"0?[1-9]|[12]\\d|3[01]",month:"[1-9]|1[012]",dayOfWeek:"[0-7]"},n=[e];e||(n=["sec","min","hour","day","month","dayOfWeek"]),n.forEach(e=>{var n=t[e],i="(?:"+n+")(?:(?:-|/|,"+("dayOfWeek"===e?"|#":"")+")(?:"+n+"))?";"dayOfWeek"===e&&(i+="(?:L)?"),"month"===e&&(i+="(?:L|W)?"),t[e]="\\?|\\*|"+i+"(?:,"+i+")*"});var i="JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC",r="(?:"+i+")(?:(?:-)(?:"+i+"))?";t.month+="|\\?|\\*|"+r+"(?:,"+r+")*";var a="(?:MON|TUE|WED|THU|FRI|SAT|SUN)(?:(?:-)(?:MON|TUE|WED|THU|FRI|SAT|SUN))?";return t.dayOfWeek+="|\\?|\\*|"+a+"(?:,"+a+")*",e?"^".concat(t[e],"$"):"^\\s*($|#|\\w+\\s*=|("+t.sec+")\\s+("+t.min+")\\s+("+t.hour+")\\s+("+t.day+")\\s+("+t.month+")\\s+("+t.dayOfWeek+")(|\\s)+)$"}class Ao extends Z.a{static get properties(){return{valueString:String,second:String,minute:String,hour:String,dayOfMonth:String,month:String,dayOfWeek:String,_tooltip:Array}}static get styles(){return[Oe.c,Object(Z.b)(bo||(bo=yo(["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n background-color: var(--main-section-background-color);\n }\n\n :host * {\n box-sizing: border-box;\n }\n :host *:focus {\n outline: none;\n }\n\n form {\n display: grid;\n width: 100%;\n height: 100%;\n padding: 1rem;\n grid-template: auto auto 1fr auto / repeat(6, 1fr);\n grid-gap: 0.5rem;\n justify-content: center;\n align-items: center;\n overflow: auto;\n }\n\n label[for='example'] {\n text-align: right;\n grid-column: 3;\n font: normal 1em var(--theme-font);\n color: var(--secondary-color);\n text-transform: capitalize;\n }\n\n #example {\n grid-column: 4 / span 3;\n width: 100%;\n height: 100%;\n font: normal 0.9em var(--theme-font);\n text-transform: capitalize;\n border-radius: var(--border-radius);\n border: var(--border-dark-color);\n }\n\n input {\n width: 100%;\n margin-top: var(--margin-default);\n padding: 5px;\n border-radius: var(--border-radius);\n border: var(--border-dark-color);\n font: normal 1em var(--theme-font);\n }\n input:focus {\n border: 1px solid var(--primary-color);\n }\n\n input:invalid {\n border: 1px solid var(--status-danger-color);\n color: var(--status-danger-color);\n }\n\n label {\n width: 100%;\n height: 100%;\n font: normal 0.8em var(--theme-font);\n color: var(--primary-color);\n }\n\n label:not([for='example']) {\n text-align: center;\n }\n\n #input-wrapper {\n grid-column: span 6;\n display: flex;\n flex-wrap: wrap;\n margin: 0 -0.25rem;\n }\n\n #input-wrapper > div {\n flex: 1;\n display: grid;\n grid-template-rows: 1fr auto;\n grid-gap: 0.5rem;\n min-width: 60px;\n max-width: 33%;\n margin: 0.25rem;\n }\n\n #tooltip {\n grid-column: span 6;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0;\n margin: auto;\n grid-auto-rows: min-content;\n align-self: center;\n align-items: center;\n }\n\n #tooltip > div {\n padding: 0.25rem 0.5rem;\n border-bottom: #ccc 1px dashed;\n font: normal 0.9em var(--theme-font);\n }\n\n #tooltip > .crontab-value {\n text-align: right;\n color: var(--secondary-color);\n }\n\n #tooltip > .crontab-description {\n text-align: left;\n color: #585858;\n }\n\n #button-wrapper {\n grid-column: 1 / span 6;\n display: flex;\n flex-wrap: wrap-reverse;\n flex-direction: row-reverse;\n margin: -0.25rem;\n }\n\n mwc-button {\n background-color: var(--secondary-color);\n border-radius: var(--button-border-radius);\n --mdc-theme-primary: #fff;\n margin: 0.25rem;\n }\n mwc-button:hover,\n mwc-button:active {\n background-color: var(--primary-color);\n }\n "])))]}render(){return Object(Z.e)(mo||(mo=yo(["\n <form\n @keydown=",'\n >\n <label for="example">','</label>\n <select id="example" @change='," .value=",'>\n <optgroup label="','">\n <option value="* * * * * *">','</option>\n <option value="0/2 * * * * *">','</option>\n <option value="0/15 * * * * *">','</option>\n <option value="0/30 * * * * *">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 * * * * *">','</option>\n <option value="0 0/2 * * * *">','</option>\n <option value="0 0/15 * * * *">','</option>\n <option value="0 0/30 * * * *">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 0 * * * *">','</option>\n <option value="0 0 0/2 * * *">','</option>\n <option value="0 0 0/12 * * *">','</option>\n <option value="0 0 10-19 * * *">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 0 0 * * *">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 0 0 * * SUN">','</option>\n <option value="0 0 0 * * 0">','</option>\n <option value="0 0 0 * * 1-5">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 0 0 1 * *">','</option>\n <option value="0 0 10 21 * *">','</option>\n </optgroup>\n <optgroup label="','">\n <option value="0 0 0 1 1 *">','</option>\n <option value="0 0 0 25 12 *">','</option>\n </optgroup>\n </select>\n <div id="input-wrapper">\n <div>\n <input\n id="second-input"\n class="second"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="second-input" class="second">','</label>\n </div>\n <div>\n <input\n id="minute-input"\n class="minute"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="minute-input" class="minute">','</label>\n </div>\n <div>\n <input\n id="hour-input"\n class="hour"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="hour-input" class="hour">','</label>\n </div>\n <div>\n <input\n id="day-of-month-input"\n class="day-of-month"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="day-of-month-input" class="day-of-month">','</label>\n </div>\n <div>\n <input\n id="month-input"\n class="month"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="month-input" class="month">','</label>\n </div>\n <div>\n <input\n id="day-of-week-input"\n class="day-of-week"\n type="text"\n .value=',"\n @input=","\n @focus=",'\n pattern="','"\n required\n />\n <label for="day-of-week-input" class="day-of-week">','</label>\n </div>\n </div>\n <div id="tooltip">\n ','\n </div>\n <div id="button-wrapper">\n <mwc-button\n icon="done"\n .label="','"\n @click=','\n ></mwc-button>\n <mwc-button\n icon="clear"\n .label="','"\n @click=',"\n ></mwc-button>\n </div>\n </form>\n "])),e=>{if("Tab"===e.key){e.stopPropagation(),e.preventDefault();var t=this.renderRoot.querySelector(":focus"),n=this.focusableElements.findIndex(e=>e==t),i=(e.shiftKey?n-1:n+1)%this.focusableElements.length;-1==i&&(i=this.focusableElements.length-1),this.focusableElements[i].focus()}else"Enter"==e.key&&(e.stopPropagation(),e.preventDefault(),this.confirm())},jt.a.t("label.examples"),e=>this.valueString=e.currentTarget.value,this.valueString,jt.a.t("label.second by second"),jt.a.t("text.every second"),jt.a.t("text.every 2 seconds"),jt.a.t("text.every 15 seconds"),jt.a.t("text.every 30 seconds"),jt.a.t("label.minute by minute"),jt.a.t("text.every minute"),jt.a.t("text.every 2 minutes"),jt.a.t("text.every 15 minutes"),jt.a.t("text.every half hour"),jt.a.t("label.hourly"),jt.a.t("text.every hour"),jt.a.t("text.every 2 hours"),jt.a.t("text.every 12 hours"),jt.a.t("text.every hour during working time"),jt.a.t("label.daily"),jt.a.t("text.every day"),jt.a.t("label.weekly"),jt.a.t("text.every sunday"),jt.a.t("text.every sunday(2)"),jt.a.t("text.every weekday"),jt.a.t("label.monthly"),jt.a.t("text.the first day of every month"),jt.a.t("text.10 am on every payday"),jt.a.t("label.yearly"),jt.a.t("text.the first day of every year"),jt.a.t("text.every christmas"),this.second||"",e=>this.second=e.currentTarget.value,e=>{this.showTooltip({type:"second"})},wo("sec"),jt.a.t("label.second"),this.minute||"",e=>this.minute=e.currentTarget.value,e=>{this.showTooltip({type:"minute"})},wo("min"),jt.a.t("label.minute"),this.hour||"",e=>this.hour=e.currentTarget.value,e=>{this.showTooltip({type:"hour"})},wo("hour"),jt.a.t("label.hour"),this.dayOfMonth||"",e=>this.dayOfMonth=e.currentTarget.value,e=>{this.showTooltip({type:"dayOfMonth"})},wo("day"),jt.a.t("label.day-of-month"),this.month||"",e=>this.month=e.currentTarget.value,e=>{this.showTooltip({type:"month"})},wo("month"),jt.a.t("label.month"),this.dayOfWeek||"",e=>this.dayOfWeek=e.currentTarget.value,e=>{this.showTooltip({type:"dayOfWeek"})},wo("dayOfWeek"),jt.a.t("label.day-of-week"),this._tooltip.map(e=>Object(Z.e)(go||(go=yo(['\n <div class="crontab-value">','</div>\n <div class="crontab-description">',"</div>\n "])),e.value,jt.a.t("text.".concat(e.description)))),jt.a.t("label.confirm"),e=>{this.confirm()},jt.a.t("label.clear"),e=>{this.dispatchEvent(new CustomEvent("crontab-changed",{bubbles:!0,composed:!0,detail:{value:""}}))})}get focusableElements(){return Array.from(this.renderRoot.querySelectorAll("select, input, mwc-button"))}connectedCallback(){super.connectedCallback(),this._tooltip=[]}firstUpdated(){this.renderRoot.querySelector("input").focus()}updated(e){if(e.has("valueString")){var t=this.valueString.split(" ");1==t.length?t=["*","*","*","*","*","*"]:5==t.length&&(t=["0"].concat(t)),this.second=t[0],this.minute=t[1],this.hour=t[2],this.dayOfMonth=t[3],this.month=t[4],this.dayOfWeek=t[5]}}showTooltip({type:e}){switch(e){case"second":case"minute":this._tooltip=[{value:"*",description:"any value"},{value:",",description:"value list separator"},{value:"-",description:"range of values"},{value:"/",description:"step values"},{value:"0-59",description:"allowed values"}];break;case"hour":this._tooltip=[{value:"*",description:"any value"},{value:",",description:"value list separator"},{value:"-",description:"range of values"},{value:"/",description:"step values"},{value:"0-23",description:"allowed values"}];break;case"dayOfMonth":this._tooltip=[{value:"*",description:"any value"},{value:",",description:"value list separator"},{value:"-",description:"range of values"},{value:"/",description:"step values"},{value:"1-31",description:"allowed values"}];break;case"month":this._tooltip=[{value:"*",description:"any value"},{value:",",description:"value list separator"},{value:"-",description:"range of values"},{value:"/",description:"step values"},{value:"1-12",description:"allowed values"},{value:"JAN-DEC",description:"alternative single values"}];break;case"dayOfWeek":this._tooltip=[{value:"*",description:"any value"},{value:",",description:"value list separator"},{value:"-",description:"range of values"},{value:"/",description:"step values"},{value:"0-6",description:"allowed values"},{value:"SUN-SAT",description:"alternative single values"}];break;default:this._tooltip=[]}}confirm(){var e=this.renderRoot.querySelector("form");e.checkValidity()?this.dispatchEvent(new CustomEvent("crontab-changed",{bubbles:!0,composed:!0,detail:{value:"".concat(this.second," ").concat(this.minute," ").concat(this.hour," ").concat(this.dayOfMonth," ").concat(this.month," ").concat(this.dayOfWeek)}})):e.reportValidity()}}function xo(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Oo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("crontab-editor-popup",Ao);class jo extends it.a{get editorTemplate(){return Object(Z.e)(vo||(vo=Oo([' <input type="text" .value='," /> "])),this.value||"")}firstUpdated(){var e,t=this;return(e=function*(){yield t.updateComplete,t.shadowRoot.addEventListener("click",e=>{e.stopPropagation(),t.showEditorPopup()}),t.showEditorPopup()},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){xo(a,i,r,o,s,"next",e)}function s(e){xo(a,i,r,o,s,"throw",e)}o(void 0)}))})()}showEditorPopup(){var e=e=>{this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:this.value,after:e,column:this.column,record:this.record,row:this.row}}))},t=Object(Y.j)(Object(Z.e)(fo||(fo=Oo(["\n <crontab-editor-popup\n .valueString=","\n @crontab-changed=","\n ></crontab-editor-popup>\n "])),this.value,n=>{e(n.detail.value),t.close()}),{backdrop:!0,title:jt.a.t("title.setting schedule"),help:"integration/ui/crontab-editor"})}}window.customElements.define("crontab-editor",jo);var ko,Eo,Ro,Mo,So,Io,No=n(1052),zo=n.n(No),Do=n(1053),To=n.n(Do),Co=n(1054),Go=n.n(Co),Po=n(945),Bo=n.n(Po);n(1129),n(1055),n(1056);function Yo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
145
- /**
146
- * @license Copyright © HatioLab Inc. All rights reserved.
147
- */class Zo extends Z.a{static get properties(){return{value:String,confirmCallback:Object}}static get styles(){return[Object(Z.b)(ko||(ko=Yo(["\n ","\n ","\n ","\n "])),Object(Z.k)(zo.a),Object(Z.k)(To.a),Object(Z.k)(Go.a)),Object(Z.b)(Eo||(Eo=Yo(["\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n .CodeMirror {\n flex: 1;\n resize: none;\n font-size: 16px;\n line-height: 20px;\n border: 0px;\n padding: 0px;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n }\n "])))]}firstUpdated(){this.editor.focus()}updated(e){e.has("value")&&(this.editor.setValue(void 0===this.value?"":String(this.value)),this.editor.refresh())}render(){return Object(Z.e)(Ro||(Ro=Yo(['\n <textarea></textarea>\n\n <div class="button-container">\n <mwc-button @click=',">","</mwc-button>\n <mwc-button @click=",">","</mwc-button>\n </div>\n "])),this.oncancel.bind(this),jt.a.t("button.cancel"),this.onconfirm.bind(this),jt.a.t("button.confirm"))}get editor(){if(!this._editor){var e=this.shadowRoot.querySelector("textarea");e&&(this._editor=Bo.a.fromTextArea(e,{value:this.value,mode:"javascript",tabSize:2,lineNumbers:!1,showCursorWhenSelecting:!0,theme:"night",autoRefresh:{delay:500}}))}return this._editor}oncancel(e){history.back()}onconfirm(e){this.confirmCallback&&this.confirmCallback(this.editor.getValue()),history.back()}}function Uo(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Lo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("json-editor",Zo);class Qo extends Z.a{static get properties(){return{value:Object,column:Object,record:Object,row:Number}}static get styles(){return Object(Z.b)(Mo||(Mo=Lo(["\n :host {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n padding: 7px 0px;\n box-sizing: border-box;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n\n font: var(--grist-object-editor-font);\n color: var(--grist-object-editor-color);\n\n justify-content: inherit;\n }\n\n span {\n display: flex;\n flex: auto;\n\n justify-content: inherit;\n }\n\n mwc-icon {\n width: 20px;\n font-size: 1.5em;\n margin-left: auto;\n }\n "])))}render(){return Object(Z.e)(So||(So=Lo([" "," "])),this.value)}firstUpdated(){var e,t=this;return(e=function*(){t.value=t.record[t.column.name],t.template=((t.column.record||{}).options||{}).template,yield t.updateComplete,t.shadowRoot.addEventListener("click",e=>{e.stopPropagation(),t.openEditor()}),t.openEditor()},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Uo(a,i,r,o,s,"next",e)}function s(e){Uo(a,i,r,o,s,"throw",e)}o(void 0)}))})()}openEditor(){this.popup&&delete this.popup;var e=this.value||"",t=this.template||Object(Z.e)(Io||(Io=Lo([" <json-editor .value="," .confirmCallback=","></json-editor> "])),e,(e=>{this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:this.value,after:e,record:this.record,column:this.column,row:this.row}}))}).bind(this));this.popup=Object(Y.j)(t,{backdrop:!0,size:"large",title:"select item"})}}customElements.define("json-grist-editor",Qo);
148
- /**
149
- * @license Copyright © HatioLab Inc. All rights reserved.
150
- */
151
- var Wo,Vo,Fo,_o,Jo,Ho,Xo,qo,Ko,$o,es={legend:"",number:0,angle:0,string:"",text:"",textarea:"",checkbox:!1,select:"",color:"#000000","solidcolor-stops":null,"gradientcolor-stops":null,"gltf-selector":"","image-selector":"",multiplecolor:null,editortable:null,imageselector:"",options:null,date:null};class ts extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{value:Object,props:Array,host:Object,propertyEditor:Object}}firstUpdated(){this.renderRoot.addEventListener("change",this._onValueChanged.bind(this))}updated(e){e.has("props")&&this._onPropsChanged(this.props),e.has("value")&&this._setValues()}stateChanged(e){this.propertyEditor=e.modeller.editors}_onPropsChanged(e){this.renderRoot.textContent="",(e||[]).forEach(e=>{var t=this.propertyEditor[e.type];if(t){var n=document.createElement(t);n.label=e.label,n.type=e.type,n.placeholder=e.placeholder,n.host=this.host,n.context=this.context,n.setAttribute("name",e.name),e.observe&&(n.observe=e.observe),n.property=e.property,n.setAttribute("property-editor",!0),this.renderRoot.appendChild(n)}else console.warn("Property Editor not defined",e.type)})}_setValues(){var e=this.value||{};Array.from(this.renderRoot.querySelectorAll("[name]")).forEach(t=>{var n=t.getAttribute("name");t.value=void 0===e[n]?es[t.type]:e[n]})}_getValues(){var e={};return Array.from(this.renderRoot.querySelectorAll("[name]")).forEach(t=>{var n=t.getAttribute("name");e[n]=void 0===t.value?es[t.type]:t.value}),e}_onValueChanged(e){e.stopPropagation();var t=e.target;t&&t.hasAttribute("property-editor")&&this.dispatchEvent(new CustomEvent("property-change",{bubbles:!0,composed:!0,detail:this._getValues()}))}}function ns(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("parameters-editor-builder",ts);class is extends Z.a{static get properties(){return{value:Object,props:Object,host:Object,context:Object,confirmCallback:Object}}static get styles(){return[Oe.c,Object(Z.b)(Wo||(Wo=ns(["\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n parameters-editor-builder {\n flex: 1;\n overflow-y: auto;\n }\n\n span {\n flex: 1;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n color: var(--primary-color);\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n }\n "])))]}render(){var e=this.props instanceof Array?this.props:[];return Object(Z.e)(Vo||(Vo=ns(["\n ",'\n\n <div class="button-container">\n <mwc-button @click=',">","</mwc-button>\n <mwc-button @click=",">","</mwc-button>\n </div>\n "])),e.length>0?Object(Z.e)(Fo||(Fo=ns(["\n <parameters-editor-builder\n .value=","\n .props=","\n .host=","\n .context=","\n @property-change=","\n >\n </parameters-editor-builder>\n "])),this.value,e,this.host,this.context,this.onchange.bind(this)):Object(Z.e)(_o||(_o=ns([' <span><i18n-msg msgid="text.no properties to set"></i18n-msg></span> ']))),this.oncancel.bind(this),jt.a.t("button.cancel"),this.onconfirm.bind(this),jt.a.t("button.confirm"))}onchange(e){for(var t in e.stopPropagation(),this.value||(this.value={}),this.value)delete this.value[t];Object.assign(this.value,e.detail)}oncancel(e){history.back()}onconfirm(e){this.confirmCallback&&this.confirmCallback(this.value?JSON.stringify(this.value):""),history.back()}}function rs(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function as(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){rs(a,i,r,o,s,"next",e)}function s(e){rs(a,i,r,o,s,"throw",e)}o(void 0)}))}}function os(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
152
- /**
153
- * @license Copyright © HatioLab Inc. All rights reserved.
154
- */customElements.define("parameters-editor-popup",is);class ss extends Z.a{static get properties(){return{value:Object,column:Object,record:Object,row:Number,field:Object}}static get styles(){return[Object(Z.b)(Jo||(Jo=os(["\n :host {\n color: black;\n\n overflow: hidden;\n text-overflow: ellipsis;\n }\n "])))]}render(){return Object(Z.e)(Ho||(Ho=os([" "," "])),this.value||"")}firstUpdated(){var e=this;return as((function*(){yield e.updateComplete,e.shadowRoot.addEventListener("click",t=>{t.stopPropagation(),e.openSelector()}),e.openSelector()}))()}openSelector(){var e=this;return as((function*(){e.popup&&delete e.popup;var{options:t}=e.column.record;"function"==typeof t&&(t=yield t.call(e,e.value,e.column,e.record,e.row,e.field));try{var n=JSON.parse(e.value)}catch(e){n={}}var{name:i,help:r,spec:a,context:o}=t,s=Object(Z.e)(Xo||(Xo=os(["\n <parameters-editor-popup\n .value=","\n .props=","\n .host=","\n .context=","\n .confirmCallback=","\n >\n </parameters-editor-popup>\n "])),n,a,e.record,o,t=>{e.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:e.value,after:t,record:e.record,column:e.column,row:e.row}}))});e.popup=Object(Y.j)(s,{backdrop:!0,size:"large",title:"".concat((null==i?void 0:i.toUpperCase())||""," ").concat(jt.a.t("field.params")),help:r})}))()}}function ls(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function cs(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){ls(a,i,r,o,s,"next",e)}function s(e){ls(a,i,r,o,s,"throw",e)}o(void 0)}))}}function ds(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}window.customElements.define("parameters-editor",ss);var ps=Object(gt.a)(qo||(qo=ds(["\n query($connectionName: String!) {\n taskTypesByConnection(connectionName: $connectionName) {\n items {\n name\n }\n }\n }\n"]))),us={name:"",value:""};class hs extends it.a{getOptions(){var e=this;return cs((function*(){var t,n,{connectionName:i=""}=e.column.record;"function"==typeof i&&(i=(yield i.call(e,e.value,e.column,e.record,e.row,e.field))||"");var a=yield r.client.query({query:ps,variables:{connectionName:i}});return(null==a||null===(t=a.data)||void 0===t||null===(n=t.taskTypesByConnection)||void 0===n?void 0:n.items)||[]}))()}firstUpdated(){var e=()=>super.firstUpdated,t=this;return cs((function*(){e().call(t);var n=yield t.getOptions();n.unshift?n.unshift(us):n=[us],t.options=n,t.requestUpdate()}))()}get editorTemplate(){var e=this.options||[us];return Object(Z.e)(Ko||(Ko=ds(["\n <select>\n ","\n </select>\n "])),e.map(e=>Object(Z.e)($o||($o=ds([" <option ?selected="," value=",">","</option> "])),e.name==this.value,e.name,e.name)))}}customElements.define("task-type-selector",hs);var bs={route:function(e){switch(e){case"connection":return n.e(48).then(n.bind(null,1390)),e;case"scenario":return Promise.all([n.e(17),n.e(49)]).then(n.bind(null,1417)),e;case"integration-monitor":return n.e(20).then(n.bind(null,1412)),e}},routes:[{tagname:"connection-page",page:"connection"},{tagname:"scenario-page",page:"scenario"},{tagname:"integration-monitor",page:"integration-monitor"}],bootstrap:function(){Object(it.e)("task-type",hs),Object(it.e)("connector",ho),Object(it.e)("connection",co),Object(it.e)("json",Qo),Object(it.e)("parameters",ss),Object(it.e)("crontab",jo),r.store.dispatch({type:nt.a,editors:{"http-headers":"property-editor-http-headers","http-parameters":"property-editor-http-parameters","http-body":"property-editor-http-body","entity-selector":"property-editor-entity-selector","scenario-step-input":"property-editor-scenario-step-input"}})}},ms=n(1091);function gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function vs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gs(Object(n),!0).forEach((function(t){fs(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ys={morendas:[]},ws=(e=ys,t)=>{switch(t.type){case ms.a:var n=t.morenda;return vs(vs({},e),{},{morendas:[...e.morendas,n]});default:return e}};var As={bootstrap:function(){r.store.addReducers({more:ws})}};var xs=n(982),Os=n(1092);function js(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ks(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?js(Object(n),!0).forEach((function(t){Es(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):js(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Es(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rs={template:[],addon:[],menus:[]};function Ms(e,t){var n=Object(K.b)(e||[]);return((t=t||[]).filter(e=>e.active).sort((e,t)=>(e.parent||"").localeCompare(t.parent||"")||e.rank-t.rank).reduce((e,t)=>{var n=e.length>0&&e[e.length-1][0].parent;return n&&n===t.parent?e[e.length-1].push(t):e.push([t]),e},[])||[]).forEach(e=>{e.forEach(e=>{var{parent:t,name:i,rank:r,type:a,value:o,icon:s}=e,l=t&&n.find(e=>e.name===t);l&&!l.menus&&(l.menus=[]),(l?l.menus:n).push({name:i,type:a,path:"page"===a?o:"board"===a?"board-viewer/".concat(o,"?title=").concat(i):"",icon:s||("page"===a?"menu":"board"===a?"dashboard":"")})})}),n}var Ss,Is,Ns=(e=Rs,t)=>{switch(t.type){case"UPDATE_MENU_TEMPLATE":return ks(ks({},e),{},{template:t.template,menus:Ms(t.template,e.addon)});case"UPDATE_ADDON_MENUS":return ks(ks({},e),{},{addon:t.addon,menus:Ms(e.template,t.addon)});default:return e}};function zs(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Ds(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Ts(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Ds(a,i,r,o,s,"next",e)}function s(e){Ds(a,i,r,o,s,"throw",e)}o(void 0)}))}}var Cs,Gs,Ps,Bs,Ys,Zs,Us,Ls,Qs,Ws,Vs={route:function(e){switch(e){case"addon-menu-setting":return n.e(50).then(n.bind(null,1391)),e}},routes:[{tagname:"addon-menu-setting",page:"addon-menu-setting"}],bootstrap:function(){r.store.addReducers({liteMenu:Ns}),Fe.a.on("profile",Ts((function*(){Object(Os.a)()}))),r.store.dispatch({type:xs.a,morenda:{icon:Object(Z.e)(Ss||(Ss=zs([" <mwc-icon>view_list</mwc-icon> "]))),name:Object(Z.e)(Is||(Is=zs([' <i18n-msg msgid="text.addon-menu management"></i18n-msg> ']))),action:()=>{Object(r.navigate)("addon-menu-setting")}}})}};function Fs(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class _s extends Z.a{static get properties(){return{_morenda:Object}}static get styles(){return[Object(Z.b)(Cs||(Cs=Fs(["\n :host {\n display: flex;\n flex-direction: column;\n padding: var(--morelet-padding);\n\n min-width: var(--morelet-min-width);\n color: var(--morelet-title-color);\n border-bottom: var(--morelet-border-bottom);\n font: var(--morelet-title-font);\n }\n\n #morelet {\n display: none;\n width: calc(100% - 18px);\n margin-top: 5px;\n padding: 5px 9px;\n border-bottom-right-radius: 7px;\n border-bottom-left-radius: 7px;\n\n border-top: var(--morelet-focus-border-top);\n background-color: var(--morelet-background-color);\n color: var(--morelet-color);\n font: var(--morelet-font);\n }\n\n #morelet[opened] {\n display: block;\n }\n [header] {\n opacity: 0.8;\n }\n [header]:hover {\n opacity: 1;\n cursor: pointer;\n }\n [icon] {\n --mdc-icon-size: 1.2em;\n vertical-align: middle;\n color: var(--morelet-icon-color);\n }\n [title] {\n text-transform: capitalize;\n }\n "])))]}render(){return Object(Z.e)(Gs||(Gs=Fs(["\n <div @click="," header>\n <span icon> "," </span>\n\n <span title>","</span>\n </div>\n\n ","\n "])),e=>this._onTitleClick(),this.morenda.icon?this.morenda.icon:Object(Z.e)(Ps||(Ps=Fs([""]))),this.morenda.name,this.morenda.template?Object(Z.e)(Bs||(Bs=Fs([' <div id="morelet">',"</div> "])),this.morenda.template):Object(Z.e)(Ys||(Ys=Fs([""]))))}_onTitleClick(){this.morenda.template?this.shadowRoot.querySelector("#morelet").toggleAttribute("opened"):this.morenda.action&&this.morenda.action()}}function Js(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("more-let",_s);class Hs extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{_morendas:Array}}static get styles(){return[Object(Z.b)(Zs||(Zs=Js(["\n :host {\n display: block;\n background-color: var(--more-panel-background-color);\n\n height: 100%;\n min-width: var(--more-panel-min-width);\n overflow-y: auto;\n user-select: none;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n @media only screen and (max-width: 460px) {\n :host {\n min-width: 90vw;\n }\n }\n "])))]}render(){var e=this._morendas;return e=[...e.filter(e=>e.position==Y.b.FRONT_END),...e.filter(e=>e.position==Y.b.FRONT),...e.filter(e=>!e.position||e.position==Y.b.CENTER),...e.filter(e=>e.position==Y.b.REAR),...e.filter(e=>e.position==Y.b.REAR_END)],Object(Z.e)(Us||(Us=Js([" "," "])),(e||[]).map(e=>Object(Z.e)(Ls||(Ls=Js([" <more-let .morenda=","></more-let> "])),e)))}stateChanged(e){this._morendas=e.more.morendas}}function Xs(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("more-panel",Hs);var qs={bootstrap:function(){Object(Y.f)({name:"more",viewpart:{show:!1,hovering:"edge",template:Object(B.g)(Qs||(Qs=Xs([" <more-panel></more-panel> "])))},position:Y.e.ASIDEBAR}),r.store.dispatch({type:zi.a,tool:{name:"more",template:Object(B.g)(Ws||(Ws=Xs(["\n <mwc-icon\n @click=","\n >more_vert</mwc-icon\n >\n "])),e=>Object(Y.k)("more",{backdrop:!0})),position:Y.b.REAR_END}})}},Ks=n(973),$s={badge:0,history:[]};function el(e){return e.filter(e=>!e.confirmed).length}var tl=(e=$s,t)=>{switch(t.type){case Ks.a:var n=t.history;return{badge:el(n),history:n};default:return e}};function nl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function il(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nl(Object(n),!0).forEach((function(t){rl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function al(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ol(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){al(a,i,r,o,s,"next",e)}function s(e){al(a,i,r,o,s,"throw",e)}o(void 0)}))}}function sl(){return(sl=ol((function*(){var e=this;function t(e){return n.apply(this,arguments)}function n(){return(n=ol((function*(e){r.store.dispatch(function(){var t=ol((function*(t){e&&(yield r.notificationStore.add(e),yield r.notificationStore.limit());var n=yield r.notificationStore.getAll();t({type:Ks.a,history:[...n]})}));return function(e){return t.apply(this,arguments)}}())}))).apply(this,arguments)}r.store.addReducers({notification:tl}),Fe.a.on("presignout",ol((function*(){try{yield Object(Ks.f)(),yield r.notificationStore.clear()}catch(e){console.warn(e)}}))),Fe.a.on("profile",function(){var n=ol((function*({credential:n}){try{yield Object(Ks.e)()}catch(e){console.warn(e)}e.graphqlSubscription=yield Object(r.subscribe)({query:"\n subscription notification($subjects: [String!]) {\n notification(subjects: $subjects) {\n subject\n type\n title\n body\n url\n image\n timestamp\n }\n }\n ",variables:{subjects:["info","warn","error","reload"]}},{next({data:e}){var{notification:n}=e||{};t(il({timestamp:Date.now()},n))}})}));return function(e){return n.apply(this,arguments)}}()),new BroadcastChannel("notification").addEventListener("message",function(){var e=ol((function*({data:e}){var{type:n}=e||{};switch(n){case"notificationclick":var{action:i,notification:a}=e;a.url&&Object(r.route)(a.url);break;case"show-reload-snackbar":Object(Y.h)({level:"info",message:jt.a.t("text.the application has been updated"),option:{action:{label:jt.a.t("button.reload"),callback:()=>window.location.reload()},timer:-1}});break;case"notification":default:t()}}));return function(t){return e.apply(this,arguments)}}()),document.addEventListener("notify",e=>{var{message:n,level:i,ex:r="",option:a={}}=e.detail,o=n.split(" .\n")[0];"error"===i&&t({timestamp:Date.now(),type:"ERROR",title:o,body:r?r.message:n})}),yield t()}))).apply(this,arguments)}var ll,cl,dl,pl,ul,hl={bootstrap:function(){return sl.apply(this,arguments)}};function bl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ml(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gl(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function vl(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class fl extends(Object(U.a)(r.store)(Z.a)){static get properties(){return{_context:Object,_printers:Array}}static get styles(){return[Or]}render(){var e=[],t=this._context.printable||{},n=t.accept instanceof Array?t.accept:"string"==typeof t.accept?[t.accept]:null;return this._printers.forEach(t=>{n&&-1==n.indexOf(t.type)||e.push(t)}),this._staticPrinters.forEach(t=>{n&&-1==n.indexOf(t.type)||e.push(t)}),Object(Z.e)(ll||(ll=vl(["\n <ul>\n ","\n </ul>\n "])),e&&0!=e.length?e.sort((e,t)=>{e.name,t.name}).map((e,t)=>Object(Z.e)(dl||(dl=vl(['\n <label for="','">\n <li @click=',">\n <mwc-icon>print</mwc-icon>\n <span>"," (",")</span>\n </li>\n </label>\n "])),t,t=>this._onPrintOut(e),e.name,e.type)):Object(Z.e)(cl||(cl=vl(["\n <div>No printer is found.</div>\n "]))))}stateChanged(e){this._printers=e.print.printers,this._staticPrinters=e.print.staticPrinters,this._context=e.route.context}_onPrintOut(e){var t,n=this;return(t=function*(){if(e){var t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bl(Object(n),!0).forEach((function(t){ml(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e);t.name=e.txtRecord?e.txtRecord.name:e.name,r.store.dispatch({type:Y.c,name:"context-toolbar-overlay",override:{show:!1}}),yield n.updateComplete;try{var i=yield function(e,t){return _.apply(this,arguments)}(t,n._context.printable);document.dispatchEvent(new CustomEvent("notify",{detail:{level:"info",message:jt.a.t("text.printed",{result:i})}}))}catch(e){document.dispatchEvent(new CustomEvent("notify",{detail:{level:"error",message:e,e:e}}))}n.dispatchEvent(new CustomEvent("close-overlay",{bubbles:!0,composed:!0}))}},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){gl(a,i,r,o,s,"next",e)}function s(e){gl(a,i,r,o,s,"throw",e)}o(void 0)}))})()}}function yl(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function wl(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){yl(a,i,r,o,s,"next",e)}function s(e){yl(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Al(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("print-context-template",fl);var xl={bootstrap:function(){function e(){return(e=wl((function*(){var e=yield fetch("/printers");return(yield e.json()).printers}))).apply(this,arguments)}r.store.dispatch({type:"APPEND_CONTEXT_TOOL",tool:{position:Y.b.FRONT,template:Object(B.g)(ul||(ul=Al(["\n <mwc-icon\n @click=","\n >print</mwc-icon\n >\n "])),function(){var t=wl((function*(t){Object(Y.i)("context-toolbar-overlay",{template:Object(B.g)(pl||(pl=Al(["\n <print-context-template></print-context-template>\n "])))});var n=yield function(){return e.apply(this,arguments)}();r.store.dispatch({type:"UPDATE_PRINTER",printer:n})}));return function(e){return t.apply(this,arguments)}}()),context:"printable"}})}};var Ol,jl,kl,El,Rl={bootstrap:function(){}};function Ml(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Sl={route:function(e){switch(e){case"profile":return n.e(13).then(n.bind(null,1392)),e;case"appliance-register":return n.e(36).then(n.bind(null,1393)),e;case"application":return n.e(37).then(n.bind(null,1394)),e;case"applications":return n.e(38).then(n.bind(null,1395)),e;case"application-register":return n.e(39).then(n.bind(null,1396)),e;case"app-bindings":return n.e(34).then(n.bind(null,1397)),e;case"app-binding":return n.e(18).then(n.bind(null,1398)),e;case"appliance-home":return n.e(35).then(n.bind(null,1399)),e;case"appliance":return n.e(19).then(n.bind(null,1400)),e;case"roles":return n.e(23).then(n.bind(null,1413)),e;case"users":return n.e(24).then(n.bind(null,1420)),e;case"partners":return n.e(22).then(n.bind(null,1414)),e;case"domains":return n.e(40).then(n.bind(null,1421)),e}},routes:[{tagname:"auth-profile",page:"profile"},{tagname:"application-page",page:"application"},{tagname:"applications-page",page:"applications"},{tagname:"application-register",page:"application-register"},{tagname:"app-bindings-page",page:"app-bindings"},{tagname:"app-binding-page",page:"app-binding"},{tagname:"appliance-register",page:"appliance-register"},{tagname:"appliance-home",page:"appliance-home"},{tagname:"appliance-page",page:"appliance"},{tagname:"role-management",page:"roles"},{tagname:"user-management",page:"users"},{tagname:"partner-management",page:"partners"},{tagname:"domain-management",page:"domains"}],bootstrap:function(){r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(Ol||(Ol=Ml([" <mwc-icon>account_circle</mwc-icon> "]))),name:Object(B.g)(jl||(jl=Ml([' <i18n-msg msgid="text.auth profile"></i18n-msg> ']))),position:Y.b.FRONT_END,action:()=>{Object(r.navigate)("profile")}}}),r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(kl||(kl=Ml([" <mwc-icon>exit_to_app</mwc-icon> "]))),name:Object(B.g)(El||(El=Ml([' <i18n-msg msgid="field.sign out"></i18n-msg> ']))),position:Y.b.FRONT_END,action:()=>{Fe.a.signout()}}}),Fe.a.profile()}};var Il,Nl={bootstrap:function(){},route:function(e){switch(e){case"search-page":return n.e(45).then(n.bind(null,1401)),e}},routes:[{tagname:"search-page",page:"search-page"}]};function zl(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Dl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Tl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dl(Object(n),!0).forEach((function(t){Cl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Cl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gl(e){var t=e.currentTarget.files[0],n=t.name.split(".").pop(),i=new FileReader;i.onload=function(e){var t=e.target.result,i=r.store.getState();r.store.dispatch({type:"IMPORT",importable:Tl({extension:n},i.route.context.importable),data:t})},"xlsx"===n?i.readAsArrayBuffer(t):i.readAsBinaryString(t)}var Pl={bootstrap:function(){r.store.dispatch({type:"APPEND_CONTEXT_TOOL",tool:{position:Y.b.FRONT,template:Object(B.g)(Il||(Il=zl(['\n <mwc-icon\n @click="','"\n >open_in_browser</mwc-icon\n >\n '])),()=>{!function(){var e=r.store.getState();if(e.importing&&e.importing.extensions&&0!==Object.keys(e.importing.extensions).length){var t=Object.keys(e.importing.extensions).map(e=>".".concat(e)),n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("accept",t),n.hidden=!0,n.addEventListener("change",Gl),document.body.appendChild(n),n.click()}}()}),context:"importable"}})}};function Bl(e){var t=e.split("\n"),n=t.splice(0,1);n=n[0].split(",");var i=[];return t.forEach(e=>{var t=e.split(","),r={};t.map((e,t)=>(r[n[t]]=e,r)),i.push(r)}),i}var Yl={bootstrap:function(){r.store.dispatch({type:"UPDATE_EXTRENSION",extensions:{csv:{import:Bl}}})}};function Zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Ul(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zl(Object(n),!0).forEach((function(t){Ll(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ll(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ql={menus:[],routingTypes:{},useRoleByMenusManagementMenu:!1},Wl=(e=Ql,t)=>{switch(t.type){case"UPDATE_MENU":return Ul(Ul({},e),{},{menus:t.menus});case"ADD_ROUTING_TYPE":return Ul(Ul({},e),{},{routingTypes:Ul(Ul({},e.routingTypes),{},{[t.routingType]:t.config})});case"UPDATE_MENU_PROVIDER":return Ul(Ul({},e),{},{provider:t.provider});case"USE_ROLE_BY_MENUS_MANAGEMENT":return Ul(Ul({},e),{},{useRoleByMenusManagementMenu:!0});default:return e}};var Vl={bootstrap:function(){r.store.addReducers({menu:Wl})}};var Fl,_l={bootstrap:function(){}};var Jl,Hl,Xl,ql,Kl,$l,ec,tc,nc,ic,rc,ac=(e,t,n,i,r)=>{if(!e)return"";var a,o,{nameField:s="name",descriptionField:l="description"}=t.record.options||{};return a="function"==typeof s?s(e):e[s],o="function"==typeof l?l(e):e[l]&&"(".concat(e[l],")"),Object(B.g)(Fl||(Fl=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n ","","\n "])),a||"",o||"")};function oc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function sc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oc(Object(n),!0).forEach((function(t){lc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cc(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function dc(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){cc(a,i,r,o,s,"next",e)}function s(e){cc(a,i,r,o,s,"throw",e)}o(void 0)}))}}function pc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class uc extends Z.a{static get properties(){return{value:String,searchFields:Array,config:Object,data:Object,queryName:String,select:Array,list:Object,basicArgs:Object,valueField:String,confirmCallback:Object,selectedRecords:Array}}static get styles(){return[Ia.a,Object(Z.b)(Jl||(Jl=pc(["\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n data-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n }\n\n form {\n position: relative;\n }\n\n [search] {\n position: absolute;\n right: 0;\n }\n "])))]}render(){var e=this;return Object(Z.e)(Hl||(Hl=pc(['\n <search-form\n id="search-form"\n @keypress="','"\n @submit="','"\n .fields="','"\n ></search-form>\n\n <data-grist\n .mode=',"\n .config=","\n .data=",'\n .fetchHandler="','"\n .selectedRecords=','\n ></data-grist>\n\n <div class="button-container">\n <mwc-button @click=',">","</mwc-button>\n <mwc-button @click=",">","</mwc-button>\n </div>\n "])),function(){var t=dc((function*(t){13===t.keyCode&&(e.data=yield e.grist.fetch())}));return function(e){return t.apply(this,arguments)}}(),function(){var t=dc((function*(t){return e.data=yield e.grist.fetch()}));return function(e){return t.apply(this,arguments)}}(),this.searchFields,Object(K.j)()?"LIST":"GRID",this.config,this.data,this.fetchHandler.bind(this),this.selectedRecords,this.oncancel.bind(this),jt.a.t("button.cancel"),this.onconfirm.bind(this),jt.a.t("button.confirm"))}get grist(){return this.shadowRoot.querySelector("data-grist")}oncancel(e){history.back()}onconfirm(e){this.confirmCallback&&this.confirmCallback(this.selected),history.back()}fetchHandler({page:e,limit:t,sorters:n=[]}){var i=this;return dc((function*(){var a=yield r.client.query({query:Object(gt.a)(Xl||(Xl=pc(["\n query {\n "," (",") {\n ","\n }\n }\n "])),i.queryName,K.g.buildArgs(yield i._buildConditions(e,t,n)),i.getSelectFields()),context:Object(r.gqlContext)()});if(!a.errors)return{records:a.data[i.queryName].items.map(e=>{var t;return t=i.valueField&&"function"==typeof i.valueField?i.valueField(e):i.valueField?e[i.valueField]:e.id,i.value&&i.value===t&&(i.selectedRecords=[e],e.__selected__=!0),e}),total:a.data[i.queryName].total,limit:t,page:e}}))()}firstUpdated(){var e=this;return dc((function*(){if(e.config={columns:[{type:"gutter",gutterName:"sequence"},{type:"gutter",gutterName:"row-selector",multiple:!1}],rows:{selectable:{multiple:!1},handlers:{click:"select-row",dblclick:(t,n,i,r,a,o)=>{e.onconfirm()}},appendable:!1}},e.select&&e.select.length>0){var t=e.select.filter(e=>!e.hidden&&!e.ignoreCondition);t=e.list&&e.list.fields&&e.list.fields.length>0?t.filter(t=>e.list.fields.indexOf(t.name)>=0):t.slice(0,4),e.searchFields=t.map(e=>{var t=e.type&&e.type.toLowerCase()||"string";return{label:e.header||jt.a.t("field.".concat(e.name)),name:e.name,type:"string"===t?"text":["integer","float"].indexOf(t)>=0?"number":"boolean"===t?"checkbox":t,queryName:e.queryName,props:"string"===t?{searchOper:"i_like"}:"object"===t?{searchOper:"in"}:{searchOper:"eq"},attrs:"boolean"===t?["indeterminated"]:[]}}),e.config=sc(sc({},e.config),{},{columns:[...e.config.columns,...e.select.map(e=>sc(sc({},e),{},{type:e.type||"string",width:e.width||160,header:e.header||jt.a.t("field.".concat(e.name))}))]})}else e.searchFields=[{label:jt.a.t("field.name"),name:"name",type:"text",props:{searchOper:"i_like"}},{label:jt.a.t("field.description"),name:"description",type:"text",props:{searchOper:"i_like"}}],e.config=sc(sc({},e.config),{},{columns:[...e.config.columns,{type:"string",name:"id",header:jt.a.t("field.id"),hidden:!0},{type:"string",name:"name",header:jt.a.t("field.name"),record:{align:"left"},sortable:!0,width:160},{type:"string",name:"description",header:jt.a.t("field.description"),record:{align:"left"},sortable:!0,width:300}]});e.config=sc(sc({},e.config),{},{list:sc(sc({},e.list),{},{fields:e.list&&e.list.fields&&e.list.fields.length>0?e.list.fields:e.config.columns.filter(e=>"gutter"!==e.type).slice(0,3).map(e=>e.name)})}),yield e.updateComplete,e.grist&&e.grist.focus()}))()}getSelectFields(){return this.select&&this.select.length>0?"items {\n ".concat(this.select.map(e=>"object"===e.type?"".concat(e.name," { ").concat(e.subFields&&e.subFields.length>0?e.subFields.join(" "):"id name description"," }"):"".concat(e.name)),"\n }\n total"):"\n items {\n id\n name\n description\n }\n total\n "}_buildConditions(e,t,n){var i=this;return dc((function*(){var r=sc({filters:[]},i.basicArgs);return r.filters=[...r.filters,...yield i.searchForm.getQueryFilters()],r.pagination={page:e,limit:t},r.sortings=n,r}))()}get searchForm(){return this.shadowRoot.querySelector("search-form")}get selected(){var e=this.shadowRoot.querySelector("data-grist").selected;return e&&e.length>0?e[0]:void 0}}function hc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function bc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hc(Object(n),!0).forEach((function(t){mc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gc(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function vc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("object-selector",uc);class fc extends Z.a{static get properties(){return{value:Object,column:Object,record:Object,row:Number}}static get styles(){return Object(Z.b)(ql||(ql=vc(["\n :host {\n display: flex;\n flex-flow: row nowrap;\n\n padding: 7px 0px;\n box-sizing: border-box;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n\n font: var(--grist-object-editor-font);\n color: var(--grist-object-editor-color);\n justify-content: inherit;\n }\n\n span {\n display: flex;\n flex: auto;\n\n justify-content: inherit;\n }\n\n mwc-icon {\n width: 20px;\n font-size: 1.5em;\n margin-left: auto;\n }\n "])))}render(){var e,t,n=this.value||{},{nameField:i="name",descriptionField:r="description"}=this.column.record.options||{};return e="function"==typeof i?i(n):n[i],t="function"==typeof r?r(n):n[r]&&"(".concat(n[r],")"),Object(Z.e)(Kl||(Kl=vc(["\n ","\n <mwc-icon>arrow_drop_down</mwc-icon>\n "])),n?Object(Z.e)(ec||(ec=vc([" <span>","","</span> "])),e||"",t||""):Object(Z.e)($l||($l=vc([""]))))}firstUpdated(){var e,t=this;return(e=function*(){t.value=t.record[t.column.name],t.template=((t.column.record||{}).options||{}).template,yield t.updateComplete,t.shadowRoot.addEventListener("click",e=>{e.stopPropagation(),t.openSelector()})},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){gc(a,i,r,o,s,"next",e)}function s(e){gc(a,i,r,o,s,"throw",e)}o(void 0)}))})()}openSelector(){this.popup&&delete this.popup;var e,t=this.value||{},n=this.column.record.options.valueField;e="function"==typeof n?n(t):n?t[n]:t.id;var i=this.template||Object(Z.e)(tc||(tc=vc(["\n <object-selector\n .value=","\n .confirmCallback=","\n .queryName=","\n .select=","\n .list=","\n .basicArgs=","\n .valueField=","\n ></object-selector>\n "])),e,(e=>{var{idField:t="id",nameField:n="name",descriptionField:i="description"}=this.column.record.options||{};this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:this.value,after:bc(bc({},(this.column.record.options.select||[]).map(e=>e.name).reduce((t,n)=>bc(bc({},t),{},{[n]:e[n]}),{})),{},{[t]:e[t],[n]:e[n],[i]:e[i]}),record:this.record,column:this.column,row:this.row}}))}).bind(this),this.column.record.options.queryName,this.column.record.options.select,this.column.record.options.list,this.column.record.options.basicArgs,this.column.record.options.valueField);this.popup=Object(Y.j)(i,{backdrop:!0,size:"large",title:jt.a.t("title.select_item")})}}function yc(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function wc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("object-editor",fc);var Ac=e=>Object(gt.a)(nc||(nc=wc(['\n{\n commonCode(name: "','") {\n details {\n name\n description\n rank\n }\n }\n}\n'])),e);class xc extends it.a{firstUpdated(){var e,t=()=>super.firstUpdated,n=this;return(e=function*(){t().call(n);var{codeName:e,codes:i}=n.column.record||{};if(!i&&e){var a=yield r.client.query({query:Ac(e),context:Object(r.gqlContext)()}),o=a&&a.data&&a.data.commonCode;o&&(n.column.record.codes=[{name:"",description:""}].concat(o.details.sort((function(e,t){return e.rank-t.rank}))),n.requestUpdate())}},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){yc(a,i,r,o,s,"next",e)}function s(e){yc(a,i,r,o,s,"throw",e)}o(void 0)}))})()}get editorTemplate(){var{codes:e}=this.column.record||{};return Object(Z.e)(ic||(ic=wc(["\n <select>\n ","\n </select>\n "])),(e||[""]).map(e=>Object(Z.e)(rc||(rc=wc(["\n <option ?selected="," value=",">\n ","","\n </option>\n "])),e.name==this.value,e.name,e.name,e.description?" - ".concat(e.description):"")))}}customElements.define("code-editor",xc);var Oc,jc,kc={route:function(e){switch(e){case"resource":return n.e(56).then(n.bind(null,1422)),e}},routes:[{tagname:"resource-ui",page:"resource"}],bootstrap:function(){var e;Object(it.f)("object",ac),Object(it.e)("object",fc),Object(it.f)("code",it.b),Object(it.e)("code",xc),r.store.dispatch({type:"ADD_ROUTING_TYPE",routingType:"RESOURCE",config:{page:"resource",icon:e}})}};function Ec(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Rc,Mc,Sc={route:function(e){switch(e){case"setting":return n.e(59).then(n.bind(null,1402)),e;case"settings":return n.e(58).then(n.bind(null,1403)),e;case"partner_settings":return n.e(57).then(n.bind(null,1423)),e}},routes:[{tagname:"setting-page",page:"setting"},{tagname:"setting-list",page:"settings"},{tagname:"partner-setting-list",page:"partner_settings"}],bootstrap:function(){r.store.dispatch({type:xs.a,morenda:{icon:Object(Z.e)(Oc||(Oc=Ec(["\n <mwc-icon>settings</mwc-icon>\n "]))),name:Object(Z.e)(jc||(jc=Ec(['\n <i18n-msg msgid="label.setting"></i18n-msg>\n ']))),action:()=>{Object(r.navigate)("setting")}}})}};function Ic(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Nc,zc,Dc,Tc,Cc,Gc,Pc,Bc={route:function(e){switch(e){case"system":return n.e(61).then(n.bind(null,1418)),e}},routes:[{tagname:"system-info",page:"system"}],bootstrap:function(){r.store.dispatch({type:xs.a,morenda:{icon:Object(Z.e)(Rc||(Rc=Ic([" <mwc-icon>info</mwc-icon> "]))),name:Object(Z.e)(Mc||(Mc=Ic([' <i18n-msg msgid="label.about-system"></i18n-msg> ']))),position:Y.b.REAR_END,action:()=>{Object(r.navigate)("system")}}})}},Yc=n(1015),Zc=(n(1121),n(1213),n(1215));function Uc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Lc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qc(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Wc(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Qc(a,i,r,o,s,"next",e)}function s(e){Qc(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Vc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Fc extends Z.a{static get properties(){return{value:String,config:Object,data:Object,queryName:String,basicArgs:Object,confirmCallback:Object,selectedRecords:Array}}static get styles(){return[Ia.a,Object(Z.b)(Nc||(Nc=Vc(["\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n data-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n }\n\n form {\n position: relative;\n }\n\n [search] {\n position: absolute;\n right: 0;\n }\n "])))]}get context(){return{title:jt.a.t("title.confirm_arrival_notice")}}render(){var e=this;return Object(Z.e)(zc||(zc=Vc(['\n <form\n class="multi-column-form"\n id="search-form"\n @keypress=',"\n >\n <fieldset>\n <label>",'</label>\n <input name="name" />\n\n <label>','</label>\n <input name="description" />\n </fieldset>\n\n <mwc-icon\n search\n @click="','}"\n >search</mwc-icon\n >\n </form>\n\n <data-grist\n .mode=',"\n .config=","\n .fetchHandler=","\n .selectedRecords=",'\n ></data-grist>\n\n <div class="button-container">\n <mwc-button @click=',">","</mwc-button>\n <mwc-button @click=",">","</mwc-button>\n </div>\n "])),function(){var t=Wc((function*(t){13===t.keyCode&&(e.data=yield e.getData())}));return function(e){return t.apply(this,arguments)}}(),jt.a.t("field.name"),jt.a.t("field.description"),Wc((function*(){e.data=yield e.getData()})),Object(K.j)()?"LIST":"GRID",this.config,this.fetchHandler.bind(this),this.selectedRecords,this.oncancel.bind(this),jt.a.t("button.cancel"),this.onconfirm.bind(this),jt.a.t("button.confirm"))}oncancel(e){history.back()}onconfirm(e){this.confirmCallback&&this.confirmCallback(this.selected),history.back()}firstUpdated(){var e=this;return Wc((function*(){e.config={columns:[{type:"gutter",gutterName:"sequence"},{type:"gutter",gutterName:"row-selector",multiple:!1},{type:"string",name:"id",header:jt.a.t("field.id"),hidden:!0},{type:"string",name:"name",header:jt.a.t("field.name"),record:{align:"left"},sortable:!0,width:160},{type:"string",name:"description",header:jt.a.t("field.description"),record:{align:"left"},sortable:!0,width:300}],rows:{selectable:{multiple:!1},handlers:{click:"select-row"}},pagination:{infinite:!0}},yield e.updateComplete;var t=e.shadowRoot.querySelector("data-grist");yield t.fetch();var n=t.data.records.find(t=>e.value==t.id);n&&(e.selectedRecords=[n]),yield e.updateComplete,t.focus()}))()}fetchHandler({page:e,limit:t,sorters:n=[]}){return Wc((function*(){var n=(e-1)*t;return{total:3401,records:Array(t*e>3401?3401%t:t).fill().map((e,t)=>({id:n+t,name:t%2?"HatioSEA":"HatioLAB",description:t%2?"말레이시아 세티아알람":"경기도 성남시"}))}}))()}_buildConditions(){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uc(Object(n),!0).forEach((function(t){Lc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({filters:[]},this.basicArgs);return e.filters=[...e.filters,...this.serializeFormData()],e}serializeFormData(){return Array.from(this.shadowRoot.querySelectorAll("#search-form > input")).filter(e=>e.value).map(e=>({name:e.name,operator:"like",value:e.value}))}get selected(){var e=this.shadowRoot.querySelector("data-grist").selected;return e&&e.length>0?e[0]:void 0}}function _c(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Jc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("id-selector",Fc);class Hc extends Z.a{static get properties(){return{value:Object,column:Object,record:Object,row:Number}}static get styles(){return Object(Z.b)(Dc||(Dc=Jc(["\n :host {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n padding: 7px 0px;\n box-sizing: border-box;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n\n font: var(--grist-object-editor-font);\n color: var(--grist-object-editor-color);\n\n justify-content: inherit;\n }\n\n span {\n display: flex;\n flex: auto;\n\n justify-content: inherit;\n }\n\n mwc-icon {\n width: 20px;\n font-size: 1.5em;\n margin-left: auto;\n }\n "])))}render(){var{nameField:e="name",descriptionField:t="description"}=this.column.record.options||{},n=this.value;return Object(Z.e)(Tc||(Tc=Jc(["\n ","\n <mwc-icon>arrow_drop_down</mwc-icon>\n "])),n?Object(Z.e)(Gc||(Gc=Jc(["\n <span>"," (",")</span>\n "])),n[e],n[t]):Object(Z.e)(Cc||(Cc=Jc([""]))))}firstUpdated(){var e,t=this;return(e=function*(){t.value=t.record[t.column.name],t.template=((t.column.record||{}).options||{}).template,yield t.updateComplete,t.shadowRoot.addEventListener("click",e=>{e.stopPropagation(),t.openSelector()}),t.openSelector()},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){_c(a,i,r,o,s,"next",e)}function s(e){_c(a,i,r,o,s,"throw",e)}o(void 0)}))})()}openSelector(){this.popup&&delete this.popup;var e=this.value||{},t=this.template||Object(Z.e)(Pc||(Pc=Jc(["\n <id-selector\n .value=","\n .confirmCallback=","\n .queryName=","\n .basicArgs=","\n ></id-selector>\n "])),e.id,(e=>{var{idField:t="id",nameField:n="name",descriptionField:i="description"}=this.column.record.options||{};this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:this.value,after:{[t]:e[t],[n]:e[n],[i]:e[i]},record:this.record,column:this.column,row:this.row}}))}).bind(this),this.column.record.options.queryName,this.column.record.options.basicArgs);this.popup=Object(Y.j)(t,{backdrop:!0,size:"large",title:"select item"})}}customElements.define("id-editor",Hc);var Xc,qc,Kc,$c,ed,td,nd=n(1323),id=n.n(nd);function rd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class ad extends Z.a{static get properties(){return{bcid:String,bcWidth:Number,bcheight:Number,bcScale:Number,value:String,validity:Boolean,padding:Number}}static get styles(){return[Object(Z.b)(Xc||(Xc=rd(["\n :host {\n display: flex;\n align-items: center;\n\n position: relative;\n }\n\n canvas {\n width: 100%;\n height: 100px;\n }\n\n [dimmer] {\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-color: rgba(255, 0, 0, 0.5);\n }\n "])))]}render(){return Object(Z.e)(qc||(qc=rd(["\n <canvas></canvas>\n\n ","\n "])),this.value&&this.validity?Object(Z.e)($c||($c=rd([""]))):Object(Z.e)(Kc||(Kc=rd([" <div dimmer></div> "]))))}constructor(){super(),this.addEventListener("click",this._downloadQR)}_downloadQR(){if(this.value&&""!=this.value){var e=document.createElement("a"),t=this.shadowRoot.querySelector("canvas"),n={bcid:this.bcid||"code128",height:this.bcHeight||30,width:this.bcHeight||30,padding:this.padding||5,scale:this.bcScale||3,text:this.value||"12345678990",textalign:"center",backgroundcolor:"ffffff"};t=id.a.toCanvas(t,n),e.download="".concat(this.value)+"-barcode.png",e.href=t.toDataURL(),e.click(),id.a.toCanvas(t,{bcid:this.bcid||"code128",height:this.bcHeight||20,scale:this.bcScale||3,text:this.value||"12345678990",textalign:"center"})}}updated(e){var t={bcid:this.bcid||"code128",height:this.bcHeight||20,scale:this.bcScale||3,text:this.value||"12345678990",textalign:"center"},n=this.shadowRoot.querySelector("canvas");try{id.a.toCanvas(n,t),this.validity=!0}catch(e){console.error(e),this.validity=!1}}}function od(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("barcode-tag",ad);class sd extends Z.a{static get properties(){return{bcid:String,bcWidth:Number,bcheight:Number,bcScale:Number,value:String}}static get styles(){return[Object(Z.b)(ed||(ed=od(["\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n padding: initial;\n border: 0;\n }\n\n :host * {\n align-self: stretch;\n }\n\n input {\n margin: 5px 0;\n }\n\n barcode-tag {\n margin: 5px 0;\n }\n "])))]}render(){return Object(Z.e)(td||(td=od(['\n <input type="text" @change='," />\n <barcode-tag\n .bcid=","\n .value=","\n .bcWidth=","\n .bcHeight=","\n .bcScale=","\n ></barcode-tag>\n "])),this.onchange.bind(this),this.bcid,this.value,this.bcWidth,this.bcHeight,this.bcScale)}onchange(e){this.value=e.target.value}}customElements.define("barcode-input",sd);var ld,cd,dd="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTYzOEVEQ0JENTlBMTFFOUJBMTJEODVGNzZDMTcwRTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTYzOEVEQ0NENTlBMTFFOUJBMTJEODVGNzZDMTcwRTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNjM4RURDOUQ1OUExMUU5QkExMkQ4NUY3NkMxNzBFOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFNjM4RURDQUQ1OUExMUU5QkExMkQ4NUY3NkMxNzBFOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pueaa/0AAAEXSURBVHja7FaxCsIwEG2kUOm36ODg4D8UHPyeTv0et/oNDg4OSr7DSSgI9Z1cwnG0arFpFg9ek16Se7nkLolp2zaJISl9jDFUFsACyEiHCZVjEMB2xdUGuAI1bD8MeYzGLRQ34ATcmVgOTrRuALGr5sAGmMPOYcbKpSTtGfirkO0jsKIfR5wFJpXkmSTWYkVpeYktT8aKiVn3r/WitL3BpQNpbE9VbJTvPA4uf+LJxLiNL/bJJGdnvUtMVI9fod5xFMrc9XVZ9rXrvjqPXZ9oHqc6yQMck50XzOxThxCk8fOYLmtaYofRc1bY9g8DXobqm+VxETkEHVLJqG74hRB6v3Pm8sQXYB2Y3D19zv7IjPbYiyFPAQYAZv7GTaxFZHcAAAAASUVORK5CYII=";function pd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class ud extends Z.a{static get properties(){return{name:{attribute:!0},value:String}}static get styles(){return[Object(Z.b)(ld||(ld=pd(["\n :host {\n display: flex;\n align-items: center;\n border: none;\n overflow: hidden;\n background-color: #fff;\n\n padding: var(--custom-input-barcode-field-padding) !important;\n }\n\n * {\n align-self: stretch;\n }\n\n *:focus {\n outline: none;\n }\n\n input {\n flex: 1 !important;\n border: none;\n font: var(--custom-input-barcode-field-font);\n width: 10px;\n flex-grow: 1;\n }\n\n #scan-button {\n width: 30px;\n height: 24px;\n border: none;\n background-repeat: no-repeat;\n background-position: center;\n background-image: var(--barcodescan-input-button-icon);\n }\n "])))]}connectedCallback(){super.connectedCallback(),this._onBarcodeRespond=e=>{var{value:t,responder:n}=e.detail;n==this.name&&(this.value=t,this.requestUpdate())},this._onFocusIn=e=>{window.addEventListener("barcode-respond",this._onBarcodeRespond)},this._onFocusOut=e=>{window.removeEventListener("barcode-respond",this._onBarcodeRespond)},this.renderRoot.addEventListener("focusin",this._onFocusIn),this.renderRoot.addEventListener("focusout",this._onFocusOut)}disconnectedCallback(){super.disconnectedCallback(),this._onBarcodeRespond&&(window.removeEventListener("barcode-respond",this._onBarcodeRespond),this._onBarcodeRespond=null),this._onFocusIn&&(this.renderRoot.removeEventListener("focusin",this._onFocusIn),this._onFocusIn=null),this._onFocusOut&&(this.renderRoot.removeEventListener("focusout",this._onFocusOut),this._onFocusOut=null)}render(){return this.style.setProperty("--barcodescan-input-button-icon","url(".concat(dd,")")),Object(Z.e)(cd||(cd=pd(['\n <input type="text" .value=',' />\n <button\n id="scan-button"\n @click=',"\n ></button>\n "])),this.value||"",e=>{this.requestBarcodeScan(e)})}requestBarcodeScan(e){if(!cordova_iab)throw"no-app";cordova_iab.postMessage(JSON.stringify({type:"scan-barcode",detail:{requester:this.name,barcodeTypes:[]}}))}}customElements.define("barcodescan-input",ud);var hd,bd,md,gd,vd=n(1184);function fd(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function yd(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){fd(a,i,r,o,s,"next",e)}function s(e){fd(a,i,r,o,s,"throw",e)}o(void 0)}))}}function wd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Ad extends Z.a{get video(){return this.shadowRoot.querySelector("video")}render(){return Object(Z.e)(hd||(hd=wd([" <video></video> "])))}}customElements.define("scan-camera-template",Ad);class xd extends Z.a{static get properties(){return{name:{attribute:!0},scannable:Boolean,withoutEnter:{attribute:"without-enter",type:Boolean},value:String}}static get styles(){return[Object(Z.b)(bd||(bd=wd(["\n :host {\n display: flex;\n align-items: center;\n border: none;\n overflow: hidden;\n background-color: #fff;\n\n padding: var(--custom-input-barcode-field-padding) !important;\n }\n\n * {\n align-self: stretch;\n }\n\n *:focus {\n outline: none;\n }\n\n input {\n flex: 1 !important;\n border: none;\n font: var(--custom-input-barcode-field-font);\n width: 10px;\n flex-grow: 1;\n }\n\n #scan-button {\n display: block;\n width: 30px;\n height: 100%;\n min-height: 24px;\n border: none;\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n background-image: var(--barcodescan-input-button-icon);\n }\n\n #scan-button[hidden] {\n display: none;\n }\n "])))]}connectedCallback(){var e=this;super.connectedCallback(),this.scannable=!1,navigator.mediaDevices&&yd((function*(){try{var t=yield navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}});t&&(t.getTracks().forEach(e=>e.stop()),e.scannable=!0)}catch(e){console.warn("this device not support camera for barcode scan",e)}}))()}disconnectedCallback(){this.stopScan()}render(){return this.style.setProperty("--barcodescan-input-button-icon","url(".concat(dd,")")),Object(Z.e)(md||(md=wd(['\n <input type="text" .value=',' maxlength="50" />\n <button\n ?hidden=','\n id="scan-button"\n @click=',"\n ></button>\n "])),this.value||"",!this.scannable,e=>{this.scan(e)})}get input(){return this.shadowRoot.querySelector("input")}scan(e){var t=this;return yd((function*(){try{var e=document.createElement("scan-camera-template"),n=Object(Y.j)(e,{backdrop:!0,size:"large",closable:!1});n.onclosed=e=>{t.stopScan()},yield t.updateComplete;if(t.stream=yield navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),t.reader=new vd.BrowserMultiFormatReader,!n.closed&&t.stream){var i=yield t.reader.decodeOnceFromStream(t.stream,e.video);t.input.value=i,t.withoutEnter||t.dispatchEvent(new KeyboardEvent("keypress",{keyCode:13}))}else t.stopScan()}catch(e){console.warn(e)}finally{n.close(),t.stopScan()}}))()}stopScan(){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.reader&&this.reader.reset(),delete this.stream,delete this.reader}}customElements.define("barcode-scanable-input",xd);var Od,jd=(e,t,n)=>{var{bcid:i="qrcode",scale:r=3,height:a=10,width:o=10}=t.record.options||{};return Object(B.g)(gd||(gd=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n <barcode-tag\n .bcid=","\n .bcWidth=","\n .bcheight=","\n .bcScale=","\n .value=","\n center\n ></barcode-tag>\n "])),i,o,a,r,e)};var kd,Ed,Rd,Md,Sd,Id,Nd,zd,Dd,Td,Cd,Gd,Pd,Bd,Yd,Zd,Ud,Ld,Qd=(e,t,n)=>{if(!e)return"";var{nameField:i="name",descriptionField:r="description"}=t.record.options||{};return Object(B.g)(Od||(Od=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n ","(",")\n "])),e[i]||"",e[r]||"")};function Wd(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Vd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}console.log("%c\n ▄▄▄ ▄▄▄ ▄▄▄▄ ▄▄ ▄▄▄ ▄▄▄ \n ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ \n ▓▀▀▄ ▓▀▀ ▓▀▀▀ ▀▀ ▓▀▀▓ ▓▀▀ ▓▀▀ \n ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ \n ▀ ▀ ▀▀▀ ▀ ▀ ▀ ▀ ▀ \n","background: #222; color: #bada55");var Fd={route:function(e){switch(e){case"":return"/reference-app-main";case"reference-app-main":return n.e(54).then(n.bind(null,1424)),e;case"upload-page":return n.e(31).then(n.bind(null,1404)),e;case"pending-job-page":return n.e(30).then(n.bind(null,1415)),e;case"menu-page":return n.e(28).then(n.bind(null,1405)),e;case"notification-page":return n.e(29).then(n.bind(null,1406)),e;case"context-page":return Promise.all([n.e(32),n.e(25)]).then(n.bind(null,1416)),e;case"grist-page":return n.e(53).then(n.bind(null,1407)),e;case"grist-colorizing":return n.e(27).then(n.bind(null,1408)),e;case"report-page":return n.e(55).then(n.bind(null,1409)),e;case"direct-print":return n.e(26).then(n.bind(null,1410)),e}},routes:[{tagname:"reference-app-main",page:"reference-app-main"},{tagname:"upload-page",page:"upload-page"},{tagname:"pending-job-page",page:"pending-job-page"},{tagname:"menu-page",page:"menu-page"},{tagname:"notification-page",page:"notification-page"},{tagname:"context-page",page:"context-page"},{tagname:"grist-page",page:"grist-page"},{tagname:"grist-colorizing",page:"grist-colorizing"},{tagname:"report-page",page:"report-page"},{tagname:"direct-print",page:"direct-print"}],bootstrap:function(){Object(it.f)("id",Qd),Object(it.f)("barcode",jd),Object(it.e)("id",Hc),Object(it.e)("barcode",Object(it.c)("string")),Object(Zc.a)({hovering:!0,position:Y.e.HEADERBAR,portraitSlotTemplate:Object(B.g)(kd||(kd=Vd([' <domain-switch slot="tail"></domain-switch> '])))}),Object(Zc.b)([{name:"레이아웃팅",icon:"devices",description:"헤더라인, 메뉴, 사이드바 등 전체 레이아웃과 반응형 기능을 설명합니다.",menus:[{name:"Menu",path:"menu-page"},{name:"Context",path:"context-page"}]},{name:"그리드기능",icon:"grid_on",description:"그리드를 활용한 다양한 기능과 활용 사례를 보여줍니다.",menus:[{name:"Grist Sample",path:"grist-page"},{name:"Grist Colorizing",path:"grist-colorizing"},{name:"Fliter/Sorting",path:"bizplace-register"},{name:"List Sample",path:"bizplace-register"},{name:"Headroom Style",path:"bizplace-register"}]},{name:"리포트",icon:"pivot_table_chart",description:"리포트 샘플을 통한 리포트 컴포넌트의 사용 방법을 이해합니다.",menus:[{name:"Report Sample",path:"report-page"},{name:"Report Print",path:"bizplace-register"},{name:"설비별데이타이력",path:"bizplace-register"},{name:"설비 정비계획",path:"bizplace-register"}]},{name:"라벨프린트",icon:"print",description:"바코드 라벨 프린트를 위한 기능을 이해합니다.",menus:[{name:"Direct Label Print",path:"direct-print"},{name:"Label Scan",path:"bizplace-register"}]},{name:"폼구성",icon:"dynamic_form",description:"다양한 폼 구성 사례와 가이드라인을 제시합니다.",menus:[{name:"Simple Form",path:"bizplace-register"},{name:"Complex Form",path:"bizplace-register"},{name:"POPUP",path:"bizplace-register"}]},{name:"히든젬",icon:"hive",description:"프레임워크에서 기본 제공하는 유용한 기능을 소개합니다.",menus:[{name:"File Upload",path:"upload-page"},{name:"Pending Job",path:"pending-job-page"},{name:"Search",path:"business-register"},{name:"Notification",path:"notification-page"},{name:"Layout V",path:"bizplace-register"}]},{name:"시스템",icon:"settings",description:"멀티테넌시, 사용자인증, Organization 등 시스템 관리를 위한 개념과 기능들을 소개합니다.",menus:[{name:"Inline Help",path:"bizplace-register"},{name:"Role-Privilege",path:"bizplace-register"},{name:"Theme",path:"bizplace-register"},{name:"공통코드관리",path:"bizplace-register"}]}]),r.store.dispatch({type:zi.a,replace:"title-bar",tool:{name:"top-menu-bar",template:Object(B.g)(Ed||(Ed=Vd([" <top-menu-bar></top-menu-bar> "]))),position:Y.b.CENTER}}),r.store.dispatch({type:zi.a,tool:{name:"domain-switch",template:Object(B.g)(Rd||(Rd=Vd([" <domain-switch rounded-corner dark></domain-switch> "]))),position:Y.b.REAR}}),Fe.a.on("profile",function(){var e,t=(e=function*({credential:e}){Object(Yc.a)(e),e.owner&&(r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(Md||(Md=Vd([" <mwc-icon>device_hub</mwc-icon> "]))),name:Object(B.g)(Sd||(Sd=Vd([' <i18n-msg msgid="text.connection"></i18n-msg> ']))),action:()=>{Object(r.navigate)("connection")}}}),r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(Id||(Id=Vd([" <mwc-icon>format_list_numbered</mwc-icon> "]))),name:Object(B.g)(Nd||(Nd=Vd([' <i18n-msg msgid="text.scenario"></i18n-msg> ']))),action:()=>{Object(r.navigate)("scenario")}}}),r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(zd||(zd=Vd([" <mwc-icon>vpn_key</mwc-icon> "]))),name:Object(B.g)(Dd||(Dd=Vd([' <i18n-msg msgid="text.oauth2-clients"></i18n-msg> ']))),action:()=>{Object(r.navigate)("oauth2-clients")}}})),r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(Td||(Td=Vd([" <mwc-icon>extension</mwc-icon> "]))),name:Object(B.g)(Cd||(Cd=Vd([' <i18n-msg msgid="text.api-sandbox"></i18n-msg> ']))),action:()=>{Object(r.navigate)("api-swagger")}}}),r.store.dispatch({type:xs.a,morenda:{icon:Object(B.g)(Gd||(Gd=Vd([" <mwc-icon>help</mwc-icon> "]))),name:Object(B.g)(Pd||(Pd=Vd([' <i18n-msg msgid="text.help"></i18n-msg> ']))),action:()=>{Object(r.navigate)("help")}}}),r.store.dispatch({type:Yt.a,setting:{seq:21,template:Object(B.g)(Bd||(Bd=Vd([" <default-label-printer-setting-let></default-label-printer-setting-let> "])))}})},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Wd(a,i,r,o,s,"next",e)}function s(e){Wd(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(e){return t.apply(this,arguments)}}()),r.store.dispatch({type:zi.a,tool:{name:"notification-badge",template:Object(B.g)(Yd||(Yd=Vd(["\n <notification-badge\n @click=","\n >\n </notification-badge>\n "])),e=>{Object(Y.k)("notification",{backdrop:!0})}),position:Y.b.REAR}}),Object(Y.f)({name:"headerbar",viewpart:{show:!0,hovering:!1,template:Object(B.g)(Zd||(Zd=Vd([' <title-bar style="min-width: 300px;"></title-bar> '])))},position:Y.e.HEADERBAR}),Object(Y.f)({name:"notification",viewpart:{show:!1,hovering:"edge",template:Object(B.g)(Ud||(Ud=Vd([' <notification-list style="min-width: 300px;"></notification-list> '])))},position:Y.e.ASIDEBAR}),r.store.dispatch({type:Yt.a,setting:{seq:19,template:Object(B.g)(Ld||(Ld=Vd([" <notification-setting-let></notification-setting-let> "])))}})}},_d=[];_d.push({...i,name:"@things-factory/shell",version:"3.6.1",license:"MIT"}),_d.push({...p,name:"@things-factory/apptool-base",version:"3.6.1",license:"MIT"}),_d.push({...P,name:"@things-factory/layout-base",version:"3.6.1",license:"MIT"}),_d.push({...W,name:"@things-factory/apptool-ui",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/print-proxy-service",version:"3.6.1",license:"MIT"}),_d.push({...se,name:"@things-factory/print-base",version:"3.6.1",license:"MIT"}),_d.push({...ue,name:"@things-factory/barcode-base",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/grist-ui",version:"3.6.0",license:"MIT"}),_d.push({...Se,name:"@things-factory/help",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/email-base",version:"3.6.1",license:"MIT"}),_d.push({...Ie,name:"@things-factory/i18n-base",version:"3.6.1",license:"MIT"}),_d.push({...Be,name:"@things-factory/auth-base",version:"3.6.1",license:"MIT"}),_d.push({...Ye,name:"@things-factory/attachment-base",version:"3.6.1",license:"MIT"}),_d.push({...Ze,name:"@things-factory/image-uploader-ui",version:"3.6.1",license:"MIT"}),_d.push({...Ue,name:"@things-factory/attachment-ui",version:"3.6.1",license:"MIT"}),_d.push({..._e,name:"@things-factory/font-base",version:"3.6.1",license:"MIT"}),_d.push({...Je,name:"@things-factory/font-ui",version:"3.6.1",license:"MIT"}),_d.push({...tt,name:"@things-factory/modeller-ui",version:"3.6.1",license:"MIT"}),_d.push({...Nt,name:"@things-factory/board-ui",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/code-base",version:"3.6.1",license:"MIT"}),_d.push({...Bt,name:"@things-factory/setting-base",version:"3.6.1",license:"MIT"}),_d.push({...cn,name:"@things-factory/dashboard",version:"3.6.1",license:"MIT"}),_d.push({...ei,name:"@things-factory/context-base",version:"3.6.1",license:"MIT"}),_d.push({...Ni,name:"@things-factory/layout-ui",version:"3.6.1",license:"MIT"}),_d.push({...ar,name:"@things-factory/context-ui",version:"3.6.1",license:"MIT"}),_d.push({...gr,name:"@things-factory/export-base",version:"3.6.1",license:"MIT"}),_d.push({...Ir,name:"@things-factory/export-ui",version:"3.6.1",license:"MIT"}),_d.push({...Jr,name:"@things-factory/export-ui-excel",version:"3.6.1",license:"MIT"}),_d.push({...ta,name:"@things-factory/import-base",version:"3.6.1",license:"MIT"}),_d.push({...na,name:"@things-factory/api",version:"3.6.1",license:"MIT"}),_d.push({...ia,name:"@things-factory/oauth2-client",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/integration-base",version:"3.6.1",license:"MIT"}),_d.push({...bs,name:"@things-factory/integration-ui",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/board-service",version:"3.6.1",license:"MIT"}),_d.push({...As,name:"@things-factory/more-base",version:"3.6.1",license:"MIT"}),_d.push({...Vs,name:"@things-factory/lite-menu",version:"3.6.1",license:"MIT"}),_d.push({...qs,name:"@things-factory/more-ui",version:"3.6.1",license:"MIT"}),_d.push({...hl,name:"@things-factory/notification",version:"3.6.1",license:"MIT"}),_d.push({...xl,name:"@things-factory/print-ui",version:"3.6.1",license:"MIT"}),_d.push({...Rl,name:"@things-factory/i18n-ui",version:"3.6.1",license:"MIT"}),_d.push({...Sl,name:"@things-factory/auth-ui",version:"3.6.1",license:"MIT"}),_d.push({...Nl,name:"@things-factory/form-ui",version:"3.6.1",license:"MIT"}),_d.push({...Pl,name:"@things-factory/import-ui",version:"3.6.1",license:"MIT"}),_d.push({...Yl,name:"@things-factory/import-ui-csv",version:"3.6.1",license:"MIT"}),_d.push({...Vl,name:"@things-factory/menu-base",version:"3.6.1",license:"MIT"}),_d.push({..._l,name:"@things-factory/resource-base",version:"3.6.1",license:"MIT"}),_d.push({...kc,name:"@things-factory/resource-ui",version:"3.6.1",license:"MIT"}),_d.push({...Sc,name:"@things-factory/setting-ui",version:"3.6.1",license:"MIT"}),_d.push({name:"@things-factory/system-base",version:"3.6.1",license:"MIT"}),_d.push({...Bc,name:"@things-factory/system-ui",version:"3.6.1",license:"MIT"}),_d.push({...Fd,name:"@things-factory/reference-app",version:"3.6.1",license:"MIT"})},151:function(e,t,n){"use strict";n.d(t,"h",(function(){return s})),n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return c})),n.d(t,"d",(function(){return d})),n.d(t,"g",(function(){return p})),n.d(t,"f",(function(){return u})),n.d(t,"c",(function(){return h})),n.d(t,"e",(function(){return b})),n.d(t,"m",(function(){return m})),n.d(t,"j",(function(){return v})),n.d(t,"i",(function(){return f})),n.d(t,"l",(function(){return y})),n.d(t,"k",(function(){return A}));var i=n(35);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=({name:e,viewpart:t,position:n})=>{i.store.dispatch({type:l,name:e,viewpart:a(a({},t),{},{show:(!t.hovering||!t.show)&&t.show}),position:n}),t.hovering&&t.show&&v(e)},l="APPEND_VIEWPART",c="REMOVE_VIEWPART",d="UPDATE_VIEWPART",p={HEADERBAR:"headerbar",NAVBAR:"navbar",ASIDEBAR:"asidebar",FOOTERBAR:"footerbar"},u={TOPMOST:"TOPMOST",NORMAL:"NORMAL"},h={FRONT_END:"FRONT_END",FRONT:"FRONT",CENTER:"CENTER",REAR:"REAR",REAR_END:"REAR_END"},b="UPDATE_VIEWPORT_WIDTH",m=e=>{i.store.dispatch({type:b,width:e?"WIDE":"NARROW"})},g=0,v=(e,t,n)=>{var r=history.state,a=r?r.overlay:void 0,o=a&&void 0!==a.sequence?a.sequence:g,s=g=o+1;!n&&t&&i.store.dispatch({type:d,name:e,override:t});var l=Object.assign({},r||{},{overlay:{name:e,sequence:s,escapable:!1!==(null==t?void 0:t.escapable)}});history.pushState(l,"",location.href),window.dispatchEvent(new CustomEvent("popstate",{detail:{state:l}}))},f=e=>{history.back()},y=(e,t)=>{var{name:n}=history.state&&history.state.overlay||{};n==e?f(e):v(e,t)},w=0,A=(e,t={})=>{var n="$popup-".concat(w++);s({name:n,viewpart:a(a({hovering:"center",closable:!0},t),{},{backdrop:!0,show:!1,temporary:!0,template:e}),position:p.HEADERBAR}),v(n,t,!0);var i={name:n,close:()=>{var e=(history.state||{}).overlay;e&&e.name==n&&history.back()},closed:!1,onclosed:null};return document.addEventListener("overlay-closed",(function e(t){n==t.detail&&(i.closed=!0,i.onclosed&&i.onclosed(),document.removeEventListener("overlay-closed",e))})),i}},152:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return s}));var i,r="OPEN_SNACKBAR",a="CLOSE_SNACKBAR";function o(e){if("string"==typeof e)return o({message:e});var{message:t,level:n,option:i,ex:r}=e;document.dispatchEvent(new CustomEvent("notify",{detail:{message:t,level:n,ex:r,option:i}}))}var s=(e,{message:t,action:n,timer:o=5e3})=>s=>{s({type:r,level:e,message:t,action:n}),window.clearTimeout(i),-1!=o&&(i=window.setTimeout(()=>s({type:a}),o))}},303:function(e,t,n){"use strict";n(94),n(42);var i,r,a,o,s,l,c,d,p=n(48),u=n(35),h=n(0),b=n(77);function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class g extends(Object(b.a)(u.store)(h.a)){static get properties(){return{level:String,message:String,active:{reflect:!0,type:Boolean},action:Object}}static get styles(){return[Object(h.b)(i||(i=m(["\n :host {\n display: block;\n position: fixed;\n top: 100%;\n left: 0;\n right: 0;\n padding: 12px;\n background-color: black;\n color: white;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n text-align: center;\n will-change: transform;\n transform: translate3d(0, 0, 0);\n transition-property: visibility, transform;\n transition-duration: 0.2s;\n visibility: hidden;\n }\n\n :host([active]) {\n visibility: visible;\n transform: translate3d(0, -100%, 0);\n }\n\n mwc-icon {\n --mdc-icon-size: 1.2em;\n vertical-align: middle;\n max-width: 20px;\n }\n\n mwc-button {\n display: block;\n }\n\n .info {\n color: green;\n }\n\n .warn {\n color: yellow;\n }\n\n .error {\n color: red;\n }\n\n @media (min-width: 460px) {\n :host {\n width: 320px;\n margin: auto;\n }\n }\n "])))]}render(){return Object(h.e)(r||(r=m(["\n <span>\n <mwc-icon class=","\n >","</mwc-icon\n >\n </span>\n <span>","</span>\n ","\n "])),this.level,"info"==this.level?Object(h.e)(a||(a=m([" notification_important "]))):"warn"==this.level?Object(h.e)(o||(o=m([" warning "]))):"error"==this.level?Object(h.e)(s||(s=m([" error "]))):Object(h.e)(l||(l=m([""]))),this.message,this.action&&this.action.label?Object(h.e)(c||(c=m(["\n <mwc-button\n @click=","\n >","</mwc-button\n >\n "])),e=>{u.store.dispatch({type:p.a}),this.action.callback()},this.action.label):Object(h.e)(d||(d=m([""]))))}stateChanged(e){var{level:t,message:n,snackbarOpened:i,action:r}=e.snackbar||{};this.level=t,this.message=n,this.active=i,this.action=r}}window.customElements.define("snack-bar",g)},307:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"c",(function(){return o}));var i="SET-PROFILE",r="SET-AUTH",a=e=>(t,n)=>{t({type:i,user:e})},o=e=>(t,n)=>{t({type:r,auth:e})}},308:function(e,t,n){"use strict";function i(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function r(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,l,"next",e)}function l(e){i(o,r,a,s,l,"throw",e)}s(void 0)}))}}n.d(t,"a",(function(){return o}));var a={"Content-Type":"application/json",Accept:"application/json"};var o=new class{constructor(){this._event_listeners={profile:[],signout:[],presignout:[],passwordchange:[],error:[]},this._authRequiredEventListener=this.onAuthRequired.bind(this),document.addEventListener("auth-required",this._authRequiredEventListener),this._activateRequiredEventListener=this.onActivateRequired.bind(this),document.addEventListener("activate-required",this._activateRequiredEventListener)}on(e,t){var n=this._event_listeners[e];n?n.push(t):console.log("unknown event",e)}off(e,t){var n=this._event_listeners[e];if(n){var i=n.indexOf(t);i>=0&&n.splice(i,1)}else console.log("unknown event",e)}dispose(){document.removeEventListener("auth-required",this._authRequiredEventListener),document.removeEventListener("activate-required",this._activateRequiredEventListener),delete this._event_listeners}onProfileFetched({credential:e,accessToken:t,domains:n,domain:i}){this.credential=e,this.domains=n,this.domain=i,t&&!this.accessToken&&(this.accessToken=t,this._event_listeners.signin.forEach(e=>e({accessToken:t,domains:n,domain:i}))),t&&(this.accessToken=t),this._event_listeners.profile.forEach(t=>t({credential:e,domains:n,domain:i}))}onPreSignout(){var e=this;return r((function*(){for(var t of e._event_listeners.presignout)yield t()}))()}onAuthError(e){this._event_listeners.error.forEach(t=>t(e))}onPasswordChanged(e){this._event_listeners.passwordchange.forEach(t=>t(e))}onAuthRequired(e){console.warn("authentication required");var t=new URL(window.location);t.pathname="/auth/signin",t.searchParams.append("redirect_to",window.location.href),window.location=t}onActivateRequired(e){console.warn("activate required");var t=new URLSearchParams;t.append("email",e.email),window.location.replace("/auth/activate?".concat(t))}route(e,t){var n=window.location,i=n.origin||n.protocol+"//"+n.host,r="".concat(i).concat(e);n.pathname!==e&&(window.history.pushState({redirected:t},"",r),window.history.pushState({},"",r),window.history.back())}updateProfile(e){return r((function*(){var t=yield fetch("/auth/update-profile",{method:"POST",credentials:"include",headers:a,body:JSON.stringify(e)}),n=yield t.text();if(t.ok)return n;throw new Error(n)}))()}changePassword(e){var t=this;return r((function*(){try{var n=yield fetch("/auth/change-pass",{method:"POST",credentials:"include",headers:a,body:JSON.stringify(e)}),i=yield n.text();n.ok?t.onPasswordChanged({message:i}):t.onAuthError({message:i})}catch(e){t.onAuthError(e)}}))()}deleteUser(e){return r((function*(){var t=yield fetch("/auth/delete-user",{method:"POST",credentials:"include",headers:a,body:JSON.stringify(e)}),n=yield t.text();if(t.ok)return n;throw new Error(n)}))()}profile(){var e=this;return r((function*(){try{var t=new URLSearchParams(location.search).get("token");t&&(headers.authorization="Bearer ".concat(t));var n=yield fetch("/auth/profile",{method:"GET",credentials:"include",headers:a});if(n.ok){if(n.redirected)return void(location.href=n.url);var i=yield n.json();return void e.onProfileFetched({credential:i.user,accessToken:i.token,domains:i.domains,domain:i.domain})}}catch(t){e.onAuthError(t)}}))()}join(){return r((function*(){var e=yield fetch("/auth/signout",{method:"POST",credentials:"include",headers:a});if(!e.ok)throw new Error(yield e.text());debug}))()}signout(){var e=this;return r((function*(){yield e.onPreSignout(),window.location="/auth/signout"}))()}}},329:function(e,t,n){"use strict";n.d(t,"e",(function(){return Mn})),n.d(t,"c",(function(){return Sn})),n.d(t,"a",(function(){return pn})),n.d(t,"f",(function(){return on})),n.d(t,"d",(function(){return sn})),n.d(t,"b",(function(){return kt}));var i,r,a,o,s,l,c,d,p,u,h,b,m,g,v,f=n(0),y=n(45),w=n(29),A=n(223),x=n.n(A);function O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class j extends f.a{static get properties(){return{config:Object,columns:Array,data:Object,_sorters:Array}}static get styles(){return[Object(f.b)(i||(i=O(["\n :host {\n display: grid;\n grid-template-columns: var(--grid-template-columns);\n\n overflow: hidden;\n }\n\n div {\n display: flex;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: var(--grid-header-background-color);\n border-top: var(--grid-header-top-border);\n border-bottom: var(--grid-header-bottom-border);\n padding: var(--grid-header-padding);\n\n text-overflow: ellipsis;\n font: var(--grid-header-font);\n color: var(--grid-header-color);\n }\n\n div[gutter] {\n padding: var(--padding-default) 0 var(--padding-narrow) 0;\n text-align: center;\n }\n\n span {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n }\n\n span[title] {\n flex: 1;\n text-overflow: ellipsis;\n line-height: 1.6;\n text-transform: capitalize;\n }\n span[title] mwc-icon {\n font-size: var(--grid-record-fontsize);\n }\n\n span[sorter] {\n padding: 0;\n border: 0;\n }\n span[sorter] mwc-icon {\n font-size: var(--grid-header-sorter-size);\n }\n\n span[splitter] {\n cursor: col-resize;\n border-right: var(--grid-header-splitter-border);\n }\n span[splitter]:hover {\n border-right: var(--grid-header-splitter-border-hover);\n }\n input[type='checkbox'],\n input[type='radio'] {\n margin: 3px 0 0 0;\n zoom: var(--grist-input-zoom);\n }\n\n @media print {\n :host {\n grid-template-columns: var(--grid-template-print-columns);\n }\n }\n "])))]}_onWheelEvent(e){var t=Math.max(-1,Math.min(1,e.deltaY||0));this.scrollLeft=Math.max(0,this.scrollLeft-40*t),w.m||e.preventDefault()}firstUpdated(){this.addEventListener("wheel",this._onWheelEvent.bind(this),!!w.m&&{passive:!0})}updated(e){e.has("config")&&(this._sorters=this.config.sorters||[])}render(){var e=this.columns||[];return Object(f.e)(r||(r=O(["\n ","\n\n <div></div>\n "])),e.map((e,t)=>e.hidden?Object(f.e)(d||(d=O([""]))):Object(f.e)(a||(a=O(["\n <div ?gutter=",">\n <span title @click=",">"," </span>\n\n ","\n ","\n </div>\n "])),"gutter"==e.type,t=>this._changeSort(e),this._renderHeader(e),e.sortable?Object(f.e)(o||(o=O(["\n <span sorter @click=","> "," </span>\n "])),t=>this._changeSort(e),this._renderSortHeader(e)):Object(f.e)(s||(s=O([""]))),!1!==e.resizable?Object(f.e)(l||(l=O([' <span splitter draggable="false" @mousedown=',">&nbsp;</span> "])),e=>this._mousedown(e,t)):Object(f.e)(c||(c=O([""]))))))}_renderHeader(e){var{renderer:t}=e.header,n=t.call(this,e);return Object(f.e)(p||(p=O([" "," "])),n)}_renderSortHeader(e){if(e.hidden)return Object(f.e)(u||(u=O([""])));var t=this._sorters||[],n=t.find(t=>"gutter"!==e.type&&e.name==t.name);if(!n)return Object(f.e)(h||(h=O([""])));if(t.length>1){var i=t.indexOf(n)+1;return n.desc?Object(f.e)(b||(b=O([" <mwc-icon>keyboard_arrow_up</mwc-icon><sub>","</sub> "])),i):Object(f.e)(m||(m=O([" <mwc-icon>keyboard_arrow_down</mwc-icon><sub>","</sub> "])),i)}return n.desc?Object(f.e)(g||(g=O([" <mwc-icon>keyboard_arrow_up</mwc-icon> "]))):Object(f.e)(v||(v=O([" <mwc-icon>keyboard_arrow_down</mwc-icon> "])))}_changeSort(e){if(e.sortable){var t=[...this._sorters||[]],n=t.findIndex(t=>t.name==e.name);if(-1!==n){var i=t[n];i.desc?t.splice(n,1):i.desc=!0}else{var r={name:e.name};t.push(r)}this._sorters=t,this.dispatchEvent(new CustomEvent("sorters-change",{bubbles:!0,composed:!0,detail:this._sorters}))}}_accumalate(e){var t;return this._lastAccVal=(null!==(t=this._lastAccVal)&&void 0!==t?t:0)+e,this._lastAccVal}_notifyWidthChange(e,t){this.throttledNotifier||(this.throttledNotifier=x()((function(e,t){e=this.dispatchEvent(new CustomEvent("column-width-change",{bubbles:!0,composed:!0,detail:{idx:e,width:t}}));this._lastAccVal=0}),100)),this.throttledNotifier(e,t)}_mousedown(e,t){e.stopPropagation(),e.preventDefault();var n=(e=>{e.stopPropagation(),e.preventDefault();var n=this.columns[t],i=Math.max(0,Number(n.width)+this._accumalate(e.movementX));0!=i&&this._notifyWidthChange(t,i)}).bind(this),i=(e=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",i),n(e)}).bind(this);document.addEventListener("mousemove",n),document.addEventListener("mouseup",i)}}customElements.define("data-grid-header",j);var k,E,R,M=n(311);function S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class I extends f.a{static get properties(){return{align:{attribute:!0},record:Object,column:Object,rowIndex:Number,editing:{attribute:"editing"},value:Object,emphasized:Object}}static get styles(){return[Object(f.b)(k||(k=S(["\n :host {\n align-items: center;\n justify-content: var(--data-grid-field-justify-content, flex-start);\n position: relative;\n\n overflow: hidden;\n white-space: nowrap;\n background-color: var(--grid-record-background-color);\n padding: var(--grid-record-padding);\n border: 1px solid transparent;\n border-width: 1px 0;\n border-bottom: var(--grid-record-border-bottom);\n\n font-size: var(--grid-record-wide-fontsize);\n min-height: 19px;\n }\n :host([gutter]) {\n padding: var(--padding-default) 0;\n text-align: center;\n }\n :host([gutter]) * {\n cursor: default;\n }\n\n :host([editing]) {\n padding: 0;\n border-top: var(--grid-record-editing-border);\n border-bottom: var(--grid-record-editing-border);\n }\n\n :host([focused]) {\n --grid-record-border-bottom: var(--grid-record-focused-cell-border);\n }\n\n :host([dirty])::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n\n width: 0px;\n height: 0px;\n border-top: 9px solid red;\n border-left: 9px solid transparent;\n }\n\n span {\n display: block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n * {\n margin: 0;\n text-align: var(--data-grid-field-text-align);\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n\n input[type='checkbox'],\n input[type='radio'] {\n margin-top: 3px;\n zoom: var(--grist-input-zoom);\n }\n "])))]}get isEditing(){return this.hasAttribute("editing")}render(){if(!this.column)return Object(f.e)(E||(E=S([""])));var{value:e,column:t,record:n,rowIndex:i}=this,{renderer:r,editor:a}=t.record;return Object(f.e)(R||(R=S(["\n ","\n "])),this.isEditing?a(e,t,n,i,this):r(e,t,n,i,this))}updated(e){var t,n,i;if(e.has("editing")&&(this.isEditing?(this._onKeydownInEditingMode=(e=>{27==e.keyCode&&(this._editCancelled=!0)}).bind(this),this._onFieldChange=(e=>{this._editCancelled&&e.stopPropagation()}).bind(this),delete this._editCancelled,this.addEventListener("field-change",this._onFieldChange),this.addEventListener("keydown",this._onKeydownInEditingMode)):(this.removeEventListener("field-change",this._onFieldChange),this.removeEventListener("keydown",this._onKeydownInEditingMode))),e.has("column")){var r,a=(null===(r=this.column.record)||void 0===r?void 0:r.align)||"left";if("left"!=a){var o="center";switch(a){case"right":o="flex-end"}this.style.setProperty("--data-grid-field-justify-content",o),this.style.setProperty("--data-grid-field-text-align",a)}}var s=(null===(t=this.column)||void 0===t||null===(n=t.record)||void 0===n||null===(i=n.classifier.call(this,this.record,this.rowIndex))||void 0===i?void 0:i.emphasized)||this.emphasized;if(s){if(this.setAttribute("emphasized-row",!0),Symbol.iterator in Object(s)){var[l,c]=s;l&&this.style.setProperty("--grid-record-emphasized-background-color",l),c&&this.style.setProperty("--grid-record-emphasized-color",c)}}else this.removeAttribute("emphasized-row")}}function N(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function z(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){N(a,i,r,o,s,"next",e)}function s(e){N(a,i,r,o,s,"throw",e)}o(void 0)}))}}customElements.define("data-grid-field",I);var D;function T(e){return C.apply(this,arguments)}function C(){return(C=z((function*(e){var t=e.keyCode,{row:n=0,column:i=0}=this.focused||{},{records:r=[]}=this.data||{},a=this.config.rows.appendable?r.length:r.length-1,o=(this.columns||[]).filter(e=>!e.hidden).length-1;if(this.editTarget)switch(t){case 27:case 13:return this.editTarget=null,void this.focus();default:return}else switch(t){case 38:n=Math.max(0,n-1);break;case 40:n=Math.min(a,n+1);break;case 13:return void this.startEditTarget(n,i);case 37:case 8:i=Math.max(0,i-1);break;case 39:case 9:i=Math.min(o,i+1);break;case 33:n=Math.max(0,n-10);break;case 34:n=Math.min(a,n+10);break;case 27:return;default:return void((t>47&&t<58||32==t||13==t||t>64&&t<91||t>95&&t<112||t>185&&t<193||t>218&&t<223)&&this.startEditTarget(n,i))}this.focused&&this.focused.row===n&&this.focused.column===i||this.dispatchEvent(new CustomEvent("focus-change",{bubbles:!0,composed:!0,detail:{row:n,column:i}})),e.preventDefault()}))).apply(this,arguments)}function G(e){e.stopPropagation();var t=e.target,{column:n,record:i,rowIndex:r,columnIndex:a}=t;if(this.focused&&r===this.focused.row&&a===this.focused.column||(this.dispatchEvent(new CustomEvent("focus-change",{bubbles:!0,composed:!0,detail:{row:r,column:a}})),this.editTarget=null),n){var{click:o}=n.handlers;o&&o(this.columns,this.data,n,i,r,t)}var{click:s}=this.config.rows.handlers;s&&s(this.columns,this.data,n,i,r,t)}function P(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function B(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){P(a,i,r,o,s,"next",e)}function s(e){P(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Y(e){return Z.apply(this,arguments)}function Z(){return(Z=B((function*(e){e.stopPropagation();var t=e.target,{record:n,rowIndex:i,columnIndex:r,column:a}=t;if(a)if(isNaN(i)||isNaN(r))console.error("should not be here.");else{setTimeout(()=>{this.startEditTarget(i,r)},1);var{dblclick:o}=a.handlers;o&&o(this.columns,this.data,a,n,i,t);var{dblclick:s}=this.config.rows.handlers;s&&s(this.columns,this.data,a,n,i,t)}}))).apply(this,arguments)}var U,L,Q,W,V,F=Object(f.b)(D||(U=["\n :host {\n display: grid;\n grid-template-columns: var(--grid-template-columns);\n grid-auto-rows: var(--grid-record-height, min-content);\n\n overflow: auto;\n outline: none;\n color: var(--grid-record-color);\n }\n\n :host > [odd] {\n background-color: var(--grid-record-odd-background-color);\n }\n\n :host > [selected-row] {\n background-color: var(--grid-record-selected-background-color);\n color: var(--grid-record-selected-color);\n }\n\n :host > [emphasized-row] {\n background-color: var(--grid-record-emphasized-background-color);\n color: var(--grid-record-emphasized-color);\n }\n\n :host > [focused-row] {\n background-color: var(--grid-record-focused-background-color);\n box-shadow: var(--grid-record-focused-box-shadow);\n font-weight: bold;\n color: var(--grid-record-focused-color);\n }\n\n :host > [focused] {\n background-color: var(--grid-record-focused-cell-background-color);\n }\n\n :host > [editing] {\n background-color: var(--grid-record-editing-background-color);\n }\n\n @media print {\n :host {\n grid-template-columns: var(--grid-template-print-columns);\n }\n :host > [focused] {\n border: none;\n }\n\n :host > [selected-row] {\n background-color: transparent;\n }\n\n :host > [emphasized-row] {\n background-color: transparent;\n color: initial;\n }\n\n :host > [focused-row] {\n background-color: transparent;\n color: initial;\n }\n\n :host > [editing] {\n background-color: transparent;\n }\n }\n"],L||(L=U.slice(0)),D=Object.freeze(Object.defineProperties(U,{raw:{value:Object.freeze(L)}}))));function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class J extends f.a{constructor(...e){var t,n,i;super(...e),t=this,n="debounce",i=M.a.debounce((e,t)=>{var n=Math.ceil(t/41),i=Math.max(0,Math.floor(e/41)-3*n),r=Math.min(this.data.records.length,i+7*n);this.from=i,this.to=r},300),n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}static get properties(){return{config:Object,columns:Array,data:Object,focused:Object,editTarget:Object,from:Number,to:Number}}static get styles(){return[F]}handleOnScroll(e){var{scrollTop:t,clientHeight:n}=e.target;this.debounce(t,n)}render(){var{row:e=0,column:t=0}=this.focused||{},{row:n,column:i}=this.editTarget||{},r=(this.columns||[]).filter(e=>!e.hidden),a=this.data||{},{records:o=[]}=a,{appendable:s,classifier:l}=this.config&&this.config.rows||{};return s&&(o=[...o,{__dirty__:"+"}]),Object(f.e)(Q||(Q=_(["\n ","\n "])),o.map((o,s)=>{var c=s===e,d=o.__selected__,p=s%2,u=o.__dirtyfields__||{},{emphasized:h}=l.call(null,o,s)||{};return Object(f.e)(W||(W=_(["\n ","\n <data-grid-field\n .data=","\n .rowIndex=","\n .record=","\n .emphasized=","\n ?odd=","\n ?focused-row=","\n ?selected-row=","\n ></data-grid-field>\n "])),r.map((r,l)=>Object(f.e)(V||(V=_(["\n <data-grid-field\n .data=","\n .rowIndex=","\n .columnIndex=","\n .column=","\n .record=","\n .emphasized=","\n ?gutter=","\n ?odd=","\n ?focused-row=","\n ?selected-row=","\n ?focused=","\n ?editing=","\n .value=","\n ?dirty=","\n ></data-grid-field>\n "])),a,s,l,r,o,h,"gutter"==r.type,p,c,d,s===e&&l===t,s===n&&l===i,o[r.name],!!u[r.name])),a,s,o,h,p,c,d)}))}firstUpdated(){this.setAttribute("tabindex","-1"),this.addEventListener("focusout",e=>{this._focusedListener&&(window.removeEventListener("keydown",this._focusedListener),delete this._focusedListener)}),this.addEventListener("focusin",e=>{this._focusedListener||(this._focusedListener=T.bind(this),window.addEventListener("keydown",this._focusedListener))}),this.shadowRoot.addEventListener("click",G.bind(this)),this.shadowRoot.addEventListener("dblclick",Y.bind(this)),this.addEventListener("wheel",this._onWheelEvent.bind(this),!!w.m&&{passive:!0})}_onWheelEvent(e){if(this.scrollHeight<=this.clientHeight){var t=Math.max(-1,Math.min(1,e.deltaY||0));this.scrollLeft=Math.max(0,this.scrollLeft-40*t),w.m||e.preventDefault()}}startEditTarget(e,t){var{editable:n}=(this.columns||[]).filter(e=>!e.hidden)[t].record;!n||this.editTarget&&e==this.editTarget.row&&t==this.editTarget.column||(this.editTarget={row:e,column:t})}shouldUpdate(e){return e.has("editTarget")||(this.editTarget=null),super.shouldUpdate(e)}updated(e){if(e.has("focused")){var t=this.shadowRoot.querySelector("[focused]");if(!t)return;var{top:n,left:i}=function(e,t){var{top:n,left:i,right:r,bottom:a}=t.getBoundingClientRect(),{top:o,left:s,right:l,bottom:c}=e.getBoundingClientRect(),{scrollLeft:d,scrollTop:p}=e,u=e.clientWidth-e.offsetWidth,h=e.clientHeight-e.offsetHeight;return{left:i<s?d-(s-i):r>l?d-(l-r)-u:void 0,top:n<o?p-(o-n):a>c?p-(c-a)-h:void 0}}(this,t);void 0!==n&&(this.scrollTop=n),void 0!==i&&(this.scrollLeft=i)}}focus(){if(super.focus(),!this.focused||void 0===this.focused.row){var{records:e=[]}=this.data||{},t=e.findIndex(e=>e.__selected__);this.focused={row:-1==t?0:t,column:0}}}}customElements.define("data-grid-body",J);var H,X,q;n(42);function K(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var $,ee,te,ne,ie,re,ae,oe=[20,30,50,100],se=30;class le extends f.a{static get properties(){return{config:Object,data:Object}}static get styles(){return[Object(f.b)(H||(H=K(["\n :host {\n display: flex;\n flex-direction: row;\n overflow: hidden;\n\n padding: var(--grid-footer-padding);\n background-color: var(--grid-footer-background-color);\n font-size: var(--grid-footer-font-size);\n }\n\n :host * {\n white-space: nowrap;\n overflow: hidden;\n padding: 0 2px;\n\n text-overflow: ellipsis;\n text-align: center;\n color: var(--grid-footer-color);\n }\n\n .filler {\n flex: 1;\n }\n\n mwc-icon {\n font-size: 1.5em;\n vertical-align: middle;\n }\n\n .limit a {\n color: var(--grid-footer-limit-color);\n }\n\n .limit a[selected] {\n color: var(--grid-footer-color);\n font-weight: bold;\n text-decoration: underline;\n }\n\n a[inactive] * {\n color: var(--grid-footer-inactive-color);\n }\n "])))]}_gotoPage(e){var{limit:t=20,total:n=0}=this.data||{};e>Math.ceil(n/t)||e<=0||this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:e}))}_changeLimit(e){this.dispatchEvent(new CustomEvent("limit-change",{bubbles:!0,composed:!0,detail:e}))}render(){var{records:e=[],page:t=1,limit:n=se,total:i=0}=this.data||{},{pages:r=oe}=this.config&&this.config.pagination||{},a=0==e.length?0:n*(t-1)+1,o=0==e.length?0:a+e.length-1,s=Math.max(1,Math.ceil(i/n));return Object(f.e)(X||(X=K(["\n <a ?inactive="," @click=","><mwc-icon>skip_previous</mwc-icon></a>\n <a ?inactive="," @click=","><mwc-icon>navigate_before</mwc-icon></a>\n <span>page <strong>","</strong>&nbsp;/&nbsp;","</span>\n <a ?inactive="," @click=","><mwc-icon>navigate_next</mwc-icon></a>\n <a ?inactive="," @click=",'><mwc-icon>skip_next</mwc-icon></a>\n\n <span class="filler"></span>\n\n <span class="limit">\n ',"\n records\n </span>\n <span>&nbsp;</span>\n <span>"," - ","</span>\n <span>&nbsp;/&nbsp;</span>\n <span>total "," records.</span>\n "])),t<=1,e=>this._gotoPage(1),t<=1,e=>this._gotoPage(t-1),t,s,t>=s,e=>this._gotoPage(t+1),t>=s,e=>this._gotoPage(s),r.map(e=>Object(f.e)(q||(q=K(["\n <a ?selected="," @click=",">","</a>\n "])),n==e,t=>this._changeLimit(e),e)),a,o,i||0)}}function ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function de(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(n),!0).forEach((function(t){pe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ue(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-grid-footer",le);class he extends f.a{static get properties(){return{config:Object,data:Object,focused:Object}}static get styles(){return[y.c,Object(f.b)($||($=ue(["\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n border: var(--grid-container-border-color);\n border-width: var(--grid-container-border-width);\n }\n\n data-grid-body {\n flex: 1;\n }\n\n @media print {\n :host {\n zoom: 80%;\n }\n }\n "])))]}get body(){return this.shadowRoot.querySelector("data-grid-body")}get header(){return this.shadowRoot.querySelector("data-grid-header")}firstUpdated(){this.header.addEventListener("scroll",e=>{this.body.scrollLeft!==this.header.scrollLeft&&(this.body.scrollLeft=this.header.scrollLeft)}),this.body.addEventListener("scroll",e=>{this.body.scrollLeft!==this.header.scrollLeft&&(this.header.scrollLeft=this.body.scrollLeft)}),this.addEventListener("select-all-change",e=>{var t;if(null!==(t=this.data)&&void 0!==t&&t.records){var{selected:n}=e.detail,{records:i}=this.data;i.forEach(e=>e.__selected__=n),this.data=de({},this.data)}}),this.addEventListener("select-record-change",e=>{var{records:t,added:n=[],removed:i=[]}=e.detail,{records:r}=this.data||{},{selectable:a}=this.config.rows;r&&(a&&!a.multiple&&r.forEach(e=>e.__selected__=!1),t?(r.forEach(e=>e.__selected__=!1),t.forEach(e=>e.__selected__=!0)):(i.forEach(e=>e.__selected__=!1),n.forEach(e=>e.__selected__=!0)),this.header.requestUpdate(),this.body.requestUpdate())}),this.addEventListener("field-change",e=>{var{after:t,before:n,column:i,record:r,row:a}=e.detail;if(t!==n){var o=i.validation;o&&!o.call(this,t,n,r,i)||this.onRecordChanged({[i.name]:t},a,i)}}),this.addEventListener("focus-change",e=>{this.focused=e.detail,this.focus(),this.requestUpdate()}),this.addEventListener("record-reset",e=>{var{record:t,row:n}=e.detail;this.onRecordChanged(t.__origin__,n,null)})}onRecordChanged(e,t,n){var i,r,a=(null===(i=this.data)||void 0===i?void 0:i.records)||[],o=a[t],s=!1,l=!1;if(e)if(o){var c=o.__dirty__;r=de(de(de({},o),e),{},"+"==c?{__dirty__:"+"}:{__dirty__:"M"})}else r=de(de({},e),{},{__dirty__:"+"}),l=!0;else{if(!o)return void this.requestUpdate();"+"==o.__dirty__?s=!0:r=de(de({},o),{},{__dirty__:"-"})}l?a.push(r):s?a.splice(t,1):a.splice(t,1,r),this.dispatchEvent(new CustomEvent("record-change",{bubbles:!0,composed:!0,detail:{before:o,after:r,column:n,row:t}}))}updated(e){if((e.has("config")||e.has("data"))&&(this.calculateWidths(this.config&&this.config.columns),this.focused&&"row"in this.focused)){var{row:t=0,column:n=0}=this.focused,{records:i=[]}=e.get("data"),{records:r=[]}=this.data,a=i[t];if(a&&a!==r[t]){var o=r.find(e=>a===e||"id"in a&&e.id==a.id||"name"in a&&e.name==a.name);this.focused={row:o?r.indexOf(o):t,column:n}}}this.focus()}calculateWidths(e){this._widths=(e||[]).filter(e=>!e.hidden).map(e=>{switch(typeof e.width){case"number":return e.width+"px";case"string":return e.width;case"function":return e.width.call(this,e);default:return"auto"}}).concat(["auto"]).join(" "),this.style.setProperty("--grid-template-columns",this._widths),this.style.setProperty("--grid-template-print-columns",this._widths.replace(/px/gi,"fr"))}render(){var{pagination:e={},columns:t=[]}=this.config||{},n=!e.infinite,i=this.data;return Object(f.e)(ee||(ee=ue(["\n <data-grid-header\n .config=","\n .columns=","\n .data=","\n @column-width-change=","\n ></data-grid-header>\n\n <data-grid-body\n .config=","\n .columns=","\n .data=","\n .focused=","\n ></data-grid-body>\n\n ","\n "])),this.config,t,i,e=>{var{idx:n,width:i}=e.detail;t[n].width=i,this.calculateWidths(t)},this.config,t,i,this.focused,n?Object(f.e)(te||(te=ue([" <data-grid-footer .config="," .data=","></data-grid-footer> "])),this.config,i):Object(f.e)(ne||(ne=ue([""]))))}focus(){super.focus();var e=this.shadowRoot.querySelector("data-grid-body");e&&e.focus()}}function be(e){e.stopPropagation();var t=e.target,{column:n,record:i,rowIndex:r,columnIndex:a}=t;if(n&&"gutter"==n.type){var{click:o}=n.handlers;o&&o(this.columns,this.data,n,i,r,t)}else{var{click:s}=this.config.rows.handlers;s?s(this.columns,this.data,n,i,r,t):this.popupRecordView()}}function me(e){e.stopPropagation();var t=e.target,{column:n,record:i,rowIndex:r,columnIndex:a}=t;if(n&&"gutter"==n.type);else{var{dblclick:o}=this.config.rows.handlers;o&&o(this.columns,this.data,n,i,r,t)}}function ge(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-grid",he);var ve,fe,ye,we,Ae,xe,Oe;class je extends f.a{static get properties(){return{align:{attribute:!0},record:Object,column:Object,rowIndex:Number,value:Object}}static get styles(){return[Object(f.b)(ie||(ie=ge(["\n :host {\n display: flex;\n align-items: center;\n justify-content: var(--data-list-gutter-justify-content, flex-start);\n position: relative;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: transparent;\n\n font-size: var(--grid-record-wide-fontsize);\n text-overflow: ellipsis;\n color:var(--grid-record-color);\n }\n\n * {\n flex: 1;\n margin: 0;\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n "])))]}get isEditing(){return this.hasAttribute("editing")}render(){if(!this.column)return Object(f.e)(re||(re=ge([""])));var{value:e,column:t,record:n,rowIndex:i}=this,{renderer:r}=t.record;return Object(f.e)(ae||(ae=ge(["\n ","\n "])),r(e,t,n,i,this))}updated(e){if(e.has("column")){var t=this.column.record&&this.column.record.align||"left";if("left"!=t){var n="center";switch(t){case"right":n="flex-end"}this.style.setProperty("--data-list-gutter-justify-content",n)}}}}function ke(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-list-gutter",je);class Ee extends f.a{static get properties(){return{align:{attribute:!0},record:Object,column:Object,rowIndex:Number,value:Object}}static get styles(){return[Object(f.b)(ve||(ve=ke(["\n :host {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n\n white-space: normal;\n overflow: hidden;\n padding: 1px 7px 1px 0;\n\n font: inherit;\n }\n\n * {\n flex: 1;\n margin: 0;\n text-align: left;\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n\n label {\n flex: none;\n width: 33%;\n font: var(--data-list-item-etc-label-font);\n }\n\n input[type='checkbox'],\n input[type='radio'] {\n zoom: var(--grist-input-zoom);\n }\n\n @media only screen and (max-width: 460px) {\n *[center] {\n margin: initial;\n }\n }\n "])))]}render(){var{value:e,column:t,record:n,rowIndex:i}=this,{label:r,record:{renderer:a}}=t;if(r){var{renderer:o}=r;return Object(f.e)(fe||(fe=ke(["<label>","</label>",""])),o(),a(e,t,n,i,this))}return Object(f.e)(ye||(ye=ke(["",""])),a(e,t,n,i,this))}}function Re(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-list-field",Ee);var Me,Se,Ie,Ne,ze,De,Te,Ce;class Ge extends f.a{static get styles(){return Object(f.b)(we||(we=Re(["\n :host {\n display: grid;\n grid-template-columns: 1fr 2fr;\n grid-auto-rows: min-content;\n grid-gap: var(--record-view-gap);\n background-color: var(--record-view-background-color);\n padding: var(--record-view-padding);\n\n overflow-y: auto;\n }\n\n label {\n position: relative;\n text-transform: capitalize;\n\n padding: var(--record-view-item-padding);\n border-bottom: var(--record-view-border-bottom);\n font: var(--record-view-label-font);\n color: var(--record-view-label-color);\n }\n\n label mwc-icon {\n display: none;\n }\n\n label[editable] mwc-icon {\n display: inline-block;\n font-size: var(--record-view-label-icon-size);\n opacity: 0.5;\n }\n\n data-grid-field {\n padding: 0 0 5px 0;\n border-bottom: var(--record-view-border-bottom);\n font: var(--record-view-font);\n color: var(--record-view-color);\n background-color: transparent;\n }\n\n data-grid-field[editing='true'] {\n border-top:none;\n border-bottom: var(--record-view-edit-border-bottom);\n }\n\n :first-child + data-grid-field {\n color: var(--record-view-focus-color);\n font-weight: bold;\n }\n "])))}static get properties(){return{columns:Array,record:Object,rowIndex:Number}}render(){var e=(this.columns||[]).filter(e=>!e.hidden&&"gutter"!=e.type),t=this.record||{},n=this.rowIndex;return Object(f.e)(Ae||(Ae=Re(["\n ","\n "])),e.map(e=>{var{editable:i}=e.record,r=t.__dirtyfields__||{};return Object(f.e)(xe||(xe=Re(["\n <label ?editable=",">"," <mwc-icon>edit</mwc-icon></label>\n <data-grid-field\n .rowIndex=","\n .column=","\n .record=","\n .value=","\n ?dirty=","\n ></data-grid-field>\n "])),i,this._renderLabel(e),n,e,t,t[e.name],!!r[e.name])}))}firstUpdated(){this.shadowRoot.addEventListener("click",e=>{e.stopPropagation();var t=e.target;this.editTarget&&(this.editTarget.removeAttribute("editing"),this.editTarget=null),"DATA-GRID-FIELD"===t.tagName&&t.column.record.editable&&(this.editTarget=t,t.setAttribute("editing",!0))}),this._focusedListener=function(e){switch(e.keyCode){case 27:case 13:return void(this.editTarget&&(this.editTarget.removeAttribute("editing"),this.editTarget=null));default:return}}.bind(this),window.addEventListener("keydown",this._focusedListener)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("keydown",this._focusedListener)}_renderLabel(e){var{renderer:t}=e.header,n=t.call(this,e);return Object(f.e)(Oe||(Oe=Re(["\n ","\n "])),n)}}function Pe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("record-view-body",Ge);class Be extends f.a{static get styles(){return Object(f.b)(Me||(Me=Pe(["\n :host {\n display: flex;\n flex-direction: column;\n }\n\n record-view-body {\n flex: 1;\n }\n\n [footer] {\n display: flex;\n text-align: right;\n background-color: var(--record-view-footer-background);\n box-shadow: var(--context-toolbar-shadow-line);\n height: var(--record-view-footer-height);\n }\n\n [footer] button {\n flex: 1;\n background-color: transparent;\n border: var(--record-view-footer-button-border);\n border-width: var(--record-view-footer-button-border-width);\n height: var(--record-view-footer-button-height);\n color: var(--record-view-footer-button-color);\n font-size: var(--record-view-footer-button-font);\n line-height: 3;\n }\n\n [footer] button * {\n vertical-align: middle;\n }\n\n [footer] button mwc-icon {\n margin-top: -3px;\n margin-right: 5px;\n font-size: var(--record-view-footer-iconbutton-size);\n }\n\n [footer] button[ok] {\n background-color: var(--record-view-footer-focus-background);\n }\n "])))}static get properties(){return{columns:Array,record:Object,rowIndex:Number}}render(){return Object(f.e)(Se||(Se=Pe(["\n <record-view-body .columns="," .record="," .rowIndex=","> </record-view-body>\n <div footer>\n <button @click=","><mwc-icon>refresh</mwc-icon>Reset</button>\n <button @click=","><mwc-icon>clear</mwc-icon>Cancel</button>\n <button @click="," ok><mwc-icon>radio_button_unchecked</mwc-icon>OK</button>\n </div>\n "])),this.columns,this.record,this.rowIndex,this.onReset.bind(this),this.onCancel.bind(this),this.onOK.bind(this))}onReset(){this.dispatchEvent(new CustomEvent("reset",{detail:this.record}))}onCancel(){this.dispatchEvent(new CustomEvent("cancel",{detail:this.record}))}onOK(){this.dispatchEvent(new CustomEvent("ok",{detail:this.record}))}}function Ye(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("record-view",Be);var Ze,Ue,Le,Qe,We;new Intl.DateTimeFormat(navigator.language,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1});class Ve extends f.a{static get properties(){return{config:Object,data:Object,record:Object,rowIndex:Number,selectedRow:{attribute:"selected-row"}}}static get styles(){return[Object(f.b)(Ie||(Ie=Ye(["\n :host {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: var(--data-list-item-border-bottom);\n position: relative;\n min-height: 42px;\n }\n\n data-list-gutter {\n flex: 0 0 14px;\n }\n\n :host([dirty])::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n\n width: 0px;\n height: 0px;\n border-top: var(--grid-record-dirty-border-top);\n border-right: var(--grid-record-dirty-border-left);\n }\n\n :host > * {\n margin: var(--data-list-item-margin);\n zoom: 1.4;\n }\n\n :host [dirty] {\n position: absolute;\n margin: 0;\n height: 20px;\n font: var(--grid-record-dirty-icon-font);\n text-indent: 1px;\n left: 0;\n top: 0;\n color: var(--grid-record-dirty-color);\n }\n\n [content] {\n flex: auto;\n display: block;\n zoom: 1;\n }\n\n data-list-field {\n padding-top: 3px;\n font: var(--data-list-item-etc-font);\n color: var(--data-list-item-etc-color);\n }\n\n data-list-field[name] {\n font: var(--data-list-item-name-font);\n color: var(--data-list-item-name-color);\n }\n\n data-list-field[desc] {\n font: var(--data-list-item-disc-font);\n color: var(--data-list-item-disc-color);\n }\n\n .update-info {\n font: var(--data-list-item-etc-font);\n color: var(--data-list-item-etc-color);\n }\n\n .update-info mwc-icon {\n vertical-align: middle;\n font-size: 1em;\n }\n "])))]}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n)}onFieldChange(e){this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:e.detail}))}get recordView(){this._recordView||(this._recordView=document.createElement("record-view"),this._recordView.addEventListener("field-change",e=>this.onFieldChange(e)));var e=this.config.columns;return this._recordView.columns=e,this._recordView.record=this.record,this._recordView.rowIndex=this.rowIndex,this._recordView}firstUpdated(){this.shadowRoot.addEventListener("click",be.bind(this)),this.shadowRoot.addEventListener("dblclick",me.bind(this))}updated(e){e.has("record")&&this._recordView&&(this._recordView.record=this.record)}render(){var e,t=this.record||{},n=this.rowIndex,{columns:i,list:r}=this.config,{fields:a}=r,o=a.map(e=>i.find(t=>t.name==e)).filter(e=>e),s=(i||[]).filter(e=>"gutter"==e.type&&e.forList);if(this.hasAttribute("dirty"))switch(this.record.__dirty__){case"M":e="done";break;case"+":e="add";break;case"-":e="remove"}return Object(f.e)(Ne||(Ne=Ye(["\n ","\n ","\n\n <div content>\n ","\n </div>\n "])),e?Object(f.e)(ze||(ze=Ye([" <mwc-icon dirty>","</mwc-icon> "])),e):Object(f.e)(De||(De=Ye([""]))),s.map(e=>Object(f.e)(Te||(Te=Ye(["\n <data-list-gutter\n .rowIndex=","\n .column=","\n .record=","\n .value=","\n ></data-list-gutter>\n "])),n,e,t,t[e.name])),o.map((e,i)=>Object(f.e)(Ce||(Ce=Ye(["\n <data-list-field\n .rowIndex=","\n .column=","\n .record=","\n .value=","\n ?name=","\n ?desc=","\n ></data-list-field>\n "])),n,e,t,t[e.name],0==i,1==i)))}popupRecordView(){var e=this.config.list.fields[0]||"name",t=this.record[e];if("object"==typeof t){var n=this.config.columns.find(t=>t.name==e);t=n.record.renderer(t,n,this.record,this.rowIndex,this)}document.dispatchEvent(new CustomEvent("open-popup",{detail:{template:this.recordView,options:{backdrop:!0,size:"large",title:t},callback:e=>{this.recordView.addEventListener("reset",()=>{this.dispatchEvent(new CustomEvent("record-reset",{bubbles:!0,composed:!0,detail:{record:this.record,row:this.rowIndex}}))}),this.recordView.addEventListener("cancel",()=>{this.dispatchEvent(new CustomEvent("record-reset",{bubbles:!0,composed:!0,detail:{record:this.record,row:this.rowIndex}})),e.close()}),this.recordView.addEventListener("ok",()=>{e.close()}),e.onclosed=()=>{delete this._recordView}}}}))}}function Fe(e){e.stopPropagation();var t=e.target,{record:n,rowIndex:i}=t}function _e(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Je(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){_e(a,i,r,o,s,"next",e)}function s(e){_e(a,i,r,o,s,"throw",e)}o(void 0)}))}}function He(e){return Xe.apply(this,arguments)}function Xe(){return(Xe=Je((function*(e){e.stopPropagation();var t=e.target,{record:n,rowIndex:i}=t}))).apply(this,arguments)}function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qe(Object(n),!0).forEach((function(t){$e(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("record-partial",Ve);class tt extends f.a{static get properties(){return{config:Object,data:Object,_records:Array,isTop:Boolean}}static get styles(){return[Object(f.b)(Ze||(Ze=et(["\n :host {\n background-color: var(--data-list-background-color);\n overflow-y: auto;\n }\n\n :nth-child(even) {\n background-color: var(--theme-white-color);\n }\n\n [selected-row] {\n background-color: var(--data-list-selected-background-color);\n }\n\n #upward {\n --mdc-icon-size: 26px;\n position: absolute;\n top: var(--data-list-fab-position-vertical);\n right: var(--data-list-fab-position-horizontal);\n background-color: rgba(255, 255, 255, 0.7);\n border-radius: 20px;\n color: var(--data-list-fab-color);\n box-shadow: var(--data-list-fab-shadow);\n padding: 7px;\n }\n\n slot {\n width: 100%;\n }\n\n slot[name='headroom'] {\n display: flex;\n position: absolute;\n top: 0;\n }\n "])))]}firstUpdated(e){this.isTop=!0,this.addEventListener("scroll",e=>{if(this.scrollHeight<=this.offsetHeight+this.scrollTop+1){var t=Math.ceil(this._total/this._limit);this._page<t&&this.dispatchEvent(new CustomEvent("attach-page",{bubbles:!0,composed:!0}))}this.isTop=0==this.scrollTop}),this.addEventListener("select-record-change",e=>{var{records:t,added:n=[],removed:i=[]}=e.detail,{records:r}=this.data||{},{selectable:a=!1}=this.config.rows;r&&a&&(a&&!a.multiple&&r.forEach(e=>e.__selected__=!1),t?(r.forEach(e=>e.__selected__=!1),t.forEach(e=>e.__selected__=!0)):(i.forEach(e=>e.__selected__=!1),n.forEach(e=>e.__selected__=!0)),this.requestUpdate())}),this.addEventListener("field-change",e=>{var{after:t,before:n,column:i,record:r,row:a}=e.detail;if(t!==n){var o=i.validation;o&&!o.call(this,t,n,r,i)||this.onRecordChanged({[i.name]:t},a,i)}}),this.addEventListener("record-reset",e=>{var{record:t,row:n}=e.detail;this.onRecordChanged(t.__origin__,n,null)}),this.shadowRoot.addEventListener("click",Fe.bind(this)),this.shadowRoot.addEventListener("dblclick",He.bind(this))}onRecordChanged(e,t,n){var i,r,a=(null===(i=this.data)||void 0===i?void 0:i.records)||[],o=a[t],s=!1,l=!1;if(e)if(o){var c=o.__dirty__;r=Ke(Ke(Ke({},o),e),{},"+"==c?{__dirty__:"+"}:{__dirty__:"M"})}else r=Ke(Ke({},e),{},{__dirty__:"+"}),l=!0;else{if(!o)return void this.requestUpdate();"+"==o.__dirty__?s=!0:r=Ke(Ke({},o),{},{__dirty__:"-"})}l?a.push(r):s?a.splice(t,1):a.splice(t,1,r),this.dispatchEvent(new CustomEvent("record-change",{bubbles:!0,composed:!0,detail:{before:o,after:r,column:n,row:t}}))}updated(e){e.has("config")&&(this._records=[],this._page=1),e.has("data")&&(this._records=this.data.records,this._total=this.data.total,this._limit=this.data.limit,this._page=this.data.page)}render(){var e=this._records||[];return this.config&&this.config.rows.appendable&&(e=[...e,{__dirty__:"+"}]),Object(f.e)(Ue||(Ue=et(["\n ","\n ","\n "])),e.map((e,t)=>Object(f.e)(Le||(Le=et(["\n <record-partial\n .config=","\n .data=","\n .record=","\n .rowIndex=","\n ?selected-row=","\n ?dirty=","\n ></record-partial>\n "])),this.config,this.data,e,t,e.__selected__,e.__dirty__)),this.isTop?Object(f.e)(Qe||(Qe=et([""]))):Object(f.e)(We||(We=et([' <mwc-icon id="upward" @click=',">arrow_upward</mwc-icon> "])),e=>this.gotoTop(e)))}gotoTop(e){this.scrollTop=0,e.stopPropagation()}}customElements.define("data-list",tt);var nt,it,rt,at,ot,st,lt,ct,dt,pt,ut=n(309),ht=n.n(ut),bt=n(222);function mt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function gt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class ft extends f.a{static get styles(){return Object(f.b)(ot||(ot=vt(["\n :host {\n display: block;\n text-align: center !important;\n }\n mwc-icon {\n width: var(--grid-record-dirty-icon-size);\n height: var(--grid-record-dirty-icon-size);\n border-radius: 50%;\n opacity: 0.8;\n }\n [add] {\n background-color: var(--status-success-color);\n }\n [remove] {\n background-color: var(--status-danger-color);\n }\n [done] {\n background-color: var(--status-info-color);\n }\n "])))}static get properties(){return{value:String}}render(){switch(this.value){case"+":return Object(f.e)(st||(st=vt([" <mwc-icon style="," center add>add</mwc-icon> "])),yt);case"-":return Object(f.e)(lt||(lt=vt([" <mwc-icon style="," center remove>remove</mwc-icon> "])),yt);case"M":return Object(f.e)(ct||(ct=vt([" <mwc-icon style="," center done>done</mwc-icon> "])),yt);default:return""}}}customElements.define("gutter-dirty-element",ft);var yt="font-size: var(--grid-record-fontsize);vertical-align: middle; color: var(--grid-record-dirty-color)";var wt={sequence:class{static instance(e={}){return Object.assign({},{type:"gutter",name:"__seq__",getterType:"sequence",width:function(e){if(this.data)var{limit:t=0,page:n=1,records:i=[]}=this.data||{},r=(n-1)*t+i.length;else r=100;return"".concat(Math.max(String(r).length,2),"ch")},resizable:!1,sortable:!1,header:"#",record:{renderer:function(e,t,n,i,r){return e},align:"right"},forGrid:!0,forList:!1},e)}},"row-selector":class{static instance(e={}){return Object.assign({},{type:"gutter",name:"__selected__",gutterType:"row-selector",width:30,resizable:!1,sortable:!1,header:{renderer:function(e){var t=((this.data||{}).records||[]).find(e=>e.__selected__);return Object(f.e)(nt||(nt=mt(['\n <input\n type="checkbox"\n .checked=',"\n @change=","\n />\n "])),t,t=>{var n=!!e.multiple&&t.target.checked;this.dispatchEvent(new CustomEvent("select-all-change",{bubbles:!0,composed:!0,detail:{selected:n}})),t.stopPropagation()})}},record:{renderer:function(e,t,n,i,r){return Object(f.e)(it||(it=mt(["\n <input\n type=","\n .checked=","\n @change=","\n />\n "])),t.multiple?"checkbox":"radio",!!e,e=>{var i=e.target.checked,a=t.multiple?{added:i?[n]:[],removed:i?[]:[n]}:{records:i?[n]:[]};r.dispatchEvent(new CustomEvent("select-record-change",{bubbles:!0,composed:!0,detail:a})),e.stopPropagation()})}},forGrid:!0,forList:!0},e)}},button:class{static instance(e={}){var{icon:t="edit"}=e,n="function"==typeof t?t:()=>t;return Object.assign({},{type:"gutter",gutterType:"button",width:26,resizable:!1,sortable:!1,header:{renderer:function(e){return Object(f.e)(rt||(rt=gt([" <mwc-icon style=",">","</mwc-icon> "])),"font-size: var(--grid-record-fontsize);margin-top:1px;",n())}},record:{renderer:function(e,t,i,r,a){return Object(f.e)(at||(at=gt([" <mwc-icon style=",">","</mwc-icon> "])),"font-size: var(--grid-record-fontsize);margin-top:1px;",n(i))}},forGrid:!0,forList:!0},e)}},dirty:class{static instance(e={}){return Object.assign({},{type:"gutter",name:"__dirty__",gutterType:"dirty",width:30,resizable:!1,sortable:!1,header:"",record:{renderer:function(e,t,n,i,r){return e?Object(f.e)(dt||(dt=vt([" <gutter-dirty-element value=","></gutter-dirty-element> "])),e):Object(f.e)(pt||(pt=vt([""])))}},forGrid:!0,forList:!1},e)}}};var At,xt=n(5);var Ot,jt=(e,t,n,i,r)=>Object(xt.g)(At||(At=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <input\n type="checkbox"\n .checked=',"\n ?disabled=","\n @click=","\n />\n "])),!!e,!t.record.editable,a=>{r.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:e,after:a.target.checked,column:t,record:n,row:i}}))});var kt=(e,t,n,i,r)=>{var a=void 0===e?"":e;return Object(xt.g)(Ot||(Ot=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["<span title=",">","</span>"])),a,a)},Et={datetime:{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1},time:{hour:"numeric",minute:"numeric",second:"numeric"},date:{year:"numeric",month:"numeric",day:"numeric"}};var Rt,Mt=(e,t,n,i,r)=>{if(!e)return"";isNaN(Number(e))||(e=Number(e));var a=t.record.options||Et[t.type],o=new Intl.DateTimeFormat(navigator.language,a);switch(t.type){case"datetime":case"date":return o.format(new Date(e));case"time":default:return e}};var St,It,Nt;function zt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class Dt extends f.a{static get styles(){return Object(f.b)(St||(St=zt(["\n :host {\n display: block;\n position: relative;\n\n width: 100%;\n height: 100%;\n }\n\n #border {\n display: block;\n position: absolute;\n\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n\n border: var(--grist-input-progress-border);\n background-color: var(--grist-input-progress-background);\n }\n\n #bar {\n background-color: var(--grist-input-progress-bar-background);\n text-align: left;\n color: var(--grist-input-progress-bar-color);\n }\n "])))}static get properties(){return{value:Number,min:Number,max:Number}}render(){var{value:e,min:t,max:n}=this,i=isNaN(Number(e))?0:Math.min(100,Math.max(0,100*(Number(e)-t)/(n-t)));return Object(f.e)(It||(It=zt(['\n <div id="border"></div>\n <div id="bar" style="width:','%">&nbsp;',"</div>\n "])),i,i)}}customElements.define("data-grist-progress-renderer",Dt);var Tt,Ct;function Gt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Pt,Bt;function Yt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Zt,Ut,Lt,Qt,Wt,Vt,Ft,_t,Jt,Ht,Xt,qt,Kt,$t,en,tn,nn,rn,an={string:kt,text:kt,email:kt,tel:kt,password:(e,t,n,i,r)=>Array(String(e).length).fill("*").join(""),integer:kt,float:kt,number:kt,select:(e,t,n,i,r)=>{if(!e)return"";var a=n[t.record.rowOptionField],o=null!=a&&a.options?a.options:t.record.options;"function"==typeof o&&(o=o.call(null,e,t,n,i,r));var s=o.filter(t=>t.value==e);return s.length?s[0].display:e},boolean:jt,checkbox:jt,month:kt,week:kt,date:Mt,time:Mt,datetime:Mt,color:(e,t,n,i,r)=>(e=void 0===e?"#000":e,Object(xt.g)(Rt||(Rt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <div style="display:block;background-color:','">',"</div>\n "])),e,e)),progress:(e,t,n,i,r)=>{var{min:a=0,max:o=100}=t.record.options||{};return Object(f.e)(Nt||(Nt=zt(["\n <data-grist-progress-renderer\n .value=","\n .min=","\n .max=","\n ></data-grist-progress-renderer>\n "])),Number(e),Number(a),Number(o))},link:(e,t,n,i,r)=>{var{href:a,target:o}=t.record.options||{};return e=void 0===e?"":e,"function"==typeof a&&(a=a(e,t,n,i,r)),o?Object(xt.g)(Tt||(Tt=Gt(['\n <a style="text-decoration:none;color:inherit" href='," target=",">","</a>\n "])),a||e,o,e):Object(xt.g)(Ct||(Ct=Gt(['\n <a style="text-decoration:none;color:inherit" href=',">","</a>\n "])),a||e,e)},image:(e,t,n,i,r)=>{if(!e)return Object(xt.g)(Pt||(Pt=Yt([""])));var a;"string"==typeof e?a=e:(a=URL.createObjectURL(e),requestAnimationFrame(()=>URL.revokeObjectURL(a)));var{width:o,height:s}=t.record.options||{};return Object(xt.g)(Bt||(Bt=Yt([" <img src=",' alt="upload image" width='," height="," />"])),a,o,s)}};function on(e,t){an[e]=t}function sn(e){return"function"==typeof e?e:an[e||"text"]||kt}function ln(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function cn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var dn=Object(f.b)(Zt||(Zt=cn(["\n :host {\n display: block;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n }\n\n :host > * {\n display: block;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background-color: transparent;\n\n box-sizing: border-box;\n\n font-size: inherit;\n font-family: inherit;\n }\n\n :host > style {\n display: none;\n }\n\n :host > input[type='checkbox'] {\n width: initial;\n margin: auto;\n }\n input[type='checkbox'],\n input[type='radio'] {\n zoom: var(--grist-input-zoom);\n }\n *:focus {\n outline: none;\n }\n\n input[type='file'] {\n opacity: 0%;\n }\n\n @media screen and (max-width: 460px) {\n :host > * {\n border: initial;\n background-color: initial;\n }\n *:focus {\n outline: none;\n }\n }\n"])));class pn extends f.a{static get properties(){return{value:Object,column:Object,record:Object,rowIndex:Number,field:Object}}static get styles(){return dn}render(){return this.editorTemplate}get editor(){return this.shadowRoot.firstElementChild}firstUpdated(){var e,t=this;return(e=function*(){t.shadowRoot.addEventListener("change",t.onchange.bind(t)),t.shadowRoot.addEventListener("focusout",t.onfocusout.bind(t)),t.shadowRoot.addEventListener("click",t.onclick.bind(t)),t.shadowRoot.addEventListener("dblclick",t.ondblclick.bind(t));var e=t.column.record&&t.column.record.align;e&&(t.style.textAlign=e,t.style.textAlignLast=e),t.value=t._dirtyValue=t.formatForEditor(t.record[t.column.name]),t.focus(),yield t.updateComplete,t.select()},function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){ln(a,i,r,o,s,"next",e)}function s(e){ln(a,i,r,o,s,"throw",e)}o(void 0)}))})()}select(){this.editor.select&&this.editor.select()}focus(){this.editor.focus()}formatForEditor(e){return void 0===e?"":e}formatFromEditor(e){return e.target.value}onfocusout(){this._dirtyValue!==this.value&&this.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{before:this.value,after:this._dirtyValue,column:this.column,record:this.record,row:this.row}}))}onchange(e){e.stopPropagation(),this._dirtyValue=this.formatFromEditor(e)}onclick(e){e.stopPropagation()}ondblclick(e){e.stopPropagation()}get editorTemplate(){return Object(f.e)(Ut||(Ut=cn([""])))}}customElements.define("input-editor",pn);class un extends pn{get editorTemplate(){return Object(f.e)(Lt||(Lt=cn([' <input type="text" .value='," /> "])),this.value)}}customElements.define("text-input",un);class hn extends pn{get editorTemplate(){return Object(f.e)(Qt||(Qt=cn([' <input type="email" .value='," /> "])),this.value)}}customElements.define("email-input",hn);class bn extends pn{get editorTemplate(){return Object(f.e)(Wt||(Wt=cn([' <input type="tel" .value='," /> "])),this.value)}}customElements.define("tel-input",bn);class mn extends pn{formatFromEditor(e){var t=e.target.value;switch(this.column.type){case"float":return Number.parseFloat(t);case"integer":return Number.parseInt(t);default:return Number(t)}}get editorTemplate(){var{min:e=-1/0,max:t=1/0}=this.column.record.options||{};return Object(f.e)(Vt||(Vt=cn([' <input type="number" .value='," .min="," .max="," /> "])),this.value,Number(e),Number(t))}}customElements.define("number-input",mn);class gn extends pn{get editorTemplate(){return Object(f.e)(Ft||(Ft=cn([' <input type="password" .value='," /> "])),this.value)}}customElements.define("password-input",gn);class vn extends pn{get editorTemplate(){return Object(f.e)(_t||(_t=cn([' <input type="date" .value='," /> "])),this.value)}}customElements.define("date-input",vn);class fn extends pn{get editorTemplate(){return Object(f.e)(Jt||(Jt=cn([' <input type="month" .value='," /> "])),this.value)}}customElements.define("month-input",fn);class yn extends pn{get editorTemplate(){return Object(f.e)(Ht||(Ht=cn([' <input type="week" .value='," /> "])),this.value)}}customElements.define("week-input",yn);class wn extends pn{get editorTemplate(){return Object(f.e)(Xt||(Xt=cn([' <input type="time" .value='," /> "])),this.value)}}customElements.define("time-input",wn);class An extends pn{formatForEditor(e){e||(e=Date.now());var t=6e4*new Date(e).getTimezoneOffset();return new Date(e-t).toISOString().slice(0,-1)}formatFromEditor(e){var t=e.target.value;return new Date(t).getTime()}get editorTemplate(){return Object(f.e)(qt||(qt=cn([' <input type="datetime-local" .value='," /> "])),this.value)}}customElements.define("datetime-input",An);class xn extends pn{get editorTemplate(){return Object(f.e)(Kt||(Kt=cn([' <input type="color" .value='," /> "])),this.value)}}customElements.define("color-input",xn);class On extends pn{formatFromEditor(e){return e.target.checked}get editorTemplate(){return Object(f.e)($t||($t=cn([' <input type="checkbox" .checked='," /> "])),!!this.value)}}customElements.define("checkbox-input",On);class jn extends pn{get imageInput(){var e=this.renderRoot.querySelector("input[type=file]");if(!e)throw new Error("Failed to find input");return e}get editorTemplate(){return Object(f.e)(en||(en=cn(["",' <input type="file" accept="image/*" /> '])),this.value?Object(f.e)(tn||(tn=cn(["<span\n >","<button\n @click=","\n >\n X\n </button></span\n >"])),this.value.name||this.value,()=>{this.imageInput.dispatchEvent(new Event("change",{bubbles:!0}))}):"")}focus(){this.value||this.imageInput.click()}onchange(e){e.stopPropagation(),this._dirtyValue=this.formatFromEditor(e),this.onfocusout()}formatFromEditor(e){return e.target.files[0]?e.target.files[0]:e.target.value}}customElements.define("image-input",jn);class kn extends pn{get editorTemplate(){var e=this.record[this.column.record.rowOptionField],{options:t=[]}=e||this.column.record;return"function"==typeof t&&(t=t.call(null,this.value,this.column,this.record,this.rowIndex,this.field)),t=t.map(e=>{switch(typeof e){case"string":return{display:e,value:e};case"object":return{display:e.display,value:e.value};default:return e}}),Object(f.e)(nn||(nn=cn(["\n <select>\n ","\n </select>\n "])),t.map(e=>Object(f.e)(rn||(rn=cn(["\n <option ?selected="," value=",">","</option>\n "])),e.value==this.value,e.value,e.display)))}}customElements.define("select-input",kn);var En,Rn={string:un,text:un,email:hn,tel:bn,password:gn,integer:mn,float:mn,number:mn,select:kn,boolean:On,checkbox:On,month:fn,week:yn,date:vn,time:wn,datetime:An,color:xn,progress:mn,link:un,image:jn};function Mn(e,t){Rn[e]=t}function Sn(e){return"function"==typeof e?e:function(t,n,i,r,a){var o=new(Rn[e||"text"]||un);return o.value=t,o.record=i,o.column=n,o.row=r,o.field=a,o}}function In(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Nn={"record-view":function(e,t,n,i,r,a){document.dispatchEvent(new CustomEvent("open-popup",{detail:{template:Object(xt.g)(En||(En=In(["\n <record-view\n .field=","\n .columns=","\n .column=","\n .record=","\n .rowIndex=","\n @reset=","\n @cancel=","\n @ok=","\n ></record-view>\n "])),a,e,n,i,r,e=>{a.dispatchEvent(new CustomEvent("record-reset",{bubbles:!0,composed:!0,detail:i}))},e=>{a.dispatchEvent(new CustomEvent("record-reset",{bubbles:!0,composed:!0,detail:i})),popup.close()},e=>{popup.close()})},options:{backdrop:!0,size:"large",title:i.name}}))},"select-row":function(e,t,n,i,r,a){a.dispatchEvent(new CustomEvent("select-record-change",{bubbles:!0,composed:!0,detail:{added:[i]}}))},"select-row-toggle":function(e,t,n,i,r,a){a.dispatchEvent(new CustomEvent("select-record-change",{bubbles:!0,composed:!0,detail:i.__selected__?{removed:[i]}:{added:[i]}}))}};function zn(e){return"function"==typeof e?e:Nn[e]}var Dn=function(){};function Tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Cn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tn(Object(n),!0).forEach((function(t){Gn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Pn=e=>{var t=Cn({},e);"gutter"==e.type&&(t=(e=>{var t=wt[e.gutterName];if(t)return t.instance(e)})(e));var{name:n,header:i={},record:r={},handlers:a={},label:o}=t;if("string"==typeof i)t.header={renderer:()=>i};else{var{renderer:s}=i;t.header=Cn(Cn({},i),{},{renderer:sn(s)})}if(o)switch(typeof o){case"boolean":var l="string"==typeof i?i:n;t.label={renderer:()=>l};break;case"string":t.label={renderer:()=>o};break;default:t.label=o}else t.label=!1;var{renderer:c,editor:d,editable:p,classifier:u}=r;c||(c=sn(e.type)),p&&"function"!=typeof d&&(d=Sn(e.type)),"function"!=typeof u&&(u=Dn),t.record=Cn(Cn({},r),{},{classifier:u,renderer:c,editor:d});var{click:h,dblclick:b}=a;return t.handlers={click:zn(h),dblclick:zn(b)},t},Bn=e=>{var{appendable:t=!0,insertable:n=!1,selectable:i,groups:r=[],totals:a=[],classifier:o}=e,{click:s,dblclick:l}=e.handlers||{};return"function"!=typeof o&&(o=Dn),{appendable:t,insertable:n,selectable:i,groups:r,totals:a,handlers:{click:zn(s),dblclick:zn(l)},classifier:o}},Yn=e=>{var{fields:t=["name","description","updatedAt"]}=e;return{fields:t}};function Zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function Un(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zn(Object(n),!0).forEach((function(t){Ln(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ln(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Qn,Wn,Vn,Fn,_n,Jn,Hn=e=>{var{columns:t=[],rows:n={},pagination:i={},list:r={},grid:a={},recordView:o={},imex:s={}}=e;return Un(Un({},e),{},{columns:t.map(e=>Pn(e)),rows:Bn(n),pagination:i,list:Yn(r),grid:a,recordView:o,imex:s})},Xn=n(54),qn=n.n(Xn),Kn=n(310),$n=n.n(Kn);function ei(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ti(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ei(Object(n),!0).forEach((function(t){ni(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ei(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ni(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ii(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function ri(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){ii(a,i,r,o,s,"next",e)}function s(e){ii(a,i,r,o,s,"throw",e)}o(void 0)}))}}class ai{constructor(e){this.grist=e,this._fetchHandler=null,this._editHandler=null,this._pageChangeHandler=this.onPageChange.bind(this),this._limitChangeHandler=this.onLimitChange.bind(this),this._sortersChangeHandler=this.onSortersChange.bind(this),this._recordChangeHandler=this.onRecordChange.bind(this),this._attachPageHandler=this.onAttachPage.bind(this),this.grist.addEventListener("attach-page",this._attachPageHandler),this.grist.addEventListener("page-change",this._pageChangeHandler),this.grist.addEventListener("limit-change",this._limitChangeHandler),this.grist.addEventListener("sorters-change",this._sortersChangeHandler),this.grist.addEventListener("record-change",this._recordChangeHandler)}dispose(){this.grist.removeEventListener("attach-page",this._attachPageHandler),this.grist.removeEventListener("page-change",this._pageChangeHandler),this.grist.removeEventListener("limit-change",this._limitChangeHandler),this.grist.removeEventListener("sorters-change",this._sortersChangeHandler),this.grist.removeEventListener("record-change",this._recordChangeHandler)}onAttachPage(){this.attach()}onPageChange(e){var t=e.detail;this.fetch({page:t})}onLimitChange(e){var t=e.detail;this.fetch({limit:t})}onSortersChange(e){this.sorters=e.detail,this.fetch()}checkDirties(){var{records:e}=this.grist.dirtyData,{columns:t}=this.grist._config;for(var n of e||[]){var i=n.__origin__||{},r=n.__dirtyfields__=t.filter(e=>"gutter"!==e.type&&!qn()(i[e.name],n[e.name])).reduce((e,t)=>{var r=t.name;return e[r]={before:i[r],after:n[r]},e},{});"M"==n.__dirty__&&$n()(r)&&delete n.__dirty__}this.grist.refresh()}onRecordChange(e){this.checkDirties(),this.editHandler.call()}get fetchOptions(){return this._fetchOptions}set fetchOptions(e){this._fetchOptions=e,this.fetch()}get fetchHandler(){var e=this;return this._fetchHandlerWrap||(this._fetchHandlerWrap=function(){var t=ri((function*(...t){try{return e.grist.showSpinner(),yield(e._fetchHandler||Dn)(...t)}finally{e.grist.hideSpinner()}}));return function(){return t.apply(this,arguments)}}()),this._fetchHandlerWrap}set fetchHandler(e){this._fetchHandler=e,delete this._fetchHandlerWrap}get editHandler(){return this._editHandler||Dn}set editHandler(e){this._editHandler=e}get sorters(){return this._sorters}set sorters(e){this._sorters=e}attach(e=!1){var t=this;return ri((function*(){var{page:n=0,limit:i=20}=t;return e?(t.records=null,n=1):(t.records=t.grist._data?t.grist._data.records:null,n+=1),t._update(ti({limit:i,page:n},yield t.fetchHandler.call(null,{page:n,limit:i,sorters:t.sorters,options:t.fetchOptions})),e)}))()}fetch({page:e=this.page,limit:t=this.limit,sorters:n=this.sorters}={}){var i=this;return ri((function*(){return i.records=null,i.sorters=n,i._update(ti({limit:t,page:e},yield i.fetchHandler.call(null,{page:e,limit:t,sorters:n,options:i.fetchOptions})))}))()}_update({page:e,limit:t,total:n,records:i}){var r=this;return ri((function*(){var a=function(e,t){return Math.max(1,Math.ceil(t/e))}(t,n);if(a<e)return yield r.fetch({page:a,limit:t});if(r.page=r.page||e,r.limit=r.limit||t,i){if(r.records){if(!(r.page<e))return;r.records=[...r.records,...i]}else r.records=i;r.limit=t,r.total=n,r.page=e,r.grist.data={page:r.page,limit:r.limit,total:r.total,records:r.records}}}))()}}function oi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function si(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oi(Object(n),!0).forEach((function(t){li(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function li(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ci(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function di(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){ci(a,i,r,o,s,"next",e)}function s(e){ci(a,i,r,o,s,"throw",e)}o(void 0)}))}}function pi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ui,hi,bi,mi,gi,vi,fi,yi,wi,Ai,xi,Oi,ji,ki,Ei,Ri,Mi,Si,Ii={page:1,limit:20,total:1,records:[]};class Ni extends f.a{static get styles(){return[y.b,Object(f.b)(Qn||(Qn=pi(["\n :host {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n background-color: var(--grist-background-color);\n padding: var(--grist-padding);\n min-height: 120px;\n\n overflow: hidden;\n\n /* for pulltorefresh controller */\n position: relative;\n\n --mdc-icon-size: var(--grid-record-wide-fontsize);\n }\n\n data-grid,\n data-list {\n flex: 1;\n }\n\n oops-spinner {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n oops-spinner[show] {\n display: block;\n }\n\n oops-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n slot[name='headroom'] {\n display: block;\n\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n box-sizing: border-box;\n }\n "])))]}static get properties(){return{mode:String,config:Object,data:Object,selectedRecords:Array,fetchHandler:Object,fetchOptions:Object,editHandler:Object,_data:Object,_config:Object,_showSpinner:Boolean}}connectedCallback(){super.connectedCallback(),this.dataProvider=new ai(this)}disconnectedCallback(){super.disconnectedCallback(),this.dataProvider.dispose()}firstUpdated(){var e=this;return di((function*(){e.fetchHandler&&Object(bt.a)({container:e.shadowRoot,scrollable:e.grist,refresh:()=>e.fetch(!0)});var t=e.renderRoot.querySelector("slot[name=headroom]"),n=e.renderRoot.querySelector("#grist");yield e.requestUpdate();var i=parseFloat(getComputedStyle(n,null).getPropertyValue("padding-top"));n.style.paddingTop=t.clientHeight+i+"px",new ht.a(t,{scroller:n}).init()}))()}render(){var e=!(this._showSpinner||this._data&&this._data.records&&0!=this._data.records.length);return Object(f.e)(Wn||(Wn=pi(["\n ","\n ","\n <oops-spinner ?show=",'></oops-spinner>\n\n <slot name="headroom"> </slot>\n '])),e?Object(f.e)(Vn||(Vn=pi([' <oops-note icon="list" title="EMPTY LIST" description="There are no records to be shown"></oops-note> ']))):Object(f.e)(Fn||(Fn=pi([""]))),"GRID"==this.mode?Object(f.e)(_n||(_n=pi([' <data-grid id="grist" .config='," .data=","> </data-grid> "])),this._config,this._data):Object(f.e)(Jn||(Jn=pi([' <data-list id="grist" .config='," .data=","> </data-list> "])),this._config,this._data),this._showSpinner)}fetch(e=!0){var t=this;return di((function*(){if(t._config){if(e&&(t.grist.scrollTop=0),t.dataProvider){var{limit:n,page:i,infinite:r}=t._config.pagination,{limit:a=n||Ii.limit,page:o=i||Ii.page}=t.dataProvider,{sorters:s}=t._config;r||"GRID"!==t.mode?yield t.dataProvider.attach(e):yield t.dataProvider.fetch({limit:a,page:o,sorters:s})}}else console.warn("grist is not configured yet.")}))()}updated(e){if(e.has("config")&&(this._config=Hn(si({},this.config)),this.dataProvider.sorters=this._config.sorters,this.fetch()),e.has("fetchHandler")&&(this.dataProvider.fetchHandler=this.fetchHandler),e.has("editHandler")&&(this.dataProvider.editHandler=this.editHandler),e.has("fetchOptions")&&(this.dataProvider.fetchOptions=this.fetchOptions),e.has("data")&&this.reset(),e.has("selectedRecords")){var{records:t}=this.data||[],n=this.selectedRecords||[],i=this._data.records;n.forEach(e=>{var n=t.indexOf(e),r=i[n];r&&(r.__selected__=!0)}),this.refresh()}}get grist(){return this.shadowRoot.querySelector("#grist")}get dirtyData(){return this.grist.data||{}}get dirtyRecords(){var{records:e=[]}=this.dirtyData;return e.filter(e=>e.__dirty__)}exportPatchList({flagName:e="patchFlag",addedFlag:t="+",deletedFlag:n="-",modifiedFlag:i="M",idField:r="id"}){var a=this.dirtyRecords;return a&&0!=a.length?a.map(a=>{var o=a.__dirty__,s={[e]:"M"==o?i:"+"==o?t:n};for(var l in r in a&&a[r]&&(s[r]=a[r]),a.__dirtyfields__)s[l]=a[l];return s}):[]}exportRecords({ifSelectedOnly:e=!0,includeHiddenField:t=!0}={}){var n=e?this.selected:this.data.records;!e||n&&0!=n.length||(n=this.data.records);var i=this._config.columns.filter(e=>"gutter"!==e.type);t||(i=i.filter(e=>!e.hidden));var r=i.map(e=>e.name);return n.map(e=>r.reduce((t,n)=>(t[n]=e[n],t),{}))}get selected(){var{records:e=[]}=this.grist.data||{};return e.filter(e=>e.__selected__)}showSpinner(){this._showSpinner=!0}hideSpinner(){this._showSpinner=!1}focus(){super.focus(),this.grist.focus()}commit(){var{page:e,total:t,limit:n,records:i}=this.grist.data;this.data={page:e,total:t,limit:n,records:i.map(e=>{var t=si({},e);return delete t.__seq__,delete t.__dirty__,delete t.__selected__,delete t.__changes__,delete t.__dirtyfields__,delete t.__origin__,t})}}refresh(){this._data=si({},this._data)}reset(){var{limit:e=Ii.limit,page:t=Ii.page,total:n=Ii.total,records:i=[]}=this.data;i=i.map((n,i)=>si(si({},n),{},{__seq__:"GRID"==this.mode?(t-1)*e+i+1:i+1,__origin__:n})),this._data={limit:e,page:t,total:n,records:i}}}function zi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-grist",Ni);class Di extends f.a{static get properties(){return{config:Object,columns:Array,data:Object,_sorters:Array}}static get styles(){return[Object(f.b)(ui||(ui=zi(["\n :host {\n display: grid;\n grid-template-columns: var(--report-template-columns);\n\n overflow: hidden;\n }\n\n div {\n display: flex;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: var(--report-header-background-color, gray);\n border: 1px solid var(--report-header-border-color);\n border-width: 1px 1px 1px 0;\n padding: var(--report-header-padding);\n\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--report-header-fontsize, 1em);\n color: var(--report-header-color);\n }\n\n span {\n white-space: nowrap;\n overflow: hidden;\n\n text-align: center;\n }\n\n span[title] {\n flex: 1;\n text-overflow: ellipsis;\n font: var(--report-header-font);\n color: var(--report-header-color);\n text-transform: capitalize;\n }\n\n span[sorter] {\n padding: 0;\n border: 0;\n font-size: 10px;\n }\n\n span[splitter] {\n cursor: col-resize;\n }\n\n @media print {\n :host {\n grid-template-columns: var(--report-template-print-columns);\n }\n }\n "])))]}_onWheelEvent(e){var t=Math.max(-1,Math.min(1,e.deltaY||0));this.scrollLeft=Math.max(0,this.scrollLeft-40*t),w.m||e.preventDefault()}firstUpdated(){this.addEventListener("wheel",this._onWheelEvent.bind(this),!!w.m&&{passive:!0})}updated(e){e.has("config")&&(this._sorters=this.config.sorters||[])}render(){var e=this.columns||[];return Object(f.e)(hi||(hi=zi(["\n ","\n\n <div></div>\n "])),e.map((e,t)=>e.hidden?Object(f.e)(yi||(yi=zi([""]))):Object(f.e)(bi||(bi=zi(["\n <div @dragstart=",">\n <span title @click=",">"," </span>\n\n ","\n ","\n </div>\n "])),e=>this._dragStart(e,t),t=>this._changeSort(e),this._renderHeader(e),e.sortable?Object(f.e)(mi||(mi=zi(["\n <span sorter @click=","> "," </span>\n "])),t=>this._changeSort(e),this._renderSortHeader(e)):Object(f.e)(gi||(gi=zi([""]))),!1!==e.resizable?Object(f.e)(vi||(vi=zi([' <span splitter draggable="true">&nbsp;</span> ']))):Object(f.e)(fi||(fi=zi([""]))))))}_renderHeader(e){var{renderer:t}=e.header,n=t.call(this,e);return Object(f.e)(wi||(wi=zi([" "," "])),n)}_renderSortHeader(e){if(e.hidden)return Object(f.e)(Ai||(Ai=zi([""])));var t=this._sorters||[],n=t.find(t=>"gutter"!==e.type&&e.name==t.name);if(!n)return Object(f.e)(xi||(xi=zi([""])));if(t.length>1){var i=t.indexOf(n)+1;return n.desc?Object(f.e)(Oi||(Oi=zi([" &#9660;<sub>","</sub> "])),i):Object(f.e)(ji||(ji=zi([" &#9650;<sub>","</sub> "])),i)}return n.desc?Object(f.e)(ki||(ki=zi([" &#9660; "]))):Object(f.e)(Ei||(Ei=zi([" &#9650; "])))}_changeSort(e){if(e.sortable){var t=[...this._sorters||[]],n=t.findIndex(t=>t.name==e.name);if(-1!==n){var i=t[n];i.desc?t.splice(n,1):i.desc=!0}else{var r={name:e.name};t.push(r)}this._sorters=t,this.dispatchEvent(new CustomEvent("sorters-change",{bubbles:!0,composed:!0,detail:this._sorters}))}}_notifyWidthChange(e,t){this.throttledNotifier||(this.throttledNotifier=x()((function(e,t){e=this.dispatchEvent(new CustomEvent("column-width-change",{bubbles:!0,composed:!0,detail:{idx:e,width:t}}))}),100)),this.throttledNotifier(e,t)}_dragStart(e,t){var n=e.currentTarget,i=e.offsetX,r=(e=>{var n=this.columns[t],r=Math.max(0,Number(n.width)+e.offsetX-i);0!=r&&this._notifyWidthChange(t,r)}).bind(this),a=(e=>{n.removeEventListener("drag",r),n.removeEventListener("dragend",a),r(e)}).bind(this);n.addEventListener("drag",r),n.addEventListener("dragend",a)}}function Ti(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-report-header",Di);var Ci;class Gi extends f.a{static get properties(){return{align:{attribute:!0},record:Object,column:Object,rowIndex:Number,value:Object}}static get styles(){return[Object(f.b)(Ri||(Ri=Ti(["\n :host {\n display: flex;\n align-items: center;\n justify-content: var(--data-report-field-justify-content, flex-start);\n position: relative;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: var(--report-record-background-color);\n padding: var(--report-record-field-padding);\n border: 1px solid transparent;\n border-bottom: var(--report-record-field-border-bottom);\n\n font-size: var(--report-record-wide-fontsize);\n text-overflow: ellipsis;\n\n min-height: 19px;\n }\n\n :host([gutter]) * {\n cursor: default;\n }\n\n * {\n flex: 1;\n margin: 0;\n text-align: var(--data-report-field-text-align);\n }\n\n *[center] {\n flex: none;\n margin: 0 auto;\n }\n "])))]}render(){if(!this.column)return Object(f.e)(Mi||(Mi=Ti([""])));var{value:e,column:t,record:n,rowIndex:i}=this,{renderer:r}=t.record;return Object(f.e)(Si||(Si=Ti(["\n ","\n "])),r(e,t,n,i,this))}updated(e){if(e.has("column")){var t=this.column.record&&this.column.record.align||"left";if("left"!=t){var n="center";switch(t){case"right":n="flex-end"}this.style.setProperty("--data-report-field-justify-content",n),this.style.setProperty("--data-report-field-text-align",t)}}}}customElements.define("data-report-field",Gi);var Pi=Object(f.b)(Ci||(Ci=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n :host {\n display: grid;\n grid-template-columns: var(--report-template-columns);\n grid-auto-rows: var(--report-record-height, min-content);\n\n overflow: auto;\n outline: none;\n }\n\n :host > [focused] {\n border: var(--report-record-focused-border);\n }\n\n :host > [focused-row] {\n background-color: var(--report-record-focused-background-color);\n }\n\n :host > [totalized] {\n background-color: var(--report-totalized-background-color);\n border-top: var(--report-totalized-border);\n border-bottom: var(--report-totalized-border);\n color: var(--report-totalized-color);\n\n font-weight: 700;\n }\n\n :host > [grouped] {\n background-color: var(--report-grouped-background-color);\n border-right: var(--report-grouped-border);\n border-bottom: var(--report-grouped-border);\n color: var(--report-grouped-color);\n\n font-weight: 600;\n }\n\n @media print {\n :host {\n -webkit-print-color-adjust: exact;\n grid-template-columns: var(--report-template-print-columns);\n }\n :host > [focused] {\n border-width: 0 1px 1px 0;\n border-right: var(--report-grouped-border);\n border-bottom: var(--report-grouped-border);\n }\n\n :host > [focused-row] {\n background-color: initial;\n color: #000;\n }\n :host > [grouped] {\n background-color: var(--report-grouped-background-color);\n }\n }\n"])));function Bi(e){e.stopPropagation();var t=e.target,{column:n,record:i,rowIndex:r,columnIndex:a}=t;if(n){isNaN(r)||isNaN(a)?console.error("should not be here."):this.focused&&r===this.focused.row&&a===this.focused.column?this.requestUpdate():this.focused={row:r,column:a};var{click:o}=n.handlers;o&&o(this.columns,this.data,n,i,r,t);var{click:s}=this.config.rows.handlers;s&&s(this.columns,this.data,n,i,r,t)}}function Yi(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Zi(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Yi(a,i,r,o,s,"next",e)}function s(e){Yi(a,i,r,o,s,"throw",e)}o(void 0)}))}}function Ui(e){return Li.apply(this,arguments)}function Li(){return(Li=Zi((function*(e){e.stopPropagation();var t=e.target,{record:n,rowIndex:i,column:r}=t;if(r){var{dblclick:a}=r.handlers;a&&a(this.columns,this.data,r,n,i,t);var{dblclick:o}=this.config.rows.handlers;o&&o(this.columns,this.data,r,n,i,t)}}))).apply(this,arguments)}function Qi(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function Wi(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){Qi(a,i,r,o,s,"next",e)}function s(e){Qi(a,i,r,o,s,"throw",e)}o(void 0)}))}}var Vi,Fi,_i,Ji,Hi,Xi,qi,Ki,$i,er,tr,nr,ir,rr,ar,or,sr;function lr(e){return cr.apply(this,arguments)}function cr(){return(cr=Wi((function*(e){var t=e.keyCode,{row:n=0,column:i=0}=this.focused||{},{records:r=[]}=this.data||{},a=this.config.rows.appendable?r.length:r.length-1,o=(this.columns||[]).filter(e=>!e.hidden).length-1;switch(t){case 38:n=Math.max(0,n-1);break;case 40:n=Math.min(a,n+1);break;case 13:o>i?i++:a>n&&n++;break;case 37:case 8:i=Math.max(0,i-1);break;case 39:case 9:i=Math.min(o,i+1);break;case 33:n=Math.max(0,n-10);break;case 34:n=Math.min(a,n+10);break;case 27:default:return}this.focused&&this.focused.row===n&&this.focused.column===i||(this.focused={row:n,column:i}),e.preventDefault()}))).apply(this,arguments)}function dr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class pr extends f.a{static get properties(){return{config:Object,columns:Array,data:Object,focused:Object}}static get styles(){return[Pi]}render(){var{rows:e}=this.config,{groups:t}=e,n=e=>this.columns.filter(e=>!e.hidden).findIndex(t=>t.name==e),i=e=>this.columns.find(t=>t.name==e),{row:r=0,column:a=0}=this.focused||{},o=(this.columns||[]).filter(e=>!e.hidden&&-1==t.map(e=>e.column).indexOf(e.name)),s=this.data||{},{records:l=[]}=s;return Object(f.e)(Vi||(Vi=dr(["\n ","\n "])),l.map((e,l)=>{var c=l===r,d=e["*"],p=d&&("*"==d.groupName?i(t[0].column):i(d.groupName));return Object(f.e)(Fi||(Fi=dr(["\n ","\n ","\n "])),!d||d&&d.value?Object(f.e)(_i||(_i=dr(["\n ","\n <data-report-field\n .data=","\n .rowIndex=","\n .record=","\n ?focused-row=","\n ?totalized=","\n ></data-report-field>\n "])),o.map(t=>{var i=n(t.name);return Object(f.e)(Ji||(Ji=dr(["\n <data-report-field\n .data=","\n .rowIndex=","\n .columnIndex=","\n .column=","\n .record=","\n ?gutter=","\n ?focused-row=","\n ?focused=","\n ?totalized=","\n .value=","\n ></data-report-field>\n "])),s,l,i,t,e,"gutter"==t.type,c,c&&i===a,d,e[t.name])}),s,l,e,c,d):Object(f.e)(Hi||(Hi=dr([""]))),d?Object(f.e)(qi||(qi=dr(["\n ","\n ","\n "])),"*"==d.groupName?Object(f.e)(Ki||(Ki=dr([""]))):Object(f.e)($i||($i=dr(["\n <data-report-field\n .data=","\n .rowIndex=","\n .columnIndex=","\n .column=","\n .record=","\n ?focused-row=","\n ?focused=","\n ?grouped=","\n .value=",'\n .style="grid-area: '," / "," / span ",' / span 1;"\n ></data-report-field>\n '])),s,d.row-1,d.column-1,p,e,d.row-1<=r&&d.row-1+d.rowspan>r,d.row-1===r&&d.column-1===a,!0,e[d.groupName],d.row,d.column,d.rowspan),d.value?Object(f.e)(tr||(tr=dr(["\n <data-report-field\n .data=","\n .rowIndex=","\n .columnIndex=","\n .column=","\n .record=","\n ?focused-row=","\n ?focused=","\n ?grouped=","\n .value=",'\n .style="grid-area: '," / "," / span 1 / span ",';"\n ></data-report-field>\n '])),s,l,d.column-1,d.titleColumn,e,c,l===r&&d.column-1===a,!0,d.value,d.row+d.rowspan,d.column,d.colspan):Object(f.e)(er||(er=dr([""])))):Object(f.e)(Xi||(Xi=dr([""]))))}))}firstUpdated(){this.setAttribute("tabindex","-1"),this.addEventListener("focusout",e=>{this._focusedListener&&(window.removeEventListener("keydown",this._focusedListener),delete this._focusedListener)}),this.addEventListener("focusin",e=>{this._focusedListener||(this._focusedListener=lr.bind(this),window.addEventListener("keydown",this._focusedListener))}),this.shadowRoot.addEventListener("click",Bi.bind(this)),this.shadowRoot.addEventListener("dblclick",Ui.bind(this))}updated(e){if(e.has("focused")){var t=this.shadowRoot.querySelector("[focused]");if(!t)return;var{top:n,left:i}=function(e,t){var{top:n,left:i,right:r,bottom:a}=t.getBoundingClientRect(),{top:o,left:s,right:l,bottom:c}=e.getBoundingClientRect(),{scrollLeft:d,scrollTop:p}=e,u=e.clientWidth-e.offsetWidth,h=e.clientHeight-e.offsetHeight;return{left:i<s?d-(s-i):r>l?d-(l-r)-u:void 0,top:n<o?p-(o-n):a>c?p-(c-a)-h:void 0}}(this,t);void 0!==n&&(this.scrollTop=n),void 0!==i&&(this.scrollLeft=i)}}focus(){super.focus(),this.focused&&void 0!==this.focused.row||(this.focused={row:0,column:0})}}function ur(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-report-body",pr);class hr extends f.a{static get properties(){return{config:Object,data:Object}}static get styles(){return[y.c,Object(f.b)(nr||(nr=ur(["\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n border: 1px solid var(--report-header-border-color);\n border-radius: var(--report-component-border-radius);\n }\n\n data-report-body {\n flex: 1;\n }\n\n @media print {\n :host {\n zoom: 80%;\n }\n }\n "])))]}get body(){return this.shadowRoot.querySelector("data-report-body")}get header(){return this.shadowRoot.querySelector("data-report-header")}firstUpdated(){this.header.addEventListener("scroll",e=>{this.body.scrollLeft!==this.header.scrollLeft&&(this.body.scrollLeft=this.header.scrollLeft)}),this.body.addEventListener("scroll",e=>{this.body.scrollLeft!==this.header.scrollLeft&&(this.header.scrollLeft=this.body.scrollLeft)})}updated(e){(e.has("config")||e.has("data"))&&this.calculateWidths(this.config&&this.config.columns)}calculateWidths(e){this._widths=(e||[]).filter(e=>!e.hidden).map(e=>{switch(typeof e.width){case"number":return e.width+"px";case"string":return e.width;case"function":return e.width.call(this,e);default:return"auto"}}).concat(["auto"]).join(" "),this.style.setProperty("--report-template-columns",this._widths),this.style.setProperty("--report-template-print-columns",this._widths.replace(/px/gi,"fr"))}render(){var{columns:e=[]}=this.config||{},t=this.data;return Object(f.e)(ir||(ir=ur(["\n <data-report-header\n .config=","\n .columns=","\n .data=","\n @column-width-change=","\n ></data-report-header>\n\n <data-report-body .config="," .columns="," .data=","></data-report-body>\n "])),this.config,e,t,t=>{var{idx:n,width:i}=t.detail;e[n].width=i,this.calculateWidths(e)},this.config,e,t)}focus(){super.focus();var e=this.shadowRoot.querySelector("data-report-body");e&&e.focus()}}function br(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function mr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?br(Object(n),!0).forEach((function(t){gr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):br(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vr(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function fr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("data-report-component",hr);var yr={page:1,limit:20,total:1,records:[]};class wr extends f.a{static get styles(){return[Object(f.b)(rr||(rr=fr(["\n :host {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n background-color: var(--report-background-color);\n padding: var(--report-padding);\n min-height: 120px;\n\n overflow: hidden;\n\n /* for pulltorefresh controller */\n position: relative;\n }\n\n data-report-component {\n flex: 1;\n }\n\n oops-spinner {\n display: none;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n oops-spinner[show] {\n display: block;\n }\n\n oops-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n "])))]}static get properties(){return{config:Object,data:Object,fetchHandler:Object,fetchOptions:Object,_data:Object,_config:Object,_showSpinner:Boolean}}connectedCallback(){super.connectedCallback(),this.dataProvider=new ai(this)}disconnectedCallback(){super.disconnectedCallback(),this.dataProvider.dispose()}firstUpdated(){this.fetchHandler&&Object(bt.a)({container:this.shadowRoot,scrollable:this.report,refresh:()=>this.fetch(!0)})}render(){var e=!(this._showSpinner||this._data&&this._data.records&&0!=this._data.records.length);return Object(f.e)(ar||(ar=fr(["\n ",'\n\n <data-report-component id="report" .config='," .data=","> </data-report-component>\n\n <oops-spinner ?show=","></oops-spinner>\n "])),e?Object(f.e)(or||(or=fr([' <oops-note icon="list" title="EMPTY LIST" description="There are no records to be shown"></oops-note> ']))):Object(f.e)(sr||(sr=fr([""]))),this._config,this._data,this._showSpinner)}fetch(e=!0){var t,n=this;return(t=function*(){n._config?(e&&(n.report.scrollTop=0),n.dataProvider&&(yield n.dataProvider.attach(e))):console.warn("report is not configured yet.")},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){vr(a,i,r,o,s,"next",e)}function s(e){vr(a,i,r,o,s,"throw",e)}o(void 0)}))})()}updated(e){e.has("config")&&(this._config=Hn(mr({},this.config)),this.dataProvider.sorters=this._config.sorters,this.fetch()),e.has("fetchHandler")&&(this.dataProvider.fetchHandler=this.fetchHandler),e.has("fetchOptions")&&(this.dataProvider.fetchOptions=this.fetchOptions),e.has("data")&&this.reset()}get report(){return this.shadowRoot.querySelector("#report")}showSpinner(){this._showSpinner=!0}hideSpinner(){this._showSpinner=!1}focus(){super.focus(),this.report.focus()}refresh(){this.requestUpdate()}reset(){var{limit:e=yr.limit,page:t=yr.page,total:n=yr.total,records:i=[]}=this.data;this._data={limit:e,page:t,total:n,records:this.sortByGroups(i).map((n,i)=>mr(mr({},n),{},{__seq__:(t-1)*e+i+1}))}}sortByGroups(e){var t,{groups:n,totals:i}=this._config.rows,{columns:r}=this._config,a=e=>r.filter(e=>!e.hidden).findIndex(t=>t.name==e),o=[{column:"*",title:"grand total",align:"right"},...n];o=o.map(e=>mr(mr({},e),{},{titleColumn:Pn({record:{align:e.align||"right"}})}));var s,l=[],c=e[0]?function(){var t=e[0],r=i.reduce((e,n)=>(e[n]=t[n],e),{}),s={};return o.map((e,i)=>(s[e.column]=t[e.column],mr(mr(mr({},r),s),{},{[e.column]:t[e.column],"*":{titleColumn:e.titleColumn,value:e.title,groupName:e.column,row:1,rowspan:1,column:"*"!==e.column?a(e.column)+1:a(n[0].column)+1,colspan:"*"!==e.column?o.length-i:o.length-1}})))}():[{"*":{titleColumn:o[0].titleColumn,value:"grand total",groupName:"*",row:1,rowspan:1,column:1,colspan:0}}],d=0,p=function(e){var r=n.reduce((t,n)=>(t[n.column]=e[n.column],t),{}),s=!0,p=[],u={};if(d++,t){var h=function(n){var l=o[n],h=c[n];if(u[l.column]=e[l.column],"*"==l.column||s&&r[l.column]===t[l.column]){for(var b of i)h[b]+=e[b];return h["*"].rowspan++,"continue"}i.forEach(e=>{h[e]=Math.round(100*h[e])/100}),s=!1,p.push({idx:n,record:i.reduce((t,n)=>(t[n]=e[n],t),mr(mr({},u),{},{[l.column]:e[l.column],"*":{titleColumn:l.titleColumn,groupName:l.column,value:l.title,row:d,rowspan:1,column:a(l.column)+1,colspan:c[n]["*"].colspan}}))})};for(var b in o)h(b);p.reverse().map(({record:e,idx:t})=>(l.push(c[t]),c[t]=null,e["*"].value&&(c.forEach(e=>e&&e["*"].rowspan++),d++),{record:e,idx:t})).forEach(({record:e,idx:t})=>{e["*"].row=d,c[t]=e})}l.push(e),t=r};for(var u of e)p(u);for(;s=c.pop();)i.forEach(e=>{s[e]=Math.round(100*s[e])/100}),l.push(s),s["*"].value&&c.forEach(e=>e["*"].rowspan++);return l}}customElements.define("data-report",wr)},48:function(e,t,n){"use strict";var i=n(151);n.d(t,"b",(function(){return i.c})),n.d(t,"c",(function(){return i.d})),n.d(t,"d",(function(){return i.f})),n.d(t,"e",(function(){return i.g})),n.d(t,"f",(function(){return i.h})),n.d(t,"g",(function(){return i.i})),n.d(t,"i",(function(){return i.j})),n.d(t,"j",(function(){return i.k})),n.d(t,"k",(function(){return i.l})),n.d(t,"l",(function(){return i.m}));var r=n(152);n.d(t,"a",(function(){return r.a})),n.d(t,"h",(function(){return r.c}))},612:function(e,t,n){"use strict";var i,r,a,o,s=n(0);function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class c extends s.a{static get properties(){return{roleCategory:String,user:Object,roles:Array,userRoles:Array}}constructor(){super(),this.roleCategory="Roles",this.user={},this.roles=[],this.userRoles=[]}static get styles(){return[Object(s.b)(i||(i=l(["\n [subtitle] {\n margin: 0;\n padding: var(--subtitle-padding);\n font: var(--subtitle-font);\n color: var(--subtitle-text-color);\n }\n div {\n margin: 0 var(--margin-default) var(--margin-default) var(--margin-default);\n }\n ul {\n flex: 1;\n display: grid;\n grid-template-columns: 1fr 1fr;\n column-gap: 20px;\n overflow: auto;\n margin: 0;\n padding: var(--padding-default);\n list-style: none;\n border: 1px dashed rgba(0, 0, 0, 0.1);\n border-width: 1px 0;\n }\n input[type='checkbox'] {\n display: inline;\n }\n label {\n padding-left: var(--padding-narrow);\n text-transform: capitalize;\n font: var(--label-font);\n color: var(--label-color);\n }\n li {\n padding: var(--padding-narrow);\n }\n #checkAll,\n [for='checkAll'] {\n margin-bottom: var(--margin-default);\n padding-bottom: var(--padding-narrow);\n font-weight: bold;\n }\n "])))]}render(){var e=(this.userRoles||[]).map(e=>e.id);return Object(s.e)(r||(r=l(["\n ","\n "])),this.roles.length?Object(s.e)(a||(a=l(["\n <div>\n <h3 subtitle>",'</h3>\n <input id="checkAll" type="checkbox" @change=',' />\n <label for="checkAll">Check all</label>\n </div>\n\n <ul roles>\n ',"\n </ul>\n "])),this.roleCategory,this.checkAll.bind(this),this.roles.map(t=>Object(s.e)(o||(o=l(['\n <li>\n <input\n id="','"\n type="checkbox"\n .checked=',"\n .data-role=",'\n />\n <label for="','">',"</label>\n </li>\n "])),t.id,e.indexOf(t.id)>=0,t,t.id,t.name))):"")}checkAll(e){var t=e.currentTarget.checked;Array.from(this.renderRoot.querySelectorAll("ul[roles] input[type=checkbox]")).forEach(e=>e.checked=t)}selectedRoles(){return Array.from(this.renderRoot.querySelectorAll("ul[roles] input[type=checkbox]")).filter(e=>e.checked).map(e=>{var{id:t,name:n}=e["data-role"];return{id:t,name:n}})}}customElements.define("role-selector",c)},65:function(e,t,n){"use strict";var i=n(308);n.d(t,"a",(function(){return i.a}));n(307)},8:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return c}));var i=n(0),r=n(76),a=n(113),o=n(114);
155
- /**
156
- * @license Copyright © HatioLab Inc. All rights reserved.
157
- */
158
- r.a.use(a.a).use(o.a).init({fallbackLng:"en",debug:!0,ns:["translations"],defaultNS:"translations",keySeparator:!1,interpolation:{prefix:"{",suffix:"}"},load:"languageOnly",backend:{loadPath:"/{ns}/{lng}.json"},detection:{order:["cookie"],lookupCookie:"i18next",caches:["cookie"],excludeCacheFor:["cimode"],cookieOptions:{path:"/",sameSite:"strict"}}});var s=r.a;function l(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}
159
- /**
160
- * @license Copyright © HatioLab Inc. All rights reserved.
161
- */
162
- var c=e=>t=>class extends t{connectedCallback(){var t=this,n=function(){var n,i=(n=function*(){t.languageUpdated&&t.languageUpdated(e),t.requestUpdate()},function(){var e=this,t=arguments;return new Promise((function(i,r){var a=n.apply(e,t);function o(e){l(a,i,r,o,s,"next",e)}function s(e){l(a,i,r,o,s,"throw",e)}o(void 0)}))});return function(){return i.apply(this,arguments)}}();e.on("initialized",n),e.on("languageChanged",n),e.store.on("added",n),this.__i18next_callback__=n,super.connectedCallback&&super.connectedCallback()}disconnectedCallback(){super.connectedCallback&&super.connectedCallback(),e.store.off("initialized",this.__i18next_callback__),e.store.off("languageChanged",this.__i18next_callback__),e.store.off("added",this.__i18next_callback__)}}
163
- /**
164
- * @license Copyright © HatioLab Inc. All rights reserved.
165
- */;class d extends(c(s)(i.a)){static get properties(){return{msgid:{attribute:!0}}}updated(){this.renderRoot.textContent=s.t(this.msgid)}}customElements.define("i18n-msg",d)},855:function(e,t,n){var i={"./af":467,"./af.js":467,"./ar":468,"./ar-dz":469,"./ar-dz.js":469,"./ar-kw":470,"./ar-kw.js":470,"./ar-ly":471,"./ar-ly.js":471,"./ar-ma":472,"./ar-ma.js":472,"./ar-sa":473,"./ar-sa.js":473,"./ar-tn":474,"./ar-tn.js":474,"./ar.js":468,"./az":475,"./az.js":475,"./be":476,"./be.js":476,"./bg":477,"./bg.js":477,"./bm":478,"./bm.js":478,"./bn":479,"./bn-bd":480,"./bn-bd.js":480,"./bn.js":479,"./bo":481,"./bo.js":481,"./br":482,"./br.js":482,"./bs":483,"./bs.js":483,"./ca":484,"./ca.js":484,"./cs":485,"./cs.js":485,"./cv":486,"./cv.js":486,"./cy":487,"./cy.js":487,"./da":488,"./da.js":488,"./de":489,"./de-at":490,"./de-at.js":490,"./de-ch":491,"./de-ch.js":491,"./de.js":489,"./dv":492,"./dv.js":492,"./el":493,"./el.js":493,"./en-au":494,"./en-au.js":494,"./en-ca":495,"./en-ca.js":495,"./en-gb":496,"./en-gb.js":496,"./en-ie":497,"./en-ie.js":497,"./en-il":498,"./en-il.js":498,"./en-in":499,"./en-in.js":499,"./en-nz":500,"./en-nz.js":500,"./en-sg":501,"./en-sg.js":501,"./eo":502,"./eo.js":502,"./es":503,"./es-do":504,"./es-do.js":504,"./es-mx":505,"./es-mx.js":505,"./es-us":506,"./es-us.js":506,"./es.js":503,"./et":507,"./et.js":507,"./eu":508,"./eu.js":508,"./fa":509,"./fa.js":509,"./fi":510,"./fi.js":510,"./fil":511,"./fil.js":511,"./fo":512,"./fo.js":512,"./fr":513,"./fr-ca":514,"./fr-ca.js":514,"./fr-ch":515,"./fr-ch.js":515,"./fr.js":513,"./fy":516,"./fy.js":516,"./ga":517,"./ga.js":517,"./gd":518,"./gd.js":518,"./gl":519,"./gl.js":519,"./gom-deva":520,"./gom-deva.js":520,"./gom-latn":521,"./gom-latn.js":521,"./gu":522,"./gu.js":522,"./he":523,"./he.js":523,"./hi":524,"./hi.js":524,"./hr":525,"./hr.js":525,"./hu":526,"./hu.js":526,"./hy-am":527,"./hy-am.js":527,"./id":528,"./id.js":528,"./is":529,"./is.js":529,"./it":530,"./it-ch":531,"./it-ch.js":531,"./it.js":530,"./ja":532,"./ja.js":532,"./jv":533,"./jv.js":533,"./ka":534,"./ka.js":534,"./kk":535,"./kk.js":535,"./km":536,"./km.js":536,"./kn":537,"./kn.js":537,"./ko":538,"./ko.js":538,"./ku":539,"./ku.js":539,"./ky":540,"./ky.js":540,"./lb":541,"./lb.js":541,"./lo":542,"./lo.js":542,"./lt":543,"./lt.js":543,"./lv":544,"./lv.js":544,"./me":545,"./me.js":545,"./mi":546,"./mi.js":546,"./mk":547,"./mk.js":547,"./ml":548,"./ml.js":548,"./mn":549,"./mn.js":549,"./mr":550,"./mr.js":550,"./ms":551,"./ms-my":552,"./ms-my.js":552,"./ms.js":551,"./mt":553,"./mt.js":553,"./my":554,"./my.js":554,"./nb":555,"./nb.js":555,"./ne":556,"./ne.js":556,"./nl":557,"./nl-be":558,"./nl-be.js":558,"./nl.js":557,"./nn":559,"./nn.js":559,"./oc-lnc":560,"./oc-lnc.js":560,"./pa-in":561,"./pa-in.js":561,"./pl":562,"./pl.js":562,"./pt":563,"./pt-br":564,"./pt-br.js":564,"./pt.js":563,"./ro":565,"./ro.js":565,"./ru":566,"./ru.js":566,"./sd":567,"./sd.js":567,"./se":568,"./se.js":568,"./si":569,"./si.js":569,"./sk":570,"./sk.js":570,"./sl":571,"./sl.js":571,"./sq":572,"./sq.js":572,"./sr":573,"./sr-cyrl":574,"./sr-cyrl.js":574,"./sr.js":573,"./ss":575,"./ss.js":575,"./sv":576,"./sv.js":576,"./sw":577,"./sw.js":577,"./ta":578,"./ta.js":578,"./te":579,"./te.js":579,"./tet":580,"./tet.js":580,"./tg":581,"./tg.js":581,"./th":582,"./th.js":582,"./tk":583,"./tk.js":583,"./tl-ph":584,"./tl-ph.js":584,"./tlh":585,"./tlh.js":585,"./tr":586,"./tr.js":586,"./tzl":587,"./tzl.js":587,"./tzm":588,"./tzm-latn":589,"./tzm-latn.js":589,"./tzm.js":588,"./ug-cn":590,"./ug-cn.js":590,"./uk":591,"./uk.js":591,"./ur":592,"./ur.js":592,"./uz":593,"./uz-latn":594,"./uz-latn.js":594,"./uz.js":593,"./vi":595,"./vi.js":595,"./x-pseudo":596,"./x-pseudo.js":596,"./yo":597,"./yo.js":597,"./zh-cn":598,"./zh-cn.js":598,"./zh-hk":599,"./zh-hk.js":599,"./zh-mo":600,"./zh-mo.js":600,"./zh-tw":601,"./zh-tw.js":601};function r(e){var t=a(e);return n(t)}function a(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}r.keys=function(){return Object.keys(i)},r.resolve=a,e.exports=r,r.id=855},860:function(e,t){},862:function(e,t){},874:function(e,t,n){"use strict";var i=n(17),r=n(611),a={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"method",name:"method",property:{options:[{display:"GET",value:"GET"},{display:"POST",value:"POST"}]}},{type:"string",label:"action",name:"action"},{type:"number",label:"period",name:"period"},{type:"string",label:"name",name:"name"},{type:"string",label:"authorization",name:"authorization"},{type:"select",label:"format",name:"format",property:{options:[{display:"JSON",value:"JSON"},{display:"XML",value:"XML"},{display:"TEXT",value:"TEXT"}]}},{type:"select",label:"content-type",name:"contentType",property:{options:[{display:"JSON",value:"application/json"},{display:"FORM",value:"application/x-www-form-urlencoded"},{display:"TEXT",value:"text/plain"}]}},{type:"checkbox",label:"with-credentials",name:"withCredentials"},{type:"checkbox",label:"submit-on-load",name:"submitOnLoad"},{type:"checkbox",label:"debug",name:"debug"}],"value-property":"action"};class o extends i.HTMLOverlayContainer{dispose(){super.dispose(),this._stopRepeater()}setElementProperties(e){var{action:t="",method:n="POST",name:i="",contentType:r=""}=this.state;e.action=t,e.method=n,e.contentType=r,e.name=i}get action(){return this.state.action}set action(e){this.setState("action",e),this._startRepeater()}get period(){return 1e3*this.state.period}set period(e){this.setState("period",e),this._startRepeater()}_startRepeater(){this._stopRepeater(),this.app.isViewMode&&this.period&&(this._repeatInterval=setInterval(this._submit.bind(this),this.period))}_stopRepeater(){this._repeatInterval&&clearInterval(this._repeatInterval)}_onload(e){var t=e.target.response;try{switch(this.get("format")){case"JSON":t=JSON.parse(t);break;case"XML":t=Object(r.xml2js)(t,{compact:!0})}this.state.debug&&console.log("[FORM-RESULT]",t),this.setState("data",t)}catch(e){console.error(e)}}oncreate_element(e){if(this.app.isViewMode){e.onsubmit=t=>{t.preventDefault();var n=e.action,i=new XMLHttpRequest,r=[].filter.call(e.elements,(function(e){return"radio"!=e.type&&"checkbox"!=e.type||e.checked})).filter((function(e){return!!e.name})).filter((function(e){return!e.disabled})).map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)})).join("&");return i.onloadend=this._onload.bind(this),"get"==e.method?i.open(e.method,n+"?"+r):i.open(e.method,n),e.contentType&&i.setRequestHeader("Content-Type",e.contentType),this.get("authorization")&&i.setRequestHeader("Authorization",this.get("authorization")),this.get("withCredentials")&&(i.withCredentials=!0),"get"==e.method?i.send():i.send(r),!1},this.getState("submitOnLoad")&&setTimeout(this._submit.bind(this),100),this._startRepeater()}}_submit(){this.element.dispatchEvent(new Event("submit",{cancelable:!0}))}get nature(){return a}}i.Component.register("form",o);var s={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"legend",name:"legend"}]};class l extends i.HTMLOverlayContainer{setElementProperties(e){var{legend:t=""}=this.state;t?this.legendElement.textContent=t:(this._legendElement&&this.element.removeChild(this._legendElement),delete this._legendElement)}get legendElement(){if(!this._legendElement){var e=document.createElement("legend");this.element.appendChild(e),this._legendElement=e}return this._legendElement}get nature(){return s}}i.Component.register("fieldset",l);var c={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value"},{type:"number",label:"size",name:"size"},{type:"string",label:"name",name:"name"},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"copy-value-to-data",name:"copyValueToData"},{type:"string",label:"text-field",name:"textField"},{type:"string",label:"value-field",name:"valueField"},{type:"options",label:"options",name:"options"}],"value-property":"value"};class d extends i.HTMLOverlayElement{get nature(){return c}buildOptions(){var e,{options:t=[],textField:n,valueField:i,value:r}=this.state;t instanceof Array||(t=[]),this.element.textContent="",t.map&&t.map((t,r)=>{var a,o;return a=n?"(index)"==n?r:t&&t[n]||String.fromCharCode(160):t&&(t.text||t),o=i?"(index)"==i?r:t&&t[i]:t&&(t.value||t),void 0===e&&(e=o),o==this.value&&(e=this.value),{text:a,value:o}}).forEach(e=>{var t=document.createElement("option");t.value="string"==typeof e.value?e.value:JSON.stringify(e.value),t.text=e.text,this.element.appendChild(t)}),void 0!==e&&this.value!==e&&(this.value=JSON.stringify(e)),this.element.value!=this.value&&(this.element.value=this.value,this.element.dispatchEvent(new Event("change")))}createElement(){super.createElement(),this.buildOptions();var e=this.element;e.value=this.get("value")||"",e.onchange=t=>{this.set("value",e.value)}}setElementProperties(e){var{size:t,name:n}=this.state;e.size=t,e.name=n}onchange(e,t){if(super.onchange(e,t),"value"in e&&this.element){if(this.element.value=e.value,this.get("copyValueToData"))try{this.data=JSON.parse(e.value)}catch(t){this.data=e.value}this.get("submitOnChange")&&this.element.form&&this.element.form.dispatchEvent(new Event("submit",{cancelable:!0}))}"options"in e&&this.buildOptions()}get options(){return this.getState("options")}set options(e){this.setState("options",e)}}i.Component.register("select",d);var p={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"string",label:"value",name:"text"},{type:"string",label:"placeholder",name:"placeholder"},{type:"checkbox",label:"readonly",name:"readonly"},{type:"checkbox",label:"disabled",name:"disabled"},{type:"number",label:"max-length",name:"maxlength"}],"value-property":"text"};class u extends i.HTMLOverlayElement{get nature(){return p}get tagName(){return"textarea"}createElement(){super.createElement(),this.element.style.resize="none",this.element.onchange=e=>{this.value=this.element.value}}setElementProperties(e){var{name:t="",placeholder:n="",disabled:i,readonly:r,maxlength:a}=this.state;try{e.name=t,e.placeholder=n,e.disabled=i,e.readonly=r,e.maxlength=a,e.value=this.value}catch(e){error(e)}this.data=this.value}}i.Component.register("textarea",u);var h={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"text"}],"value-property":"text"};class b extends i.HTMLOverlayElement{get tagName(){return"button"}get nature(){return h}setElementProperties(e){this.element.textContent=this.value}}i.Component.register("button",b);var m={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"string",label:"value",name:"text"},{type:"string",label:"placeholder",name:"placeholder"},{type:"checkbox",label:"readonly",name:"readonly"},{type:"checkbox",label:"disabled",name:"disabled"},{type:"number",label:"max-length",name:"maxlength"},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"spread-on-init",name:"spreadOnInit"},{type:"string",label:"next-input",name:"nextInput"},{type:"checkbox",label:"autofocus",name:"autofocus"},{type:"checkbox",label:"alltime-focus",name:"alltimeFocus"},{type:"number",label:"alltime-focus-pending",name:"alltimeFocusPending",placeholder:"milli-seconds"},{type:"checkbox",label:"hide-keyboard",name:"hideKeyboard"}],"value-property":"text",help:"scene/component/input"};class g extends i.HTMLOverlayElement{get nature(){return m}get tagName(){return"input"}get inputType(){return this.get("type").substr(6)}select(){this.element.select()}createElement(){super.createElement(),this.element.onchange=e=>{this.value=this.element.value};var e=this.get("alltimeFocus"),t=this.get("alltimeFocusPending"),n=this.get("hideKeyboard");this.app.isViewMode&&(this.element.addEventListener("focusout",n=>{e&&setTimeout(()=>{this.element.select()},t&&0!=t?t:1e3)}),this.element.addEventListener("focusin",e=>{n&&(this.element.setAttribute("readonly",!0),this.element.select(),setTimeout(()=>{this.element.removeAttribute("readonly")},50))}));var i=this.get("nextInput");i&&this.element.addEventListener("keypress",e=>{if(13==e.keyCode){var t=this.root.findById(i);t&&t.select&&t.select()}}),setTimeout(()=>{this.get("autofocus")&&this.element.select()},300)}setElementProperties(e){var{name:t="",placeholder:n="",disabled:r,readonly:a,maxlength:o,spreadOnInit:s,nextInput:l,autofocus:c}=this.state;try{e.type=this.inputType,e.name=t,e.placeholder=n,e.disabled=r,e.readonly=a,e.maxlength=o,e.value=this.value,c&&e.setAttribute("autofocus","")}catch(e){Object(i.error)(e)}}onchange(e,t){super.onchange(e,t);var{spreadOnInit:n,submitOnChange:i}=this.state,r=this.nature["value-property"];r&&r in e&&this.element&&(this.element.value=e.text,n||(this.data=this.value),i&&this.element.form&&this.element.form.dispatchEvent(new Event("submit",{cancelable:!0})))}}["input","input-text","input-password","input-email","input-search","input-time","input-datetime-local","input-month","input-week"].forEach(e=>i.Component.register(e,g));var v={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value"},{type:"number",label:"size",name:"size"},{type:"string",label:"name",name:"name"},{type:"checkbox",label:"checked",name:"checked"}],"value-property":"value"};i.Component.register("input-radio",class extends g{get nature(){return v}get tagName(){return"input"}get inputType(){return"radio"}createElement(){if(this.element=document.createElement("label"),this.element){var e=document.createElement("input");this.element.appendChild(e);var t=document.createElement("p");t.style.display="inline",t.innerHTML=this.get("text"),this.element.appendChild(t),this.setElementProperties(this.element),this.parent.isHTMLElement&&this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),i.Component.reposition(this),this.oncreate_element&&this.oncreate_element(this.element)}}setElementProperties(e){var t=this.element.querySelector("text"),n=this.element.querySelector("input"),{text:i,checked:r,value:a}=this.state;t&&(t.textContent=i),n&&(n.checked=r,n.value=a),super.setElementProperties(n)}postrender(e){this.changeText(e)}changeText(e){this.text&&this.hasTextProperty&&this.element.querySelector("p")&&(this.element.querySelector("p").innerText=this.text)}});var f={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value"},{type:"number",label:"size",name:"size"},{type:"string",label:"name",name:"name"},{type:"checkbox",label:"checked",name:"checked"},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"spread-on-init",name:"spreadOnInit"}],"value-property":"value"};i.Component.register("input-checkbox",class extends g{get nature(){return f}get tagName(){return"input"}get inputType(){return"checkbox"}get hasTextProperty(){return!0}createElement(){if(this.element=document.createElement("label"),this.element){var e=document.createElement("input");this.element.appendChild(e);var t=document.createTextNode(this.get("text"));this.element.appendChild(t),this.setElementProperties(this.element),this.parent.isHTMLElement&&this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.root.model_layer.overlay.appendChild(this.element),i.Component.reposition(this),this.oncreate_element&&this.oncreate_element(this.element)}}setElementProperties(e){var t=this.element.querySelector("text"),n=this.element.querySelector("input"),{text:i,checked:r,value:a}=this.state;t&&(t.textContent=i),n&&(n.checked=r,n.value=a),super.setElementProperties(n)}});var y={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"}],"value-property":"src"};class w extends i.HTMLOverlayElement{get src(){return this.getState("src")}set src(e){this.setState("src",e)}setElementProperties(e){var{src:t=""}=this.state;e.src!=t&&(e.src=t)}get nature(){return y}}i.Component.register("iframe",w);var A={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"}],"value-property":"src"};class x extends i.HTMLOverlayElement{setElementProperties(e){var{src:t=""}=this.state;e.src!=t&&(e.src=t)}get src(){return this.get("src")}set src(e){this.set("src",e)}get nature(){return A}}i.Component.register("img",x);var O=n(384),j=n.n(O);function k(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}var E={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"controls",name:"controls"}],"value-property":"src"};class R extends i.HTMLOverlayElement{oncreate_element(e){var t,n=this;return(t=function*(){var{src:t,started:i}=n.state;e.addEventListener("canplay",()=>{n.started&&e.play()}),n.onchangesrc(t),n.onchangestarted(i)},function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(e){k(a,i,r,o,s,"next",e)}function s(e){k(a,i,r,o,s,"throw",e)}o(void 0)}))})()}dispose(){this.reset(),super.dispose()}reset(){this._hlsSupporter&&this._hlsSupporter.destroy(),delete this._hlsSupporter}onchange(e,t){super.onchange(e,t),"src"in e&&this.onchangesrc(e.src),"started"in e&&this.onchangestarted(e.started)}setElementProperties(e){var{controls:t}=this.state;t?e.setAttribute("controls",!0):e.removeAttribute("controls")}onchangestarted(e){var t=this.element;e?4==t.readyState&&t.play():t.pause()}onchangesrc(e){this.reset();var t=this.element;t&&(t.src=e,e.endsWith(".m3u8")&&j.a.isSupported()&&(this._hlsSupporter=new j.a,this._hlsSupporter.loadSource(e),this._hlsSupporter.attachMedia(t),this._hlsSupporter.on(j.a.Events.MANIFEST_PARSED,()=>{this.started&&t.play()})))}get src(){return this.getState("src")}set src(e){this.setState("src",e)}get started(){return this.getState("started")}set started(e){this.setState("started",e)}get nature(){return E}}i.Component.register("video",R);var M={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"src",name:"src"},{type:"string",label:"mime-type",name:"mimetype"}],"value-property":"src"};class S extends i.HTMLOverlayElement{get src(){return this.getState("src")}set src(e){this.setState("src",e)}setElementProperties(e){var{src:t="",mimetype:n=""}=this.state;e.src!=t&&(e.src=t),e.type!=n&&(e.type=n)}get nature(){return M}}i.Component.register("embed",S);var I={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"href",name:"href",property:"href"},{type:"select",label:"target",name:"target",property:{options:[{display:"self",value:"_self"},{display:"blank",value:"_blank"},{display:"parent",value:"_parent"},{display:"top",value:"_top"}]}}],"value-property":"href"};class N extends i.HTMLOverlayContainer{get tagName(){return"a"}get href(){return this.get("href")}set href(e){this.set("href",e)}setElementProperties(e){var{href:t="",target:n}=this.state;e.href!=t&&(e.href=t),e.target=n,0==this.components.length&&(this.element.textContent=this.text||t)}get nature(){return I}}i.Component.register("link",N);var z={mutable:!1,resizable:!0,rotatable:!0};class D extends i.HTMLOverlayContainer{setElementProperties(e){e.textContent=this.text}get tagName(){return"div"}get nature(){return z}}i.Component.register("div",D);var T={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"number",label:"value",name:"text"},{type:"number",label:"min",name:"min"},{type:"number",label:"max",name:"max"},{type:"number",label:"step",name:"step"},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"spread-on-init",name:"spreadOnInit"}],"value-property":"text"};class C extends g{get nature(){return T}setElementProperties(e){super.setElementProperties(e);var{min:t=0,max:n=100,step:i=1}=this.state;e.min=t,e.max=n,e.step=i}}i.Component.register("input-number",C),i.Component.register("input-range",C);var G={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"date",label:"value",name:"text"},{type:"date",label:"min",name:"min"},{type:"date",label:"max",name:"max"},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"spread-on-init",name:"spreadOnInit"}],"value-property":"text"};i.Component.register("input-date",class extends g{get nature(){return G}setElementProperties(e){super.setElementProperties(e);var{min:t,max:n}=this.state;e.min=t,e.max=n}});var P={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"string",label:"value",name:"text"},{type:"checkbox",label:"multiple",name:"multiple"}],"value-property":"text"};i.Component.register("input-file",class extends g{get nature(){return P}setElementProperties(e){super.setElementProperties(e),e.multiple=!!this.state.multiple}});var B=n(610),Y=n.n(B),Z={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"color",label:"value",name:"text",property:{withoutAlpha:!0,valueType:"hex"}},{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"spread-on-init",name:"spreadOnInit"}],"value-property":"text"};i.Component.register("input-color",class extends g{get nature(){return Z}setElementProperties(e){this.value=Y()(this.value||"#000000").toHexString(),super.setElementProperties(e)}});var U={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"name",name:"name"},{type:"string",label:"value",name:"text"}],"value-property":"text"};class L extends g{get nature(){return U}setElementProperties(e){super.setElementProperties(e)}}i.Component.register("input-button",L),i.Component.register("input-submit",L),i.Component.register("input-reset",L);var Q={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"checkbox",label:"submit-on-change",name:"submitOnChange"},{type:"checkbox",label:"copy-value-to-data",name:"copyValueToData"}],"value-property":"value"};class W extends i.HTMLOverlayContainer{get nature(){return Q}containable(e){return"input-radio"==e.model.type}setElementProperties(e){e.onchange=()=>{this.changeChecked()}}onchange(e,t){if(super.onchange(e,t),"value"in e&&this.element){if(this.element.value=e.value,this.get("copyValueToData"))try{this.data=JSON.parse(e.value)}catch(t){this.data=e.value}this.get("submitOnChange")&&"FORM"==this.element.parentElement.tagName&&this.element.parentElement.dispatchEvent(new Event("submit",{cancelable:!0}))}}changeChecked(){var e=this.element.querySelectorAll("input"),t=Array.prototype.slice.call(e).filter(e=>e.name==this.element.id);if(t.length){var n=t.filter(e=>1==e.checked);this.set("value",n[0].value)}}}i.Component.register("radio-group",W);var V={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"template",name:"template"},{type:"string",label:"apply-to",name:"applyTo"}]},F={type:"pattern",fitPattern:!0,image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAMFBMVEUAAAAdHR0AAAAAAAAAAAAREREODg4AAAATExMAAAAAAAAAAAAAAAAAAAAWFhYAAABtUS6TAAAAD3RSTlMArnboZDwVtVUHmMTU9CygGbkuAAABBklEQVR42u3Vy47DMAgFUMbE78f9/7+dqpVKFNUzwKqLnD0RvjGYbrdvF8tK9JBWieTRAO6tdQYyeWS8DfIYeONEdmlCLE+GOClkV3ASyC7gpPn+ouiODAdOeJkjHMAZF2OCE1eHK0BfkLXho5yU8XVsjKWKj7E1iya/44kvpcdLJa3LOdg3zIIr2fg7qEd4umYQXpJqiPZyVbQwsMXJtoq889CwkUknMT6ai5QOfBRcb4oY1fMmiBnV1TFk+YDooST6T30UM7a4h5hoS4r/wjnEusleLeiusPFKFwhXCx0GXHUjZBmrDJNRfQ2IYthDYv/grwmrqG1AtV0ShKuF+ONQ6Hb7Hr9EkkNRgwrYbAAAAABJRU5ErkJggg=="};class _ extends i.HTMLOverlayContainer{createElement(){super.createElement(),this.element.value=this.get("value")||"",this.element.onchange=e=>{this.set("value",this.element.value)}}dispose(){super.dispose(),this.targets&&this.targets.forEach(e=>e.shadowRoot.innerHTML="<slot></slot>"),delete this.targets}setElementProperties(e){e.innerHTML=this.state.template}reposition(){super.reposition();var e=this.targets||[],t=this.rootModel&&Array.prototype.slice.call(this.rootModel.overlay.querySelectorAll(this.state.applyTo));t&&t.forEach(t=>{try{!t.shadowRoot&&t.attachShadow({mode:"open"}),t.shadowRoot.innerHTML=this.state.template}catch(e){Object(i.error)(e)}var n=e.indexOf(t);n>=0&&e.splice(n,1)}),e.forEach(e=>e.shadowRoot.innerHTML="<slot></slot>"),this.targets=t}get tagName(){return"template"}get fillStyle(){return F}get nature(){return V}}i.Component.register("template",_)},875:function(e,t,n){"use strict";n(608),n(609);var i=n(17),r=n(98),a=n.n(r),o=n(0),s=n(357);var l={id:"data-binder",beforeUpdate:function(e){if(e.data){e.data.rawData||(e.data.rawData=[]),e.data.rawData=function(e,t){if(!e)return null;if("string"==typeof e)try{e=JSON.parse(e)}catch(e){return console.warn("invalid chart data format",e),null}if(!(e instanceof Array))return e instanceof Object?e:null;if(0===e.length)return null;e[0].hasOwnProperty("__field1")&&(e=function(e){if(!e||0===e.length)return null;var t={},n=[];for(var i in e[0])t[i]=e[0][i];for(var r=1;r<e.length;r++){var a={},o=e[r];for(var s in t){var l=t[s],c=o[s];a[l]=c}n.push(a)}return n}(e));var n=t.data.labelDataKey,i=[];for(var r in t.data.datasets)i.push(t.data.datasets[r].dataKey);var a=[],o=[],s={seriesData:a,labelData:o};for(var l in e){var c=e[l];for(var d in o.push(c[n]),i)i[d]&&(a[d]||(a[d]=[]),NaN==Number(c[i[d]])&&(c[i[d]]=NaN),a[d].push(c[i[d]]))}return s}(e.data.rawData,e)||{seriesData:[],labelData:[]};e.data.rawData.seriesData;!function(e){var t=e.data.rawData.labelData;e.config.data.labels=t||[]}(e),function(e){if(e.data.rawData){var t=e.data.rawData.seriesData;e.id;for(var n in t&&0!==t.length||(t=[null]),e.data.datasets)e.data.datasets[n].data=t[n]||[]}}(e)}}},c=n(928);function d(e,t){e.stacked=t}function p(e,t){e.display=t}function u(e){e.scaleLabel||(e.scaleLabel={}),e.scaleLabel.labelString=e.axisTitle,e.scaleLabel.display=!!e.axisTitle}function h(e,{fontSize:t,fontFamily:n}){e.ticks=e.ticks?e.ticks:{},e.ticks.fontSize=t,n&&(e.ticks.fontFamily=n),e.pointLabels=e.pointLabels||{},e.pointLabels.fontSize=t,n&&(e.pointLabels.fontFamily=n)}function b(e){e.ticks=e.ticks?e.ticks:{};var t=e.ticks.autoMin,n=e.ticks.autoMax;!0===t&&delete e.ticks.min,!0===n&&delete e.ticks.max}function m(e){e.ticks=e.ticks?e.ticks:{}}function g(e,t,n){var i=v(t);e.gridLines=e.gridLines?e.gridLines:{},e.gridLines.zeroLineColor=i.clone().setAlpha(.5).toString(),e.gridLines.color=i.clone().setAlpha(.1).toString(),e.ticks=e.ticks?e.ticks:{},e.ticks.fontColor=n||i.clone().setAlpha(.5).toString()}function v(e){var t;switch(e){case"light":t="#fff";break;case"dark":default:t="#000"}return t=new c.a(t)}function f(e,t){var n=e.type||t.type,i="".concat(n," ").concat(e.yAxisID," ").concat(e.stack||e.dataKey),r=e.color?e.color:e.backgroundColor;switch(n){case"bar":case"horizontalBar":e.borderColor=e.backgroundColor=r;break;case"line":case"radar":r=e.color?e.color:e.borderColor,e.pointBackgroundColor=e.pointBorderColor=e.borderColor=e.backgroundColor=r,e.pointBorderWidth=.5*e.borderWidth,e.pointHoverRadius=e.pointRadius,null==e.fill&&(e.fill=!1);break;default:e.borderColor=e.backgroundColor=r}e.stack=i}function y(e){e.callback=function(e,t,n){var i=Number(e);if(i=Number.isNaN(i)?e:i.toLocaleString())return i}}var w,A=function(e){if(e){var t,n,i,r=(e.data||{}).datasets||[],a=e.options||{},o=a.scales||{},s=a.legend||{},l=a.tooltips=a.tooltips||{},c=a.multiAxis,w=[!1,!1],A=Number(a.defaultFontSize),x=a.defaultFontFamily,O=a.defaultFontColor,j=a.theme;for(var k in function(e,t){switch(e){case"horizontalBar":t.scales||(t.scales={});break;case"radar":case"polarArea":t.defaultFontColor&&(t.scale.ticks.fontColor=t.defaultFontColor,t.scale.pointLabels?t.scale.pointLabels.fontColor=t.defaultFontColor:t.scale.pointLabels={fontColor:t.defaultFontColor}),t.scale.ticks.backdropColor=t.fillStyle?t.fillStyle:"#00ff0000";break;case"line":case"bar":if(t.scales||(t.scales={}),t.scales.yAxes||(t.scales.yAxes=[]),1===t.scales.yAxes.length){var n=t.scales.yAxes;n.push({position:"right",id:"right",display:t.multiAxis||!1,gridLines:{display:n[0]&&n[0].gridLines&&n[0].gridLines.display||!1},ticks:{beginAtZero:!1,callback:function(e,t,n){var i=e;return"number"==typeof i&&(i=i.toLocaleString()),i}}})}break;case"pie":case"doughnut":break;default:t.scale||(t.scale={})}}(e.type,a),r){var E=r[k];if(a.stacked&&!E.stack&&(E.stack="A"),"bar"==e.type){var R,M,S=o.xAxes&&(null===(R=o.xAxes[0])||void 0===R?void 0:R.categorySpacing),I=o.xAxes&&(null===(M=o.xAxes[0])||void 0===M?void 0:M.barSpacing);E.categoryPercentage=1-S||1,E.barPercentage=1-I||.8}else if("horizontalBar"==e.type){var N,z,D=o.yAxes&&(null===(N=o.yAxes[0])||void 0===N?void 0:N.categorySpacing),T=o.yAxes&&(null===(z=o.yAxes[0])||void 0===z?void 0:z.barSpacing);E.categoryPercentage=1-D||1,E.barPercentage=1-T||.8}f(E,e),c||"right"==E.yAxisID&&(E.yAxisID="left")}delete a.stacked;var C=r.filter(e=>"left"==e.yAxisID),G=r.filter(e=>"right"==e.yAxisID);switch(C.forEach(e=>{C.filter(t=>e.stack==t.stack).length>1&&(w[0]=!0)}),G.forEach(e=>{G.filter(t=>e.stack==t.stack).length>1&&(w[1]=!0)}),i=w[0]||w[1],e.type){case"line":case"bar":case"horizontalBar":for(var P in t=o.xAxes||[],n=o.yAxes||[],"horizontalBar"==e.type&&(t=o.yAxes||[],n=o.xAxes||[]),t){var B=t[P];d(B,i),h(B,{fontSize:A,fontFamily:x}),b(B),m(B),u(B),g(B,j,O),y(B.ticks),B.gridLines.display=a.xGridLine}for(var Y in n){var Z=n[Y];1==Y&&p(Z,c),d(Z,w[Y]),h(Z,{fontSize:A,fontFamily:x}),b(Z),u(Z),g(Z,j,O),y(Z.ticks),0==Y&&(Z.gridLines.display=a.yGridLine),1==Y&&(Z.gridLines.display=a.y2ndGridLine)}break;case"pie":case"doughnut":break;default:h(a.scale||{},{fontSize:A,fontFamily:x})}!function(e,{fontFamily:t,fontSize:n}){e.labels=e.labels?e.labels:{},e.labels.fontSize=n,t&&(e.labels.fontFamily=t)}(s,{fontSize:A,fontFamily:x}),s.labels.boxWidth=15,function(e,t,n){var i=v(t);e.labels=e.labels?e.labels:{},e.labels.fontColor=n||i.clone().setAlpha(.5).toString()}(s,j,O),function(e,{fontSize:t,fontFamily:n}){e.titleFontSize=e.bodyFontSize=e.footerFontSize=t,n&&(e.titleFontFamily=e.bodyFontFamily=e.footerFontFamily=n)}(l,{fontSize:A,fontFamily:x}),function(e){e.callbacks=e.callbacks||{},e.intersect=!1,e.mode="index",e.callbacks.label=function(e,t){var n=t.datasets[e.datasetIndex].data[e.index],i=t.datasets[e.datasetIndex].label||t.labels[e.index],r=Number(n);isNaN(r)||(n=r),n&&(n=n.toLocaleString());var a=t.datasets[e.datasetIndex].valuePrefix||"",o=t.datasets[e.datasetIndex].valueSuffix||"";return"".concat(i,": ").concat(a+n+o)}}(l)}};n(856),n(857);s.Chart.plugins.register(l);class x extends o.a{static get is(){return"things-chartjs"}static get properties(){return{width:Number,height:Number,options:Object,data:Array}}get initialized(){return this._initialized}set initialized(e){this._initialized=e}firstUpdated(){this.initChart()}render(){return Object(o.e)(w||(e=[' <canvas id="chart"></canvas> '],t||(t=e.slice(0)),w=Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))));var e,t}updated(e){(e.has("width")||e.has("height"))&&this.updateChartSize(),e.has("options")&&this.updateChartConfig(),e.has("data")&&(this.chart.data.rawData=this.data,this.chart.update(0))}initChart(){var{data:e,options:t,type:n}=this.options;t.maintainAspectRatio=!1,this.attachPluginOptions(t,n),A(this.options),this.canvas=this.renderRoot.querySelector("#chart"),this.chart=new s.Chart(this.canvas,{type:n,data:e,options:t}),this.updateChartSize(),this.initialized=!0}updateChartSize(){var e=Math.floor(this.width),t=Math.floor(this.height);this.canvas.style.width="".concat(e,"px"),this.canvas.style.height="".concat(t,"px");var n=()=>{0==this.canvas.offsetWidth||0==this.canvas.offsetHeight?requestAnimationFrame(n):this.chart.resize()};requestAnimationFrame(n)}updateChartConfig(){if(this.chart){var{data:e,options:t,type:n}=this.options;t.maintainAspectRatio=!1,this.attachPluginOptions(t,n),A(this.options),this.chart.type=n,this.chart.data=e,this.chart.options=t,this.chart.data.rawData=this.data,this.chart.update(0)}}attachPluginOptions(e={}){var t=e.plugins=e.plugins||{};this.attachDatalabelPluginOptions(t)}attachDatalabelPluginOptions(e={}){var t=e.datalabels=e.datalabels||{};t.display=function(e){return!!e.dataset.displayValue},t.anchor=function(e){return e.dataset.dataLabelAnchor||"center"},t.color=function(e){return e.dataset.defaultFontColor||"#000"},t.font=function(e){return{size:e.dataset.defaultFontSize}},t.clamp=!0,t.formatter=function(e,t){var n=t.dataset.valuePrefix||"",i=t.dataset.valueSuffix||"";return null==e?e:n+String(e).toLocaleString()+i}}}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}customElements.define(x.is,x);var E={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"chartjs",label:"",name:"chart"}],"value-property":"data",help:"scene/component/chartjs"};class R extends i.HTMLOverlayElement{get nature(){return E}get hasTextProperty(){return!1}get tagName(){return"things-chartjs"}isShadowable(){return!1}createElement(){super.createElement();var{width:e,height:t}=this.bounds,n=this.element,i=this.data;n.width=e,n.height=t,this._setChartConfig(n),n.data=i}setElementProperties(e){this.set("lineWidth",0);var{chart:t}=this.state,{width:n,height:r}=this.bounds,a=this.data;try{e.width=n,e.height=r,t&&this._isChartChanged&&(this._setChartConfig(e),this._isChartChanged=!1),this._isDataChanged&&(e.data=a,this._isDataChanged=!1)}catch(e){Object(i.error)(e)}}_setChartConfig(e){var{chart:t,fontSize:n=12,fontFamily:i,fontColor:r,shadow:o}=this.state,{left:s=0,top:l=0,blurSize:c=0,color:d="transparent"}=o||{},p={defaultFontSize:n,defaultFontFamily:i,defaultFontColor:r},u={shadowOffsetX:s,shadowOffsetY:l,shadowBlur:c,shadowColor:d},h=a()(t);h.options=j(j({},h.options),p),h.data.datasets=h.data.datasets.map(e=>j(j({},e),u)),e.options=h}onchange(e,t){this._isChartChanged=!1,("chart"in e||"fontSize"in e||"fontFamily"in e||"fontColor"in e||"shadow"in e)&&(this._isChartChanged=!0),super.onchange(e,t)}onchangeData(e){this._isDataChanged=!0}}i.Component.register("chartjs",R)},876:function(e,t,n){"use strict";var i=n(17),r=[{type:"string",label:"value",name:"value",property:"value"},{type:"number",label:"start-value",name:"startValue",observe:function(e){this.parentNode.querySelector("[name=colorStops]").property.min=e},property:"startValue"},{type:"number",label:"end-value",name:"endValue",observe:function(e){this.parentNode.querySelector("[name=colorStops]").property.max=e},property:"endValue"},{type:"number",label:"step",name:"step",property:"step"},{type:"number",label:"step-text-size",name:"stepTextSize",property:"stepTextSize"},{type:"number",label:"sub-step",name:"subStep",property:"subStep"},{type:"number",label:"step-needle-size",name:"stepNeedleSize",property:"stepNeedleSize"},{type:"color",label:"step-fill-style",name:"stepFillStyle",property:"stepFillStyle"},{type:"solid-color-stops",label:"color-stops",name:"colorStops",property:{min:0,max:100}},{type:"legend",label:"",name:"toggleOption",property:{label:"Toggle Option"}},{type:"checkbox",label:"show-start-value",name:"showStartValue",property:"showStartValue"},{type:"checkbox",label:"show-end-value",name:"showEndValue",property:"showEndValue"},{type:"checkbox",label:"show-step-line",name:"showStepLine",property:"showStepLine"},{type:"checkbox",label:"show-step-text",name:"showStepText",property:"showStepText"},{type:"checkbox",label:"show-sub-step",name:"showSubStep",property:"showSubStep"},{type:"checkbox",label:"anim-from-base",name:"animFromBase"}],a={mutable:!1,resizable:!0,rotatable:!0,properties:[...r,{type:"number",label:"start-angle",name:"startAngle",property:"startAngle"},{type:"number",label:"end-angle",name:"endAngle",property:"endAngle"},{type:"color",label:"text-fill-style",name:"textFillStyle",property:"textFillStyle"},{type:"color",label:"needle-fill-style",name:"needleFillStyle",property:"needleFillStyle"},{type:"color",label:"inner-circle-fill-style",name:"innerCircleFillStyle",property:"innerCircleFillStyle"},{type:"checkbox",label:"in-text",name:"inText",property:"inText"}],help:"scene/component/gauge-circle"};function o(e,t,n,i){e.rotate(t),e.translate(0,-n),e.fillRect(0,.14*-n,i,.175*n),e.translate(0,n),e.rotate(-t)}function s(e,t,n,i){e.rotate(t),e.translate(0,-n),e.fillRect(0,.04*-n,i,.075*n),e.translate(0,n),e.rotate(-t)}function l(e,t,n,i){e.rotate(n),e.translate(0,.83*-i),e.rotate(-n),e.fillText(t,0,0),e.rotate(n),e.translate(0,.83*i),e.rotate(-n)}class c extends(Object(i.ValueHolder)(i.Donut)){_draw(e){var{lineWidth:t=20,startValue:n,endValue:i,step:r,subStep:a,startAngle:c=0,endAngle:d=180,fontColor:p="black",showStepText:u=!0,showStartValue:h=!0,showEndValue:b=!0,showStepLine:m=!0,showSubStep:g=!0,inText:v=!0,colorStops:f,fillStyle:y,textFillStyle:w="black",needleFillStyle:A="black",innerCircleFillStyle:x="gray",stepNeedleSize:O=2,stepFillStyle:j,stepTextSize:k,cx:E,cy:R,rx:M,ry:S,ratio:I,animFromBase:N=!1}=this.model;n=Number(n),this.animOnValueChange(this.value,N,n);var z=.0174533/Math.PI,D=M/100*I,T=S/100*I,C=(d-c)/180,G=i-n;if(c=c*z-.5,d=d*z-.5,e.translate(E,R),e.beginPath(),e.ellipse(0,0,Math.abs(M),Math.abs(S),0,(c*Math.PI).toFixed(2),(d*Math.PI).toFixed(2)),this.drawStroke(e),e.ellipse(0,0,Math.abs(D),Math.abs(T),0,(d*Math.PI).toFixed(2),(c*Math.PI).toFixed(2),!0),e.closePath(),f){var P=0,B=0;e.moveTo(0,0),f.forEach((function(t,i,r){e.beginPath();var a=Math.max(Math.min(t.position-n,G),0),o=B||Math.PI*(c+C*P/G);if(B=i===r.length-1?Math.PI*(c+C):Math.PI*(c+C*a/G),P>G||P>a)return!1;e.ellipse(0,0,Math.abs(M),Math.abs(S),0,o,B),e.ellipse(0,0,Math.abs(D),Math.abs(T),0,B,o,!0),e.fillStyle=t.color,e.fill(),P=a}))}e.scale(1,S/M),e.beginPath();var Y=this.animValue;Y=Math.max(Math.min(Y,i),n);var Z=Math.PI*(C*(Y-n)/G+c-.5);if(function(e,t,n){e.rotate(n),e.beginPath(),e.moveTo(.035*t,0),e.lineTo(0,.8*t),e.lineTo(.035*-t,0),e.lineTo(.015*-t,.2*-t),e.lineTo(.015*t,.2*-t),e.rotate(-n)}(e,M,Z),e.fillStyle=A,e.fill(),e.beginPath(),e.ellipse(0,0,Math.abs(M)/15,Math.abs(M)/15,0,0,2*Math.PI),e.fillStyle=x,e.fill(),e.fillStyle=j,m){var U=G/r;o(e,Math.PI*(c+.5),.8*M,O);for(var L=1;L<U;L++){var Q=Math.PI*(C/U*L+c+.5);o(e,Q,.8*M,O)}o(e,Math.PI*(d+.5),.8*M,O)}if(g)for(var W=G,V=1;V<=W;V++)if(V%r!=0&&V%a==0){var F=Math.PI*(C/W*V+c+.5);s(e,F,.8*M,O)}e.fillStyle=w,e.font=M*k/50+"px arial",e.textBaseline="middle",e.textAlign="center";var _=v?.8:1.35;if(h&&l(e,n,Math.PI*(c+.5),M*_),b&&l(e,i,Math.PI*(d+.5),M*_),u)for(var J=G/r,H=1;H<J;H++){var X=n+r*H,q=Math.PI*(C/J*H+c+.5);l(e,X,q,M*_)}e.scale(1,M/S),e.translate(-E,-R)}contains(e,t){var{cx:n,cy:i,rx:r,ry:a}=this.model,o=(e-n)/(2*r-.5),s=(t-i)/(2*a-.5);return o*o+s*s<.25}_post_draw(e){this.drawText(e)}get nature(){return a}}i.Component.register("gauge-circle",c);var d={mutable:!1,resizable:!0,rotatable:!0,properties:[...r,{type:"color",label:"text-fill-style",name:"textFillStyle",property:"textFillStyle"},{type:"color",label:"needle-fill-style",name:"needleFillStyle",property:"needleFillStyle"},{type:"number",label:"needle-size",name:"needleSize",property:"needleSize"}],help:"scene/component/gauge-vertical"};class p extends(Object(i.ValueHolder)(Object(i.RectPath)(i.Shape))){_draw(e){var{startValue:t,endValue:n,step:i,subStep:r,colorStops:a,needleFillStyle:o,stepFillStyle:s,textFillStyle:l,needleSize:c,stepNeedleSize:d,stepTextSize:p,showStepText:u=!0,showStartValue:h=!0,showEndValue:b=!0,showStepLine:m=!0,showSubStep:g=!0,width:v,height:f,top:y,left:w,animFromBase:A=!1}=this.model;t=Number(t),this.animOnValueChange(this.value,A,t);var x=n-t;if(e.translate(w,y),e.beginPath(),e.rect(0,0,v,f),this.drawFill(e),this.drawStroke(e),e.closePath(),a){var O=0;a.forEach((function(n,i,r){e.beginPath();var a,o=Math.max(Math.min(n.position-t,x),0),s=f*O/x;if(a=i===r.length-1||s+f*o/x?f-s:f-f*o/x,O>x||O>o)return!1;e.rect(0,f-s,v,-a),e.fillStyle=n.color,e.fill(),O=o}))}e.beginPath();var j=this.animValue;j=Math.max(Math.min(j,n),t);var k=f-(j-t)/x*f;if(c*=4,e.moveTo(1.05*v,k),e.lineTo(1.05*v+c,k+c/2),e.lineTo(1.05*v+c,k-c/2),e.fillStyle=o,e.fill(),e.closePath(),e.fillStyle=s,m){var E=x/i;e.fillRect(0,f,.06*f,d);for(var R=1;R<E;R++){var M=f/E*R;e.fillRect(0,M,.06*f,d)}e.fillRect(0,0,.06*f,d)}if(g){var S=x;e.fillRect(0,0,.027*f,d);for(var I=1;I<=S;I++)if(I%i!=0&&I%r==0){var N=f/S*I;e.fillRect(0,N,.027*f,d)}}var z=f*p/150;if(e.fillStyle=l,e.font=z+"px arial",e.textBaseline="middle",e.textAlign="center",h&&e.fillText(t,-z,f),b&&e.fillText(n,-z,0),u)for(var D=x/i,T=1;T<D;T++){var C=t+Number(i)*T,G=f-f/D*T;e.fillText(C,-z,G)}e.translate(-w,-y)}_post_draw(e){this.drawText(e)}get nature(){return d}}i.Component.register("gauge-vertical",p);var u={mutable:!1,resizable:!0,rotatable:!0,properties:[...r,{type:"color",label:"text-fill-style",name:"textFillStyle",property:"textFillStyle"},{type:"color",label:"needle-fill-style",name:"needleFillStyle",property:"needleFillStyle"},{type:"number",label:"needle-size",name:"needleSize",property:"needleSize"}],help:"scene/component/gauge-horizon"};class h extends(Object(i.ValueHolder)(Object(i.RectPath)(i.Shape))){_draw(e){var{startValue:t,endValue:n,step:i,subStep:r,colorStops:a,needleFillStyle:o,stepFillStyle:s,textFillStyle:l,needleSize:c,stepNeedleSize:d,stepTextSize:p,showStepText:u=!0,showStartValue:h=!0,showEndValue:b=!0,showStepLine:m=!0,showSubStep:g=!0,width:v,height:f,top:y,left:w,animFromBase:A=!1}=this.model;t=Number(t),this.animOnValueChange(this.value,A,t);var x=n-t;if(e.translate(w,y),e.beginPath(),e.rect(0,0,v,f),this.drawFill(e),this.drawStroke(e),e.closePath(),a){var O=0;a.forEach((function(n,i,r){e.beginPath();var a,o=Math.max(Math.min(n.position-t,x),0),s=v*O/x;if(a=i==r.length-1||s+v*o/x?v-s:v*o/x,O>x||O>o)return!1;e.rect(s,0,a,f),e.fillStyle=n.color,e.fill(),O=o}))}if(e.fillStyle=s,m){var j=x/i,k=.06*v;e.fillRect(0,f-k,d,k);for(var E=1;E<j;E++){var R=v/j*E;e.fillRect(R,f-k,d,k)}e.fillRect(v,f-k,d,k)}if(g){var M=x,S=.027*v;e.fillRect(0,f-S,d,S);for(var I=1;I<=M;I++)if(I%i!=0&&I%r==0){var N=v/M*I;e.fillRect(N,f-S,d,S)}}var z=v*p/150;if(e.fillStyle=l,e.font=z+"px arial",e.textBaseline="middle",e.textAlign="center",h&&e.fillText(t,0,f+.75*z),b&&e.fillText(n,v,f+.75*z),u)for(var D=x/i,T=1;T<D;T++){var C=t+i*T,G=v/D*T;e.fillText(C,G,f+.75*z)}e.beginPath();var P=this.animValue,B=((P=Math.max(Math.min(P,n),t))-t)/x*v;c*=4,e.moveTo(B,f+1.4*z),e.lineTo(B+c/2,f+c+1.4*z),e.lineTo(B-c/2,f+c+1.4*z),e.fillStyle=o,e.fill(),e.closePath(),e.translate(-w,-y)}_post_draw(e){this.drawText(e)}get nature(){return u}}i.Component.register("gauge-horizon",h)},877:function(e,t,n){"use strict";var i,r,a,o=n(17),s=n(0);function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class c extends s.a{static get is(){return"things-news-ticker-horizontal"}static get styles(){return[Object(s.b)(i||(i=l(["\n :host * {\n box-sizing: border-box;\n }\n\n :host .ticker-wrap {\n position: absolute;\n bottom: 0;\n width: 100%;\n overflow: hidden;\n height: 100%;\n background-color: rgba(#000, 0.9);\n padding-left: var(--things-news-ticker-wrapper-padding-left);\n box-sizing: content-box;\n font-family: var(--things-news-ticker-font-family);\n }\n\n :host .ticker-wrap .ticker {\n display: inline-block;\n min-width: 100%;\n text-align: var(--things-news-ticker-text-align);\n height: 4rem;\n line-height: 4rem;\n white-space: nowrap;\n padding-right: var(--things-news-ticker-container-padding-right);\n box-sizing: content-box;\n }\n\n :host .ticker-wrap .ticker__item {\n display: inline-block;\n font-size: var(--things-news-ticker-font-size);\n color: var(--things-news-ticker-font-color);\n }\n\n :host body {\n padding-bottom: 5rem;\n }\n :host h1,\n :host h2,\n :host p {\n padding: 0 5%;\n }\n "])))]}static get properties(){return{width:Number,height:Number,fontFamily:String,fontColor:String,fontSize:String,textAlign:String,isReverse:Boolean,animationStartPosition:String,isTextOverflowed:Boolean,duration:Number,textData:String}}get currentAnimation(){return this._anim}set currentAnimation(e){this._anim=e}get animationTargetEl(){return this.renderRoot.querySelector(".ticker-wrap .ticker")}get textLines(){return this.textData.split("\n")}render(){return this.style.setProperty("--things-news-ticker-wrapper-padding-left",this.isTextOverflowed?"100%":0),this.style.setProperty("--things-news-ticker-container-padding-right",this.isTextOverflowed?"100%":0),Object(s.e)(r||(r=l(['\n <div class="ticker-wrap">\n <div class="ticker">\n ',"\n </div>\n </div>\n "])),this.textLines.map(e=>Object(s.e)(a||(a=l(['\n <div class="ticker__item">',"</div>\n "])),e)))}updated(e){(e.has("textData")||e.has("duration")||e.has("isReverse")||e.has("isTextOverflowed"))&&this.startAnimation()}startAnimation(){this.stopAnimation(),this.isTextOverflowed&&(this.currentAnimation=this.animationTargetEl.animate([{transform:"translate3d(0, 0, 0)",visibility:"hidden"},{transform:"translate3d(-100%, 0, 0)",visibility:"visible"}],{duration:this.duration,iterations:1/0,direction:this.isReverse?"reverse":"normal"}))}stopAnimation(){this.currentAnimation&&this.currentAnimation.cancel()}}customElements.define(c.is,c);var d,p,u;n(873);function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b,m,g;class v extends s.a{static get is(){return"things-news-ticker-vertical"}static get styles(){return[Object(s.b)(d||(d=h(["\n :host {\n display: block;\n overflow: hidden;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n }\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n white-space: nowrap;\n }\n\n #news_ticker {\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: relative;\n }\n\n li {\n display: flex;\n height: 100%;\n align-items: center;\n overflow: hidden;\n text-align: var(--things-news-ticker-text-align, left);\n }\n #news_ticker a {\n width: 100%;\n line-height: normal;\n color: var(--things-news-ticker-font-color, black);\n text-decoration: none;\n font-size: var(--things-news-ticker-font-size, 13px);\n }\n "])))]}static get properties(){return{width:Number,height:Number,fontFamily:String,fontColor:String,fontSize:String,textAlign:String,isReverse:Boolean,animationStartPosition:String,isTextOverflowed:Boolean,duration:Number,textData:String}}get currentAnimation(){return this._anim}set currentAnimation(e){this._anim=e}get animationTargetEl(){return this.renderRoot.querySelector("#news_ticker > ul")}get textLines(){return this.textData.split("\n")}render(){return Object(s.e)(p||(p=h(['\n <div id="news_ticker">\n <ul>\n ',"\n </ul>\n </div>\n "])),this.textLines.map(e=>Object(s.e)(u||(u=h(['\n <li><a href="#">',"</a></li>\n "])),e)))}updated(e){(e.has("textData")||e.has("duration")||e.has("isReverse"))&&this.startAnimation()}startAnimation(){this.stopAnimation();var e=this.createAnimationFrames();this.currentAnimation=this.animationTargetEl.animate(e,{duration:this.textLines.length*this.duration,iterations:1/0,direction:this.isReverse?"reverse":"normal"})}stopAnimation(){this.currentAnimation&&this.currentAnimation.cancel()}createAnimationFrames(){var e=this.textLines.length,t=this.textLines.map((t,n)=>({transform:"translateY(".concat(-n/e*100,"%)"),offset:1/e*n,easing:"cubic-bezier(1, 0, 0.5, 0)"}));return t.push({transform:"translateY(0)",offset:1,easing:"cubic-bezier(1, 0, 0.5, 0)"}),t}}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define(v.is,v);class y extends s.a{static get is(){return"things-news-ticker"}static get properties(){return{width:Number,height:Number,textData:String,fontFamily:String,fontColor:String,fontSize:String,textAlign:String,isReverse:Boolean,animationStartPosition:String,isTextOverflowed:Boolean,direction:String,duration:Number}}render(){return this.style.setProperty("--things-news-ticker-font-family",this.fontFamily),this.style.setProperty("--things-news-ticker-font-size",this.fontSize),this.style.setProperty("--things-news-ticker-font-color",this.fontColor),this.style.setProperty("--things-news-ticker-text-align",this.textAlign),Object(s.e)(b||(b=f(["\n ","\n "])),"vertical"==this.direction?Object(s.e)(m||(m=f(["\n <things-news-ticker-vertical\n .direction=","\n .duration=","\n .fontColor=","\n .fontFamily=","\n .fontSize=","\n .textAlign=","\n .isReverse=","\n .isTextOverflowed=","\n .animationStartPosition=","\n .textData=","\n ></things-news-ticker-vertical>\n "])),this.direction,this.duration,this.fontColor,this.font,this.fontSize,this.textAlign,this.isReverse,this.isTextOverflowed,this.animationStartPosition,this.textData):Object(s.e)(g||(g=f(["\n <things-news-ticker-horizontal\n .direction=","\n .duration=","\n .fontColor=","\n .fontFamily=","\n .fontSize=","\n .textAlign=","\n .isReverse=","\n .isTextOverflowed=","\n .animationStartPosition=","\n .textData=","\n ></things-news-ticker-horizontal>\n "])),this.direction,this.duration,this.fontColor,this.font,this.fontSize,this.textAlign,this.isReverse,this.isTextOverflowed,this.animationStartPosition,this.textData))}}customElements.define(y.is,y);var w={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"direction",name:"direction",property:{options:[{display:"horizontal",value:"horizontal"},{display:"vertical",value:"vertical"}]}},{type:"checkbox",label:"reverse",name:"reverse"},{type:"number",label:"duration",name:"duration",placeholder:"seconds"}],help:"scene/component/news-ticker"};class A extends o.HTMLOverlayElement{get nature(){return w}get hasTextProperty(){return!0}get tagName(){return"things-news-ticker"}createElement(){super.createElement(),this.setState("text","#{data}");var{width:e,height:t}=this.bounds,n=this.element;n.style.overflow="hidden",n.width=e,n.height=t}setElementProperties(e){var{width:t,height:n}=this.bounds;try{e.width=t,e.height=n,this.updateAndRender()}catch(e){error(e)}}get isTextOverflowed(){var e=document.createElement("span");e.style.font=this.font,e.style.position="fixed",e.style.left="-100%",e.style.visibility="none",e.textContent=this.textSubstitutor(),document.body.appendChild(e);var t=e.getBoundingClientRect(),n=this.element.width<t.width;return document.body.removeChild(e),e=null,n}updateAndRender(){var{direction:e="horizontal",reverse:t,animationStartPosition:n="end",textAlign:i,fontColor:r="black",fontSize:a=13,font:o,duration:s=30}=this.state,l=this.textSubstitutor().trim(),c=t,d=this.isTextOverflowed;this.element.direction=e,this.element.duration=1e3*s,this.element.fontColor=r,this.element.fontFamily=o,this.element.fontSize="".concat(a,"px"),this.element.textAlign=i,this.element.isReverse=c,this.element.isTextOverflowed=d,this.element.animationStartPosition=n,this.element.textData=l}dispose(){super.dispose()}startAnimation(){this.app.isViewMode}}o.Component.register("news-ticker",A)},878:function(e,t,n){"use strict";var i=n(17),r={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"action",label:"remove",name:"remove",property:{icon:"remove-circle",action:function(e){var t=e.parent;t.removeComponent(e),t.activeIndex=0,t.invalidate()}}}]};class a extends i.Container{get hasTextProperty(){return!1}get showMoveHandle(){return!1}get mutable(){return!1}get resizable(){return!1}get rotatable(){return!1}get nature(){return r}drawLocationMarkers(e){for(var t in e){var n=e[t],r=n.props||{};if(r.width=r.width||10,r.height=r.height||10,(new Date).getTime()-n.lastUpdateTime<n.updateInterval){var a=this.findById(t);if(a)for(var o in a.set(r),r)a[o]=r[o];else{var s=Object.assign({type:n.type||"rect",id:t,fillStyle:"red",left:r.center.x-.5*r.width,top:r.center.y-.5*r.height,cx:r.center.x,cy:r.center.y},r),l=i.Model.compile(s);this.addComponent(l)}}else{var c=this.findById(t);this.removeComponent(c)}this.invalidate()}}simulate(e){var t=[];for(var n in this.components)if("beacon"==this.components[n].model.type){var i=this.components[n];i.distance=Math.sqrt(Math.pow(i.center.x-e.x,2)+Math.pow(i.center.y-e.y,2)),i.gaussian=gaussian(i.model.txPower||-71,Math.pow(3.209,2)),i.txPower=i.gaussian.ppf(Math.random()),t.push(i)}t=t.slice(0),this.calculatePosition(t,e)}calculatePosition(e,t){var n=e;n.sort((function(e,t){var n=-10*Math.log10(e.distance)+e.txPower,i=-10*Math.log10(t.distance)+t.txPower;return Math.abs(n)-Math.abs(i)}));var r=this.k_combinations(n.slice(0,4),3),a=[];for(var o in r){var s=r[o],l=s[0],c=s[1],d=s[2],p=l.center.x,u=l.center.y,h=c.center.x,b=c.center.y,m=d.center.x,g=d.center.y,v=l.distance,f=c.distance,y=d.distance,w=-10*Math.log10(.01*l.distance)+l.txPower,A=-10*Math.log10(.01*c.distance)+c.txPower,x=-10*Math.log10(.01*d.distance)+d.txPower,O=p*p,j=h*h,k=u*u,E=b*b,R=(v=100*this.calculateDistance(l.txPower,w))*v,M=(f=100*this.calculateDistance(c.txPower,A))*f,S=((h-p)*(m*m+g*g-(y=100*this.calculateDistance(d.txPower,x))*y)+(p-m)*(j+E-M)+(m-h)*(O+k-R))/(2*(g*(h-p)+b*(p-m)+u*(m-h))),I=(M-R+O-j+k-E-2*(u-b)*S)/(2*(p-h));Number.isFinite(I)&&Number.isFinite(S)&&a.push({x:I,y:S})}var N=this.averageOfPositions(a);this._simPosition&&this.removeComponent(this._simPosition),this._simPosition=i.Model.compile({type:"ellipse",cx:N.x,cy:N.y,rx:10,ry:10,fillStyle:"navy"}),this.addComponent(this._simPosition)}calculateDistance(e,t){if(0==t)return-1;var n=1*t/e;return n<1?Math.pow(n,10):.89976*Math.pow(n,7.7095)+.111}calculateAngle(e,t,n){var i=Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2),r=Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2),a=Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2);return Math.acos((i+r-a)/Math.sqrt(4*i*r))}averageOfPositions(e){var t=0,n=0;for(var i in e){var r=e[i];t+=r.x,n+=r.y}return{x:t/e.length,y:n/e.length}}k_combinations(e,t){var n,i,r,a,o;if(t>e.length||t<=0)return[];if(t==e.length)return[e];if(1==t){for(r=[],n=0;n<e.length;n++)r.push([e[n]]);return r}for(r=[],n=0;n<e.length-t+1;n++)for(a=e.slice(n,n+1),o=this.k_combinations(e.slice(n+1),t-1),i=0;i<o.length;i++)r.push(a.concat(o[i]));return r}onclick(e){}}i.Component.register("floor",a);var o={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"action",label:"floor",name:"floor",property:{icon:"add-circle",action:e=>{e.addFloor()}}}],"value-property":"activeIndex",help:"scene/component/indoor-map"};class s extends i.Container{get nature(){return o}get layout(){return i.CardLayout}get activeIndex(){return Object.assign({},this.layoutConfig).activeIndex}set activeIndex(e){var t=Object.assign({},this.layoutConfig);t.activeIndex=e,this.layoutConfig=t}get layoutConfig(){return this.get("layoutConfig")}set layoutConfig(e){this.set("layoutConfig",e)}get activeFloor(){return this.components[this.get("layoutConfig").activeIndex]}ready(){super.ready(),0==this.components.length&&this.addFloor()}postrender(e){if(super.postrender(e),!this.app.isViewMode&&this._focused){for(var t,n,i,{left:r,top:a,width:o,fillStyle:s}=this.model,l=0;l<this.components.length;l++){e.beginPath(),e.rect(r-25,a+25*l,25,25);var c=255-20*(l+1)%255;e.fillStyle=(t=c,n=c,i=1,"rgba(".concat(c,", ").concat(t,", ").concat(n,", ").concat(i,")")),e.fill(),e.closePath()}e.beginPath(),e.moveTo(r,a),e.lineTo(r-25,a),e.lineTo(r-25,a+25*this.components.length),e.lineTo(r,a+25*this.components.length),e.strokeStyle="#ccc",e.stroke(),e.closePath()}}contains(e,t){var n=super.contains(e,t);if(this.app.isViewMode)return n;var{left:i,top:r,width:a}=this.bounds;return n=n||e<Math.max(i-25,i)&&e>Math.min(i-25,i)&&t<Math.max(r+25*this.size(),r)&&t>Math.min(r+25*this.size(),r),this._focused=!!n,this.invalidate(),n}onmouseup(e){var t=this.__down_point;if(delete this.__down_point,t&&t.x==e.offsetX&&t.y==e.offsetY){var n=this.transcoordC2S(e.offsetX,e.offsetY),{left:i,top:r}=this.model,a=n.x-i,o=n.y-r;a>0||(o/=25,o=Math.floor(o),this.layoutConfig||(this.layoutConfig={}),o>=this.components.length||(this.activeIndex=o))}}onmousedown(e){this.__down_point={x:e.offsetX,y:e.offsetY}}addFloor(){var e=i.Model.compile({type:"floor",fillStyle:"gray",top:0,left:0,width:100,height:100});this.addComponent(e),this.activeIndex=this.components.length-1}drawLocationMarkers(e){this.activeFloor.drawLocationMarkers(e)}}i.Component.register("indoor-map",s);var l={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"depth",name:"depth",property:"depth"},{type:"number",label:"shelves",name:"shelves",property:"shelves"},{type:"string",label:"location-pattern",name:"locPattern",placeholder:"{z}{s}-{u}-{sh}",property:"locPattern"},{type:"string",label:"zone",name:"zone",property:"zone"},{type:"string",label:"section",name:"section",property:"section"},{type:"string",label:"unit",name:"unit",property:"unit"},{type:"string",label:"shelf-pattern",name:"shelfPattern",placeholder:"#",property:"shelfPattern"}],help:"scene/component/rack"};class c extends(Object(i.RectPath)(i.Component)){is3dish(){return!0}draw(e){var{left:t,top:n,width:i,height:r,strokeStyle:a,lineWidth:o,fillStyle:s,alpha:l=1}=this.model;e.beginPath(),e.rect(t,n,i,r),e.strokeStyle=a,e.lineWidth=o,e.globalAlpha=.4*l,e.stroke(),e.beginPath(),e.rect(t+.15*i,n+.15*r,.7*i,.7*r),e.fillStyle=s,e.globalAlpha=.5*l,e.fill(),e.beginPath(),e.moveTo(t,n),e.lineTo(t+i,n+r),e.moveTo(t,n+r),e.lineTo(t+i,n),e.strokeStyle=a,e.lineWidth=o,e.globalAlpha=.4*l,e.stroke()}get nature(){return l}get hasTextProperty(){return!1}}i.Component.register("rack",c)},879:function(e,t,n){"use strict";var i=n(17),r={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value"},{type:"number",label:"start-angle",name:"startAngle"},{type:"number",label:"end-angle",name:"endAngle"},{type:"color",label:"blank-stroke-style",name:"blankStrokeStyle"},{type:"checkbox",label:"packman-style",name:"packmanStyle"},{type:"checkbox",label:"anim-from-base",name:"animFromBase"}],help:"scene/component/progress-circle"};class a extends(Object(i.ValueHolder)(i.Ellipse)){_draw(e){var{startAngle:t=0,endAngle:n=360,lineWidth:i=20,blankStrokeStyle:r,cx:a,cy:o,rx:s,ry:l,packmanStyle:c=!1,animFromBase:d=!1}=this.model;this.animOnValueChange(this.value,d,0);var p=.0174533/Math.PI;e.beginPath(),this.drawStroke(e);var u=(t-90)*p*Math.PI,h=(n-90)*p*Math.PI;e.strokeStyle=r,e.ellipse(a,o,Math.abs(s),Math.abs(l),0,u,h),e.lineWidth=i,e.stroke();var b=Math.min(Math.max(this.animValue/100,0),100);e.beginPath(),c?(e.ellipse(a,o,Math.abs(s),Math.abs(l),0,u,u+(h-u)*b),e.lineTo(a,o)):e.ellipse(a,o,Math.abs(s),Math.abs(l),0,u,h),this.drawFill(e),e.closePath(),e.beginPath(),e.ellipse(a,o,Math.abs(s),Math.abs(l),0,u,u+(h-u)*b),this.drawStroke(e)}_post_draw(e){this.drawText(e)}get nature(){return r}}i.Component.register("progress-circle",a);var o={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value",property:"value"},{type:"color",label:"background-color",name:"backgroundColor",property:"backgroundColor"},{type:"checkbox",label:"anim-from-base",name:"animFromBase"}],help:"scene/component/progress-vertical"};class s extends(Object(i.ValueHolder)(Object(i.RectPath)(i.Shape))){_draw(e){var{top:t,left:n,height:i,width:r,backgroundColor:a="transparent",animFromBase:o=!1}=this.model;this.animOnValueChange(this.value,o,0),e.beginPath(),e.rect(n,t,r,i),e.fillStyle=a,e.fill(),e.beginPath();var s=i-i*Math.max(Math.min(this.animValue,100),0)/100;s=Math.max(Math.min(s,i),0),e.rect(n,t+s,r,i-s),this.drawFill(e),e.closePath(),e.beginPath(),e.rect(n,t,r,i)}_post_draw(e){this.drawStroke(e),this.drawText(e)}get nature(){return o}}i.Component.register("progress-vertical",s);var l={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"value",name:"value",property:"value"},{type:"color",label:"background-color",name:"backgroundColor",property:"backgroundColor"},{type:"checkbox",label:"reverse",name:"reverse",property:"reverse"},{type:"checkbox",label:"anim-from-base",name:"animFromBase"}],help:"scene/component/progress-horizontal"};class c extends(Object(i.ValueHolder)(Object(i.RectPath)(i.Shape))){_draw(e){var{top:t,left:n,height:i,width:r,backgroundColor:a="transparent",reverse:o,animFromBase:s=!1}=this.model;this.animOnValueChange(this.value,s,0),e.beginPath(),e.rect(n,t,r,i),e.fillStyle=a,e.fill(),e.beginPath();var l=r-r*Math.max(Math.min(this.animValue,100),0)/100;l=Math.max(Math.min(l,r),0),o?e.rect(n,t,r-l,i):e.rect(n+l,t,r-l,i),this.drawFill(e),e.closePath(),e.beginPath(),e.rect(n,t,r,i)}_post_draw(e){this.drawStroke(e),this.drawText(e)}get nature(){return l}}i.Component.register("progress-horizontal",c)},880:function(e,t,n){"use strict";var i=n(17),r={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"hour-width",name:"hourWidth",property:"hourWidth"},{type:"number",label:"minute-width",name:"minuteWidth",property:"minuteWidth"},{type:"number",label:"second-width",name:"secondWidth",property:"secondWidth"},{type:"checkbox",label:"needle-round",name:"needleRound",property:"needleRound"},{type:"checkbox",label:"show-second",name:"showSecond",property:"showSecond"},{type:"checkbox",label:"show-number",name:"showNumber",property:"showNumber"},{type:"number",label:"inner-circle-size",name:"innerCircleSize",property:"innerCircleSize"},{type:"color",label:"inner-circle-color",name:"innerCircleColor",property:"innerCircleColor"}],help:"scene/component/analog-clock"};function a(e,t,n,i,r){e.beginPath(),e.lineWidth=i,e.lineCap=r?"round":"square",e.moveTo(0,0),e.rotate(t),e.lineTo(0,-n),e.stroke(),e.rotate(-t)}class o extends i.Ellipse{is3dish(){return!1}_draw(e){var t,n,{cx:i,cy:r,rx:o,ry:s,fillStyle:l,strokeStyle:c,fontColor:d="#000",lineWidth:p,hourWidth:u,minuteWidth:h,secondWidth:b,needleRound:m=!1,showSecond:g=!0,showNumber:v=!0,innerCircleSize:f=5,innerCircleColor:y="#000"}=this.model;if(e.beginPath(),e.ellipse(i,r,Math.abs(o),Math.abs(s),0,0,2*Math.PI),e.fillStyle=l,e.strokeStyle=c,e.lineWidth=p||.1*o,this.drawFill(e),this.drawStroke(e),e.beginPath(),e.translate(i,r),e.scale(1,s/o),v)for(e.font=.15*o+"px arial",e.textBaseline="middle",e.textAlign="center",e.fillStyle=d,n=1;n<13;n++)t=n*Math.PI/6,e.rotate(t),e.translate(0,.85*-o),e.rotate(-t),e.fillText(n.toString(),0,0),e.rotate(t),e.translate(0,.85*o),e.rotate(-t);var w,A=new Date,x=A.getHours(),O=A.getMinutes(),j=A.getSeconds();a(e,x=(x%=12)*Math.PI/6+O*Math.PI/360+j*Math.PI/21600,.55*o,u||.07*o,m),a(e,O=O*Math.PI/30+j*Math.PI/1800,.8*o,h||.07*o,m),g&&a(e,j=j*Math.PI/30,.9*o,b||.02*o,m),e.beginPath(),f&&(e.ellipse(0,0,f,f,0,0,2*Math.PI),e.fillStyle=y,e.fill()),e.beginPath(),e.scale(1,o/s),e.translate(-i,-r),w=setTimeout((function(e){e.invalidate(),clearTimeout(w)}),1e3,this)}get nature(){return r}}i.Component.register("clock-analog",o);var s=n(19),l=n.n(s),c={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"string",label:"time-format",name:"timeFormat"},{type:"checkbox",label:"is-local-time",name:"localTime"},{type:"number",label:"utc",name:"utc"},{type:"select",label:"week-language",name:"weekLanguage",property:{options:[{display:"English",value:"en"},{display:"Korean",value:"ko"},{display:"Chinese",value:"zh_cn"},{display:"Japanese",value:"ja"}]}}],help:"scene/component/clock-text"};class d extends i.Text{is3dish(){return!1}get nature(){return c}render(e){super.render(e),this._raf=requestAnimationFrame(()=>{setTimeout(()=>{this._timer()},1e3)})}_timer(){this.set("data",this._getTimeStamp())}_getTimeStamp(){var e=l()(),t=this.get("utc"),n=this.get("timeFormat")||"YYYY-MM-DD HH:mm:ss",i=this.get("weekLanguage");return this.get("weekLanguage")||(i="en"),this.get("localTime")?e.local():e.utc().utcOffset(t),e.locale(i).format(n)}dispose(){super.dispose(),cancelAnimationFrame(this._raf)}}i.Component.register("clock-text",d)},881:function(e,t,n){"use strict";var i,r,a=n(17),o=n(0);function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class l extends o.a{static get properties(){return{round:Boolean,value:Boolean}}static get styles(){return Object(o.b)(i||(i=s(['\n /* The switch - the box around the slider */\n label {\n position: relative;\n display: inline-block;\n width: 100%;\n height: 100%;\n }\n\n /* Hide default HTML checkbox */\n label input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n /* The slider */\n span {\n position: absolute;\n cursor: pointer;\n width: var(--fullwidth);\n height: var(--fullheight);\n top: calc(0 - var(--thumbnail-size));\n left: 0;\n background-color: var(--off-color, #ccc);\n -webkit-transition: 0.4s;\n transition: 0.4s;\n }\n\n span:before {\n position: absolute;\n content: "";\n height: calc(var(--thumbnail-size) - 8px);\n width: calc(var(--thumbnail-size) - 8px);\n left: 4px;\n top: 4px;\n background-color: var(--thumbnail-color, white);\n -webkit-transition: 0.4s;\n transition: 0.4s;\n }\n\n input:checked + span {\n background-color: var(--on-color, #2196f3);\n }\n\n input:checked + span:before {\n -webkit-transform: translateX(\n calc(var(--fullwidth) - var(--thumbnail-size))\n )\n translateY(calc(var(--fullheight) - var(--thumbnail-size)));\n -ms-transform: translateX(\n calc(var(--fullwidth) - var(--thumbnail-size))\n )\n translateY(calc(var(--fullheight) - var(--thumbnail-size)));\n transform: translateX(calc(var(--fullwidth) - var(--thumbnail-size)))\n translateY(calc(var(--fullheight) - var(--thumbnail-size)));\n }\n\n /* Rounded sliders */\n span[round] {\n border-radius: calc(var(--thumbnail-size) / 2);\n }\n\n span[round]:before {\n border-radius: calc((var(--thumbnail-size) - 8px) / 2);\n }\n '])))}render(){return Object(o.e)(r||(r=s(['\n <label>\n <input type="checkbox" .checked='," />\n <span ?round=","></span>\n </label>\n "])),this.value,this.round)}firstUpdated(){this.shadowRoot.addEventListener("change",e=>{this.value=e.target.checked,this.dispatchEvent(new CustomEvent("value-change",{detail:this.value}))})}}customElements.define("simple-switch",l);var c={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"checkbox",label:"round",name:"round"},{type:"checkbox",label:"on/off",name:"data"},{type:"color",label:"on-color",name:"onColor"},{type:"color",label:"off-color",name:"offColor"},{type:"color",label:"thumbnail-color",name:"thumbnailColor"}],"value-property":"data",help:"scene/component/simple-switch"};class d extends a.HTMLOverlayElement{static get nature(){return c}oncreate_element(e){e.addEventListener("value-change",e=>{var t=e.detail;this.setState({data:t})})}dispose(){super.dispose()}setElementProperties(e){var{round:t,data:n,onColor:i,offColor:r,thumbnailColor:a}=this.state;e.round=t,e.value="true"==String(n),i&&e.style.setProperty("--on-color",i),r&&e.style.setProperty("--off-color",r),a&&e.style.setProperty("--thumbnail-color",a)}reposition(){super.reposition();var e=this.element;if(e){var{height:t,width:n}=this.bounds;e.style.setProperty("--fullwidth","".concat(n,"px")),e.style.setProperty("--fullheight","".concat(t,"px")),e.style.setProperty("--thumbnail-size","".concat(Math.min(t,n),"px"))}}get tagName(){return"simple-switch"}}a.Component.register("simple-switch",d)},882:function(e,t,n){"use strict";var i=n(17);class r extends(Object(i.RectPath)(i.Component)){get index(){return this.model.index}get activated(){return this.parent.activeIndex===this.index}removed(e){this.dispose()}prerender(e){super.prerender(e);var{fillStyle:t,activeFillStyle:n,activeLineColor:i,activeLineWidth:r,fontColor:a,activeFontColor:o}=this.model;this.hasOwnProperty("_fillStyle")||(this._fillStyle=t),this.hasOwnProperty("_fontColor")||(this._fontColor=a),this.activated?(this.model.fillStyle=n,this.model.fontColor=o,this.model.strokeStyle=i,this.model.lineWidth=r):(this.model.fillStyle=this._fillStyle,this.model.fontColor=this._fontColor,this.model.strokeStyle=this._strokeStyle,this.model.lineWidth=this._lineWidth)}render(e){var{left:t=0,top:n=0,width:i,height:r}=this.bounds;e.beginPath(),e.rect(t,n,i,r),this.drawFill(e),this.drawStroke(e)}postrender(e){super.postrender(e),this.model.fillStyle=this._fillStyle,this.model.fontColor=this._fontColor,this.model.strokeStyle=this._strokeStyle,this.model.lineWidth=this._lineWidth,delete this._fillStyle,delete this._fontColor,delete this._strokeStyle,delete this._lineWidth}onclick(e){this.parent.activeIndex=this.index,this.parent.invalidate()}onchange(e){e.hasOwnProperty("fillStyle")&&(this._fillStyle=e.fillStyle),e.hasOwnProperty("fontColor")&&(this._fontColor=e.fontColor),e.hasOwnProperty("strokeStyle")&&(this._fontColor=e.fontColor),e.hasOwnProperty("lineWidth")&&(this._fontColor=e.fontColor),e.hasOwnProperty("text")&&this.parent.reference.getAt(this.index).set("text",e.text),this.invalidate()}}i.Component.register("tab-button",r);var a={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"tab-reference",name:"reference",property:{component:"indoor-map"}},{type:"number",label:"tab-active-index",name:"activeIndex",property:{min:0,step:1}},{type:"color",label:"active-fill-style",name:"activeFillStyle",property:"activeFillStyle"},{type:"color",label:"active-font-color",name:"activeFontColor",property:"activeFontColor"},{type:"color",label:"active-line-color",name:"activeLineColor",property:"activeLineColor"},{type:"number",label:"active-line-width",name:"activeLineWidth",property:"activeLineWidth"}]};class o extends i.Container{get layout(){var{width:e,height:t}=this.model;return e>=t?i.LinearHorizontalLayout:i.LinearVerticalLayout}get nature(){return a}get focusible(){return!1}get reference(){var{reference:e}=this.model;return e?(this._reference||(this._reference=this.root.findById(e),this._reference&&this._reference.on("change",this.onRefChanged,this)),this._reference):null}get labelHeight(){var e=this.reference.components.length,t=this.model.height;return e>0&&t/e||t}get activeIndex(){return this.get("activeIndex")}set reference(e){this.reference&&this.reference.off("change",this.onRefChanged,this),this._reference=null,this.model.reference=e}set activeIndex(e){this.set("activeIndex",e),this.reference&&(this.reference.activeIndex=e)}render(e){if(super.render(e),this.reference)this.size()!==this.reference.size()&&this.rebuildTabButtons(e);else for(var t=this.components.length-1;t>=0;t--){var n=this.components[t];this.removeComponent(n)}}postrender(e){if(super.postrender(e),this.app.isEditMode){var{left:t,top:n,width:i,fillStyle:r}=this.model;e.beginPath(),e.rect(t+i,n,25,25);var a,o,s;e.fillStyle=(a=235,o=235,s=1,"rgba(".concat(235,", ").concat(a,", ").concat(o,", ").concat(s,")")),e.fill(),e.closePath()}}contains(e,t){if(!this.app.isEditMode)return super.contains(e,t);if(super.contains(e,t))return!0;var{left:n,top:i,width:r}=this.bounds,a=n+r;return e<Math.max(a+25,a)&&e>Math.min(a+25,a)&&t<Math.max(i+25,i)&&t>Math.min(i+25,i)}dispose(){this.reference&&this.reference.off("change",this.onRefChanged,this),super.dispose()}rebuildTabButtons(){for(var{tabIndex:e=0,left:t,top:n,width:r,height:a,fillStyle:o,activeFillStyle:s,activeLineColor:l,activeLineWidth:c,strokeStyle:d,fontColor:p,activeFontColor:u,fontFamily:h,fontSize:b,lineHeight:m,italic:g,bold:v,lineWidth:f=0}=this.model,y=[],w=this.reference.components,A=(this.labelHeight,this.components.length-1);A>=0;A--)this.removeComponent(this.components[A]);for(var x=0;x<w.length;x++)if("floor"==w[x].model.type){var O=w[x].text||"";y.push(i.Model.compile({type:"tab-button",index:x,text:O||String(x+1),fillStyle:o||"transparent",activeFillStyle:s,activeLineColor:l,activeLineWidth:c,fontColor:p,activeFontColor:u||p,fontFamily:h,fontSize:b,lineHeight:m,italic:g,bold:v,strokeStyle:d,lineWidth:f,left:0,top:0,width:r,height:a}))}this.add(y),this.reflow(),this.activeIndex=this.model.activeIndex||0}setTabButtonsStyle(e){var t=this.components;for(var n in t){t[n].set(e)}}onRefChanged(e,t,n){}onchange(e,t){e.hasOwnProperty("reference")&&(this.reference=e.reference,this.invalidate()),this.setTabButtonsStyle(e)}}i.Component.register("tab",o)},883:function(e,t,n){"use strict";var i=n(17);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s={ondragmove:function(e,t,n){n.controls;var{left:i,top:r,width:a,height:o}=n.bounds,s=(n.transcoordP2S(e.x,e.y).x-i)/(a/2)*100;s=l(s,a,o),n.set({round:s})}};function l(e,t,n){var i=t>n?n/t*100:100;return e>=i?e=i:e<=0&&(e=0),e}class c extends i.Rect{is3dish(){return!1}_draw(e){var{round:t,top:n,left:i,width:r,height:o}=a(a({},this.model),this.bounds);if(e.beginPath(),(t=l(t,r,o))>0){var s=t/100*(r/2);e.moveTo(i+s,n),e.lineTo(i+r-s,n),e.quadraticCurveTo(i+r,n,i+r,n+s),e.lineTo(i+r,n+o),e.lineTo(i,n+o),e.lineTo(i,n+s),e.quadraticCurveTo(i,n,i+s,n)}else e.rect(i,n,r,o);this.drawFill(e),this.drawStroke(e)}get controls(){var{left:e,top:t,width:n,round:i,height:r}=a(a({},this.model),this.bounds);return[{x:e+n/2*((i=null==i?0:l(i,n,r))/100),y:t,handler:s}]}}i.Component.register("half-roundrect",c)},884:function(e,t,n){"use strict";var i=n(17),r={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"format",name:"format",property:{options:["bool,character,floating,integer,letter,natural,string","paragraph,sentence,syllable,word","age,birthday,cf,cpf,first,gender,last,name,prefix,ssn,suffix","android_id,apple_token,bb_pin,wp7_anid,wp8_anid2,avatar,color","company,domain,email,fbid,google_analytics,hashtag,ip,ipv6,klout,profession,tld,twitter,url","address,altitude,areacode,city,coordinates,country,depth,geohash,latitude,longitude,phone,postal,province,state,street,zip","ampm,date,hammertime,hour,millisecond,minute,month,second,timestamp,timezone,weekday,year","cc,cc_type,currency,currency_pair,dollar,euro,exp,exp_month,exp_year","coin,d4,d6,d8,d10,d12,d20,d30,d100,guid,hash"].join(",").split(",").map(e=>({display:e,value:e}))}},{type:"number",label:"count",name:"count",placeholder:1},{type:"number",label:"period",name:"period",placeholder:"milli-seconds"}],help:"scene/component/random"};class a extends(Object(i.RectPath)(i.Shape)){static get image(){return a._image||(a._image=new Image,a._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAtFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSe1G2AAAAO3RSTlMAA/sG7vXcIvjy4tLm14YJzWlkbhK6pX8aDwyqSTPJxZtEQBbAOyqRjHlNciYe6a51WrWWUjcun7JfVn5FXzIAAAjjSURBVHja7NrXdtpAGATgkUQTvdn0DjbV2In7vP975SLIlrIFLevEcKLvWseAhWbn3wWJRCKRSCQSiUQikUgkEolEIpFI/C/ajX0plSrtGztcskHP5YG7v8GlmswZ5q4cXCDnvco/XV/eJ6nUMpR4wWXprO4oV8cFaS99qqSauBTbsUuNMi7D0556fgcXoD/nUfc4d85DgTHcVXDWJHl7icHVFPJWLXO+q2J7maaBd5ynmxeXRqo4R9q8zWUKmRwFE5wdXd4WywMPgDcoFxl1hfOizVt/4yHgNXxGDHBGKo0M1QpZhGWjH7mHs9FsafO22kRUp8oQd4vzsLtNU6fYFiO6yJAxzsHxvF1DtI7EWRvfbvHKY+aQmZ9Vm+/PedwjcOyWpBx8Iy9ev/U9yHg+Py3xfbqNPGO5gtwVP7htfJdmK8WYbiF3q9hNWSxHxbRf6tWbsGCdt6IW5Fr8cIMPjwUGcuMtbNn32+OJVGbgBwLNPSNeF7Bgkbcmu3BjBqY4aJf4p9Gjg7/AWY9oqgq5qnBBp0SJTK2Cr7Yu8AQzyMzEEbFHubtWE1+pe82T3ENmIwztfSqlf2bxZWYFnqZYgahS5EEDB0NquL0BvkalylOVdZmV6uK3KY+Y9x3A3k+eri+WNPFT/uBRpTcPtp4o41/Xn7LZRb2Xpk56iqjpx/W5IApuGEfxvgM7PyhK3Xc/t+R8argNB5+chivOVC+Mx1/uYKFN0VUkV3cj6gwnCEzCV26DF3AZl3v9jJPVKBg7iPD21Mrcvj89P70vMwzZCw9/LFcTGFLf+FchQrwRjS2CNSpFM9UHD6eYC09dE4KdT0Ojz+VRUBzOqz7V8psuzAmLyBsk7qmkn4K9PKOG9fbvLGvlqZQqt2FqxKi8A4muTyOl4K88MCLTxwevkaZSbnwDM714Q8aYRuo4KDBs30XYtkSN1ylMrBg1hdQ7A0bHbhP9DyJmJeoMTUaWAaOakNrSxEqyD0EOxTjK+hSYjizym+9CrkMD6eC/8Xx0I7jOI1KtGeJ5Y1gOcl0auMXBNUN+QsIp8ZjcsZFFHpAVSGUZnxu88M5lyFbXLPT2T4hhE+dsps/4ejhYMqQAqRljGa0d6IglYgOpMuMbBM+VH2c7L8N4SvUKBJo3OYSMk2Fsc3myNwzGCLm7VRNas1y07Uk8njA1ekVt9RED4bj0bTb+sDt0IKiUGFtBkax1XbUwGFkGUMu6DGnZjfVvimBtKcueoas+lK71X4IN4yt6H+c9UXtIOT6NFR4cyD0zYhW5zluetGk3j3cstOApCoN40TEKXbeo0oDfUW7OPFjUaoFbh9RU+CLWswCcbW1EI0v1M1xwNI+nuRqkhhTk8vkcDbk7zRvcWKwiIncK5UJh70WXc+5CMw2Zy1eULdResC/VTFPCXyCqQRsrwHwwMDznbVEqV3PwqTumlaKjaPP2JkETuKPCsO8E19SKtDRVtHlr1ThDRn5c60/Xm55Pay1Vm7f1YNSV7fVUbd5S3jGKQHtzZZu30zDrgfZGX3t0JRy1LfiPvGrbvP2B4iv/kaW6zVvItQ338uytofBMC2PDPmvP/9XenSglDwMBAN4eQG25tYUiVgoIDodcgmDe/73+cQYtNW2SbTpY5s/3AM7ASHazu902II1LsptkOTOq28HOa+okkymkGubww6sjSgnn1Mw/NUkEWQdkZ/PXaLV5I4hs3jKHw3yz+QCb0OotiFk6BOkJaHQ2n7XVptm4YkvkwZEP6/LZfJlqteFDQOUOOT3CZFQJg9U8rlybdYFuCn7wBtDukV1KtjXj19VvwJflusxutfGdpK9EJ+DwTZJsPElvyHaQtQTT4PYz+XXACCqbr2twaVFmtNq4PEg0wdQBuUaW0EW/W05oqn3I1aS0O0QdkG8n9hVOSlSI7eqSJ44jl/fys/k3H2hzRquN40WyMq8vQYRH3/2Yh8yearXxhMzBGD4v2wwBKfmsGfgxfvKmDclMVB2QzyVxR+YhM8OHgZ1cD9wFQUPBs86MhdgTrt4iEdpDEBVQGWGiJjUIJJUoaU7uzwC/i30D7mWI7ROEQJOYQNqAMK0mdMl/voyUY2QNjPJQJUJsA8S1RQIx2BfZyZNsm8Zws30HmGx+kD5GMo1abTilEGJ6W0QdEGHNb0TAiWq1YegdAyJPNUQdEMM3+bnR+CLETgleud37/hgetg4YkZ+0GVKtNjTLfZ3fd7wytg4YwWbzreT5FBfbJZI3kXusxNpTJ7R3GWACciVHoOCyeXMPMdrgKzvBjm7KewEc+kC1Yg+KLMexa+OeXEkAFHw23/wZJ17WS/Fa34xcyTtk4VKx6HG9+Wy/ft/jdOMqH0R+i8+Q92eRs0ryWpBNIJpOj4i8u239vtV5fJPedIWvzTvwo0YkNT+N83EYblEDAvhsnmbn1qMvtTWIhDZn5B6vTZh6ANHwuITqAWJGAeKmj8rm+UMtryQ7cwERxmPjFchuLVrv65Vz7TIvSsxWG55vipbEJybJ6FGwML8HGR3mrHoDIodqnvlsw6RbbVJ6tvBTQ91jnpMxU/ofUE6op5z7GlD6z7mtKYCQbrVJamOeqH1Z5TTPB37+Wx83Folj7jZYDCyCUoFkd9S5Im3yTAhiy8yobhKELiSr0h0zeeHKOv/CO12hNUqIqLKAZCVEdoLQ2G9arVkFvSibry/yENkU/s5wK7VKaYZqtcmT36nkCCwM8ECa/NZsfGGErvgd4M/5azvTmM+0eKtEjZODv4m/6IVc7tp3kb2Sylv8V1QcT55O0pVmEHOwf7XaiqTC3G439eGHMbd+t9qKhblP2+xUzoGQygrmUDiNdo2ks4+DwaqW1GoroJRVdzf5boP9ivAVYvcm12JnkUS39yaTkfie0aK/8Kcn+GaDLRSe9hkI3ehvAf/KEsCNmHzoN/l6hgRdVqnCKe4LMxL4czv9znVb0nZwd+D2hC75UpjSSY5XFr2AWW+WhdxuAQoO2fmtrUkI0Z3XQr3wI5uHSvemDl1FURRFURRFURRFURRF+a/9A+ihoIIrt6BYAAAAAElFTkSuQmCC"),a._image}ready(){super.ready(),i.ScriptLoader.load(["https://chancejs.com/chance.min.js"]).then(()=>{this.app&&this.app.isViewMode&&this._initRandom()},i.error)}dispose(){super.dispose(),this._stopRepeater()}random(){var{format:e,count:t=1}=this.state;e&&t&&(this.data=chance.n(chance[e],t))}_initRandom(){this._stopRepeater(),this._startRepeater()}_startRepeater(){var{period:e}=this.state;e=Number(e);var t=!0;e&&(this.repeatTimer=setInterval(()=>{t&&this.repeatTimer&&requestAnimationFrame(()=>{t=!0,this.random()}),t=!1},e)),this.random()}_stopRepeater(){this.repeatTimer&&clearTimeout(this.repeatTimer),delete this.repeatTimer}_draw(e){var{left:t,top:n,width:i,height:r}=this.bounds;e.beginPath(),this.drawImage(e,a.image,t,n,i,r)}ondblclick(e){this.random()}get hasTextProperty(){return!1}get controls(){}get nature(){return r}}i.Component.register("random",a)},955:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return R}));var i=n(48);function r(e){Object(i.i)("help",{templateProperties:{topic:e}})}n(1019);var a,o,s=n(0);function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class c extends s.a{static get styles(){return Object(s.b)(a||(a=l(["\n :host {\n display: flex;\n align-items: center;\n }\n "])))}static get properties(){return{topic:String,type:String}}render(){return Object(s.e)(o||(o=l([" <slot></slot> "])))}connectedCallback(){super.connectedCallback(),this.renderRoot.addEventListener("click",e=>{r(this.topic)})}}customElements.define("inline-help",c);var d,p,u,h,b,m,g,v,f=n(8);n(42);function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class w extends(Object(f.b)(f.a)(s.a)){static get styles(){return Object(s.b)(d||(d=y(["\n mwc-icon {\n position: relative;\n top: 4px;\n cursor: help;\n opacity: var(--help-icon-opacity);\n color: var(--help-icon-color);\n font-size: var(--help-icon-size);\n line-height: 0;\n }\n mwc-icon:hover {\n opacity: var(--help-icon-hover-opacity);\n color: var(--help-icon-hover-color);\n }\n "])))}static get properties(){return{msgid:String,topic:String}}render(){var e=f.a.t(this.msgid),t=this.topic;return Object(s.e)(p||(p=y([" "," "," "])),e,t?Object(s.e)(u||(u=y(["<mwc-icon @click=",">help</mwc-icon>"])),e=>r(t)):Object(s.e)(h||(h=y([""]))))}}function A(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}customElements.define("title-with-help",w);class x extends s.a{static get styles(){return Object(s.b)(b||(b=A(["\n mwc-icon {\n position: relative;\n top: 4px;\n cursor: help;\n opacity: var(--help-icon-opacity);\n color: var(--help-icon-color);\n font-size: var(--help-icon-size);\n line-height: 0;\n }\n\n mwc-icon:hover {\n opacity: var(--help-icon-hover-opacity);\n color: var(--help-icon-hover-color);\n }\n "])))}static get properties(){return{topic:String}}render(){var e=this.topic;return Object(s.e)(m||(m=A(["",""])),e?Object(s.e)(g||(g=A(["<mwc-icon @click=",">help</mwc-icon>"])),t=>r(e)):Object(s.e)(v||(v=A([""]))))}}customElements.define("help-icon",x);var O,j,k=n(5);function E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var R=(e,t,n,i,r)=>{var{help:a}=null==t?void 0:t.record,o=void 0===e?"":e,s=a&&a(e,t,n,i,r);return s?Object(k.g)(j||(j=E(["","&nbsp;",""])),o,(e=>Object(k.g)(O||(O=E(['<help-icon style="flex: 0;" .topic=',">help</help-icon>"])),e))(s)):o}},956:function(e,t,n){"use strict";n.d(t,"a",(function(){return l.a}));var i,r,a,o,s,l=n(1122),c=(n(42),n(0));function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class p extends c.a{static get styles(){return Object(c.b)(i||(i=d(["\n input {\n margin: auto 0;\n border-style: var(--form-input-border-style, solid);\n border-width: var(--form-input-border-width, 1px);\n border-color: var(--form-input-border-color, #c4c5c6);\n padding: var(--form-input-padding, 5px);\n min-width: var(--form-input-width, 300px);\n max-width: var(--form-input-width, 300px);\n outline: var(--form-input-outline, none);\n background-color: var(--form-input-background-color, #fff);\n }\n "])))}static get properties(){return{id:String,name:String,placeholder:String,type:String,props:Object,attrs:Array,valueField:String,displayField:String,value:String,autofocus:Boolean}}render(){return Object(c.e)(r||(r=d(['\n <input\n id="','"\n name="','"\n placeholder="','"\n type="','"\n value="','"\n @input="','"\n ?autofocus="','"\n />\n '])),this.id,this.name,this.placeholder,this.type||"text",this._displayValue||"",e=>this._value=e.currentTarget.value,this.autofocus)}get input(){return this.shadowRoot.querySelector("input")}get value(){return this._value}set value(e){this._value=this._isObject(e)?this.valueField&&e[this.valueField]||e[Object.keys(e)[0]]:e,this._displayValue=this._isObject(e)?this.displayField&&e[this.displayField]||e[Object.keys(e)[0]]:e}get checked(){return this.input.checked}set checked(e){this.input.checked=e}firstUpdated(){this.dispatchEvent(new CustomEvent("load"))}updated(e){if(e.has("props")&&this._isObject(this.props))for(var t in this.props)this.props[t]&&(this.input.setAttribute(t,this.props[t]),this.setAttribute(t,this.props[t]));e.has("attrs")&&this.attrs&&Array.isArray(this.attrs)&&this.attrs.forEach(e=>{this.input.setAttribute(e,""),this.setAttribute(e,"")})}_isObject(e){return e instanceof Object&&!Array.isArray(e)}focus(){this.input.focus()}select(){this.input.select()}blur(){this.input.blur()}checkValidity(){return this.input.checkValidity()}}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}window.customElements.define("custom-input",p);class h extends c.a{static get styles(){return Object(c.b)(a||(a=u(["\n select {\n margin: auto 0;\n border-style: var(--form-input-border-style, solid);\n border-width: var(--form-input-border-width, 1px);\n border-color: var(--form-input-border-color, #c4c5c6);\n padding: var(--form-input-padding, 5px);\n outline: var(--form-input-outline, none);\n background-color: var(--form-input-background-color, #fff);\n min-width: calc(\n var(--form-input-width, 300px) + 2 * var(--form-input-padding, 5px) + 2 * var(--form-input-border-width, 1px)\n );\n max-width: calc(\n var(--form-input-width) + 2 * var(--form-input-padding, 5px) + 2 * var(--form-input-border-width, 1px)\n );\n -webkit-appearance: none;\n -webkit-border-radius: 0px;\n }\n "])))}static get properties(){return{id:String,name:String,options:Array,props:Object,attrs:Array,value:String,autofocus:Boolean}}render(){return Object(c.e)(o||(o=u(['\n <select name="','" ?autofocus="','">\n ',"\n </select>\n "])),this.name,this.autofocus,(this.options||[]).map(e=>Object(c.e)(s||(s=u(['\n <option value="','" ?selected="','">',"</option>\n "])),e.value,this._value===e.value,e.name)))}get select(){return this.shadowRoot.querySelector("select")}firstUpdated(){this.dispatchEvent(new CustomEvent("load"))}get value(){if(this.select)return this.select.value;this._value}set value(e){this.select?this.select.value=e:this._value=e}firstUpdated(){this.dispatchEvent(new CustomEvent("load"))}updated(e){if(e.has("props")&&this._isObject(this.props))for(var t in this.props)this.props[t]&&(this.select.setAttribute(t,this.props[t]),this.setAttribute(t,this.props[t]));e.has("attrs")&&this.attrs&&Array.isArray(this.attrs)&&this.attrs.forEach(e=>{this.select.setAttribute(e,""),this.setAttribute(e,"")})}_isObject(e){return e instanceof Object&&!Array.isArray(e)}focus(){this.select.focus()}blur(){this.select.blur()}checkValidity(){return this.select.checkValidity()}}window.customElements.define("custom-select",h);var b,m,g,v,f,y,w,A,x,O,j,k,E,R,M=n(284),S=n(35),I=n(29),N=n(1090);function z(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function D(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var a=e.apply(t,n);function o(e){z(a,i,r,o,s,"next",e)}function s(e){z(a,i,r,o,s,"throw",e)}o(void 0)}))}}function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}class C extends c.a{static get styles(){return[N.a,Object(c.b)(b||(b=T(["\n :host {\n display: flex;\n flex-direction: column;\n\n position: relative;\n }\n\n ::placeholder {\n text-transform: capitalize;\n color: var(--theme-white-color);\n }\n "])))]}static get properties(){return{fields:Array,initFocus:String,hideSearchButton:Boolean}}render(){return Object(c.e)(m||(m=T(['\n <form\n class="search-form"\n @keypress=',"\n >\n ","\n ","\n </form>\n "])),e=>{13===e.keyCode&&(e.preventDefault(),this.submit())},(this.fields||[]).map(e=>Object(c.e)(g||(g=T(["\n ","\n "])),"select"===e.type?Object(c.e)(v||(v=T(["\n <label ?hidden=",">","</label>\n <select .value="," .name="," ?hidden=",">\n ","\n </select>\n "])),e.hidden,e.label||e.name||e.id,e.value,e.name,e.hidden,(e.options||[]).map(t=>Object(c.e)(f||(f=T(["\n <option ?selected="," value=",">","</option>\n "])),t.value==e.value,t.value,t.name))):"checkbox"===e.type?Object(c.e)(y||(y=T(['\n <input\n id="ckbx_','"\n type="checkbox"\n ?checked="','"\n .name=',"\n ?hidden=",'\n @click="','"\n />\n <label for="ckbx_','" ?hidden=',"\n >","</label\n >\n "])),e.name,e.value,e.name,e.hidden,e=>{if(e.currentTarget.hasAttribute("indeterminate")){var t=e.currentTarget,n=[void 0,"on","off"],i=t._value,r=n.indexOf(i)+1>n.length-1?n[0]:n[n.indexOf(i)+1];"on"===r?t.checked=!0:"off"===r?t.checkbox=!1:t.indeterminate=!0,t._value=r}},e.name,e.hidden,e.label||e.name||e.id):"object"===e.type?Object(c.e)(w||(w=T(["\n <label ?hidden=",">","</label>\n <input\n .type=","\n .value=","\n .name=",'\n .field="','"\n .queryName="','"\n ?hidden=',"\n />\n "])),e.hidden,e.label||e.name||e.id,e.type,e.value||"",e.name,e.field,e.queryName,e.hidden):Object(c.e)(A||(A=T(["\n <label ?hidden=",">","</label>\n <input\n .type=","\n .value=","\n .name=","\n ?hidden=","\n .placeholder=","\n />\n "])),e.hidden,e.label||e.name||e.id,e.type,e.value||"",e.name,e.hidden,e.placeholder||""))),this.hideSearchButton?"":Object(c.e)(x||(x=T(["<mwc-icon @click="," search>search</mwc-icon>"])),e=>this.submit()))}updated(e){var t=this;return D((function*(){if(e.has("fields")){t._checkInputValidity();var n=t.formFields;t.fields.forEach(e=>{var t=n.find(t=>t.name==e.name);if(e.props instanceof Object&&!Array.isArray(e.props))for(var i in e.props)e.props[i]&&t.setAttribute(i,e.props[i]);if(e.attrs&&Array.isArray(e.attrs)&&e.attrs.forEach(e=>{"indeterminate"===e&&(t.indeterminate=!0),t.setAttribute(e,"")}),e.handlers instanceof Object&&!Array.isArray(e.handlers))for(var r in e.handlers)t.addEventListener(r,e.handlers[r])})}}))()}_checkInputValidity(){var e=this.fields.map(e=>e.name);if(!e.every(t=>e.indexOf(t)===e.lastIndexOf(t)))throw new Error("Field name is duplicated.")}get form(){return this.shadowRoot.querySelector("form")}get formFields(){return Array.from(this.form.querySelectorAll("input, select"))}getFields(){return Array.from(this.form.querySelectorAll("input, select"))}get searchParams(){var e=new URLSearchParams;return this.formFields.forEach(t=>e.append(t.name,t.value)),decodeURI(e)}get queryFilters(){return this.formFields.filter(e=>"checkbox"!==e.type&&e.value&&""!==e.value||"checkbox"===e.type&&!e.hasAttribute("indeterminate")||"checkbox"===e.type&&e.hasAttribute("indeterminate")&&e._value).map(e=>{var t=e.getAttribute("searchOper"),n=t.indexOf("like")>=0?"%".concat(e.value,"%"):e.value;return{name:e.name,value:"text"===e.type?n:"checkbox"===e.type?e.hasAttribute("indeterminate")?"on"===e._value:e.checked:"number"===e.type?parseFloat(n):n,operator:t}})}getQueryFilters(){var e=this;return D((function*(){return yield Promise.all(e.formFields.filter(e=>"checkbox"!==e.type&&e.value&&""!==e.value||"checkbox"===e.type&&!e.hasAttribute("indeterminate")||"checkbox"===e.type&&e.hasAttribute("indeterminate")&&e._value).map(function(){var t=D((function*(t){var n=t.name,i="text"===t.type&&t.field?"in":t.getAttribute("searchOper"),r=i.indexOf("like")>=0?"%".concat(t.value,"%"):t.value;return{name:n,operator:i,value:"text"===t.type&&"object"===t.getAttribute("type")?yield e._getResourceIds(t):"text"===t.type?r:"checkbox"===t.type?t.hasAttribute("indeterminate")?"on"===t._value:t.checked:"number"===t.type?parseFloat(r):r,relation:"text"===t.type&&"object"===t.getAttribute("type")}}));return function(e){return t.apply(this,arguments)}}()))}))()}_getResourceIds(e){return D((function*(){var t=e.value,n=e.field||"name",i=e.queryName,r=yield S.client.query({query:Object(M.a)(O||(O=T(["\n query {\n ","(",") {\n items {\n id\n }\n }\n }\n "])),i,I.g.buildArgs({filters:[{name:n,operator:"i_like",value:"%".concat(t,"%")}]}))});if(!r.errors){var a=r.data[i].items;return a&&a.length?a.map(e=>e.id):[null]}}))()}serialize(){var e={};return Array.from(this.form.children).forEach(t=>{"number"===t.type?e[t.name]=parseFloat(t.value):"checkbox"===t.type?e[t.name]=t.checked:e[t.name]=t.value}),e}submit(){this.dispatchEvent(new CustomEvent("submit"))}}function G(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}window.customElements.define("search-form",C);class P extends c.a{static get styles(){return[Object(c.b)(j||(j=G(["\n :host {\n display: flex;\n flex-direction: column;\n border-radius: var(--border-radius);\n text-align: center;\n padding-bottom: 5px !important;\n text-transform: capitalize;\n\n border: var(--file-uploader-border);\n background-color: var(--main-section-background-color);\n font: var(--file-uploader-font) !important;\n color: var(--file-uploader-color);\n }\n :host > mwc-icon {\n color: var(--file-uploader-icon-color);\n }\n\n :host(.candrop) {\n background-color: var(--file-uploader-candrop-background-color);\n }\n\n #input-file {\n display: none;\n }\n\n label {\n position: relative;\n width: auto;\n border: none;\n text-transform: capitalize;\n\n padding: var(--file-uploader-label-padding);\n border-radius: var(--file-uploader-label-border-radius);\n background-color: var(--file-uploader-label-background-color);\n color: var(--file-uploader-label-color);\n font: var(--file-uploader-label-font) !important;\n }\n\n ul {\n max-width: 500px;\n list-style: none;\n padding: 0;\n }\n li {\n text-align: left;\n\n padding: var(--file-uploader-li-padding);\n border-bottom: var(--file-uploader-li-border-bottom);\n }\n li mwc-icon {\n float: right;\n cursor: pointer;\n font: var(--file-uploader-li-icon-font);\n margin: var(--file-uploader-li-icon-margin);\n }\n li mwc-icon:hover,\n li mwc-icon:active {\n color: var(--file-uploader-li-icon-focus-color);\n }\n "])))]}static get properties(){return{multiple:Boolean,accept:String,_files:Array}}render(){var e=this._files||[];return Object(c.e)(k||(k=G(['\n <mwc-icon>post_add</mwc-icon>\n <span>add file or drop files here!</span>\n <input\n id="input-file"\n type="file"\n accept=',"\n ?multiple=","\n hidden\n @change=",'\n />\n <label for="input-file">',"</label>\n\n ","\n "])),this.accept,this.multiple,t=>{var n=t.currentTarget;this._files=[...e,...Array.from(n.files)],this.dispatchEvent(new CustomEvent("files-change",{bubbles:!0,composed:!0,detail:{files:e}})),n.value=null},this.label||"select file",null!=e&&e.length?Object(c.e)(E||(E=G([" <ul>\n ","\n </ul>"])),e.map(e=>Object(c.e)(R||(R=G(["\n <li>\n - ","\n <mwc-icon\n @click=","\n >delete_outline</mwc-icon\n >\n </li>\n "])),e.name,t=>{this._files.splice(this._files.indexOf(e),1),this.requestUpdate()}))):"")}firstUpdated(){I.a.set(this),this.addEventListener("file-drop",e=>{this._files=this.multiple?e.detail:e.detail[0]?[e.detail[0]]:[]})}get fileInput(){return this.shadowRoot.querySelector("#input-file")}get files(){return this._files}reset(){this.fileInput.value="",this._files=[]}}customElements.define("file-uploader",P)},957:function(e,t,n){"use strict";var i=n(1050);n.d(t,"a",(function(){return i.a}));var r=n(1114);n.d(t,"b",(function(){return r.a}));var a=n(1084);n.d(t,"c",(function(){return a.a}))},964:function(e,t,n){"use strict";var i,r=n(0),a=n(979),o=n(932),s=n(934),l=(n(950),n(1371),n(1219),n(1014),n(1116),n(1167),n(1169),n(1309),n(1081),n(1032));function c(e,t,n){var i,r=n*t,a=e/60,o=r*(1-Math.abs(a%2-1)),s=n-r;return void 0===e?i=[0,0,0]:a<1?i=[r,o,0]:a<2?i=[o,r,0]:a<3?i=[0,r,o]:a<4?i=[0,o,r]:a<5?i=[o,0,r]:a<=6&&(i=[r,0,o]),[255*(i[0]+s),255*(i[1]+s),255*(i[2]+s)]}function d(e,t,n){var i,r,a;if(e/=360,0==t)i=r=a=n;else{function o(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;i=o(l,s,e+1/3),r=o(l,s,e),a=o(l,s,e-1/3)}return[Math.round(255*i),Math.round(255*r),Math.round(255*a)]}function p(e,t,n){e/=255,t/=255,n/=255;var i,r,a=Math.max(e,t,n),o=Math.min(e,t,n),s=(a+o)/2;if(a==o)i=r=0;else{var l=a-o;switch(r=s>.5?l/(2-a-o):l/(a+o),a){case e:i=(t-n)/l+(t<n?6:0);break;case t:i=(n-e)/l+2;break;case n:i=(e-t)/l+4}i/=6}return[i,r,s]}var u,h,b,m=function(e,t,n){var i,r,a,o,s,l;return o=Math.min(e,t,n),i=(a=Math.max(e,t,n))-o,l=a/255,0===a?(r=Number.NaN,s=0):(s=i/a,e===a&&(r=(t-n)/i),t===a&&(r=2+(n-e)/i),n===a&&(r=4+(e-t)/i),(r*=60)<0&&(r+=360)),[r/360,s,l]};Object(o.a)({_template:Object(a.b)(i||(u=['\n <style>\n :host {\n display: inline-block;\n position: relative;\n }\n\n canvas {\n min-width: 100px;\n min-height: 100px;\n cursor: crosshair;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n #rippleContainer {\n position: relative;\n margin: auto;\n }\n </style>\n\n <div id="rippleContainer">\n <canvas id="canvas" on-down="onDown" on-up="onUp" on-track="onMove"></canvas>\n <paper-ripple id="ripple" class$="{{shape}}" recenters noink></paper-ripple>\n </div>\n '],h||(h=u.slice(0)),i=Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(h)}})))),is:"paper-color-circle",properties:{noAaBorder:{type:Boolean,value:!1},_ctx:{type:Object,value:function(){return{}}},_domReady:{type:Boolean,value:!1},_down:{type:Boolean,value:!1},_moveStart:{type:Boolean,value:!1},_redrawTimer:{type:Number,value:0},_setAaBorder:{value:function(){}},color:{type:Object,notify:!0,value:{red:void 0,green:void 0,blue:void 0}},colouredAaBorder:{type:Boolean,value:!1,notify:!0},hsl2rgb:{value:function(){return d}},rgb2hsl:{value:function(){return p}},hsv2rgb:{value:function(){return c}},rgb2hsv:{value:function(){return m}},hue:{type:Number,value:0,notify:!0,observer:"hueChanged"},lightness:{type:Number,value:.5,notify:!0,observer:"lightnessChanged"},shape:{type:String,value:"circle",notify:!0},type:{type:String,value:"hsv",notify:!0},value:{type:Number,value:1,notify:!0,observer:"valueChanged"}},observers:["colorChanged(color.*)"],behaviors:[l.a],listeners:{"iron-resize":"redraw"},pickColor:function(e){var t=this.getBoundingClientRect(),n=e.detail.x-t.left,i=e.detail.y-t.top,r=this._ctx.getImageData(n,i,1,1).data;if("circle"===this.shape&&Math.abs(Math.sqrt(Math.pow(n-this.size/2,2)+Math.pow(i-this.size/2,2))-this.size/2)<this.size/100)return;r[3]>0&&255==r[3]&&(this.set("color.red",r[0]),this.set("color.green",r[1]),this.set("color.blue",r[2]),!this.noAaBorder&&this.colouredAaBorder&&this.redraw())},onDown:function(e){this.pickColor(e,!0),this._trackingColorChanges=!0},onMove:function(e){this.pickColor(e)},onUp:function(e){this._trackingColorChanges=!1,this.$.ripple.style.color="rgb("+this.color.red+","+this.color.green+","+this.color.blue+")",this.$.ripple.downAction(e),this.async((function(){this.$.ripple.upAction()}))},redraw:function(){this.debounce("redraw",(function(){var e=this.getBoundingClientRect(),t=e.width,n=e.height;if(0==t||0==n){var i=window.getComputedStyle(this);t=parseInt(i.width),n=parseInt(i.height)}this.size=Math.floor(Math.min(t,n)),this.$.canvas.width=this.size,this.$.canvas.height=this.size,this.$.rippleContainer.style.width=this.size+"px",this.$.rippleContainer.style.height=this.size+"px";var r=this.size/2;if(this.size){for(var a=this._ctx.getImageData(0,0,this.size,this.size),o=0;o<this.size;o++)for(var s=0;s<this.size;s++){var l=4*(o*this.size+s);if("circle"===this.shape){var p=Math.sqrt(Math.pow(o-r,2)+Math.pow(s-r,2))/r;if(p<(r+0)/r-.01){(m=Math.atan2(o-r,s-r)*(180/Math.PI))<0&&(m+=360);var u=Math.round(1e3*p)/1e3;if(u=Math.min(1,u),"hsv"===this.type)var h=c(m,u,Math.round(1e3*this.value)/1e3);else if("hsl"===this.type)h=d(m,u,Math.round(1e3*this.lightness)/1e3);if(a.data[l+0]=h[0],a.data[l+1]=h[1],a.data[l+2]=h[2],p-1>=0){var b=Math.round((p-1)*r);a.data[l+3]=(0-b)/0*255}else a.data[l+3]=255}}else if("huebox"===this.shape){u=s/t;var m=Math.round(1e3*this.hue)/1e3*360,g=1-o/this.size;if("hsv"===this.type)h=c(m,u,g);else if("hsl"===this.type)h=d(m,u,g);a.data[l+0]=h[0],a.data[l+1]=h[1],a.data[l+2]=h[2],a.data[l+3]=255}else if("square"===this.shape){m=s/t*360,u=1-o/this.size;if("hsv"===this.type)h=c(m,u,Math.round(1e3*this.value)/1e3);else if("hsl"===this.type)h=d(m,u,Math.round(1e3*this.lightness)/1e3);a.data[l+0]=h[0],a.data[l+1]=h[1],a.data[l+2]=h[2],a.data[l+3]=255}}this._ctx.putImageData(a,0,0),this.noAaBorder||"circle"!==this.shape||this.drawAACircle()}}))},drawAACircle:function(){this.colouredAaBorder?this.color.green?this.set("_ctx.strokeStyle","rgb("+this.color.red+","+this.color.green+","+this.color.blue+")"):this.set("_ctx.strokeStyle","rgb("+this.colouredAaBorder[0]+","+this.colouredAaBorder[1]+","+this.colouredAaBorder[2]+")"):this.set("_ctx.strokeStyle","rgba(255,255,255,.99)"),this.set("_ctx.lineWidth",this.size/100),this._ctx.beginPath();var e=this.size/2;this._ctx.arc(this.size/2,this.size/2,e-1,0,2*Math.PI,!1),this._ctx.closePath(),this._ctx.stroke()},valueChanged:function(){this._domReady&&this.redraw()},lightnessChanged:function(){this._domReady&&this.redraw()},hueChanged:function(){this._domReady&&this.redraw()},colorChanged:function(){if(!this._trackingColorChanges)if("hsl"==this.type){var e=this.rgb2hsl(parseInt(this.color.red),parseInt(this.color.green),parseInt(this.color.blue));this.hue=e[0],this.lightness=e[2]}else if("hsv"==this.type){var t=this.rgb2hsv(parseInt(this.color.red),parseInt(this.color.green),parseInt(this.color.blue));isNaN(Number(t[0]))||(this.hue=Number(t[0])),this.value=t[2]}},attached:function(){this._domReady=!0,this._ctx=this.$.canvas.getContext("2d"),this.redraw()}}),Object(o.a)({_template:Object(a.b)(b||(b=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <style>\n paper-color-circle {\n width: 200px;\n height: 200px;\n }\n\n #container {\n margin-top: 0px;\n padding: 0px;\n /*position:absolute;\n left:0px;\n top:0px;\n right:0px;\n bottom:0px;*/\n }\n\n #preview {\n padding: 0px;\n position: relative;\n }\n\n paper-slider {\n width: 100%;\n }\n\n paper-input {\n width: 100%;\n padding: 0px 24px;\n box-sizing: border-box;\n margin: -10px 0px 0px 0px;\n }\n\n #huePicker {\n width: 255px;\n margin: 15px;\n height: 15px;\n border-radius: 2px;\n }\n\n .landscapeOnly,\n .portraitOnly {\n display: none;\n }\n\n #dialog {\n display: flex;\n align-items: stretch;\n }\n\n paper-input {\n margin-top: -1px;\n padding: 0px;\n }\n\n #detail {\n background-color:#fff;\n min-width: 240px;\n margin: 0px;\n padding: 0px;\n }\n\n paper-color-circle {\n display: block;\n margin: auto;\n }\n\n #preview {\n margin-top: 0px;\n background-image: linear-gradient(45deg, #eee 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #eee 75%);\n background-size: 24px 24px;\n background-position: 0 0, 0px 0px, 12px 12px, 12px 12px;\n }\n\n :host([advanced]) {\n }\n\n .buttons {\n margin-top: 20px;\n padding-left: 0px;\n padding-right: 0px;\n }\n\n #rgb {\n display: flex;\n }\n\n #rgb paper-input {\n flex: 1;\n margin: 0px 5px;\n }\n\n #rgb paper-input:first-child {\n margin-left: 0px;\n }\n\n #rgb paper-input:last-child {\n margin-right: 0px;\n }\n\n #color {\n position: absolute;\n left: 0px;\n top: 0px;\n right: 0px;\n bottom: 0px;\n z-index: 0;\n }\n\n @media only screen and (orientation: portrait) {\n .portraitOnly {\n display: block;\n }\n #preview {\n min-height: 91px;\n }\n #dialog {\n width: 90%;\n max-width: 350px;\n flex-direction: column;\n }\n #detail {\n padding-top: 20px;\n }\n #details {\n padding: 0px 20px;\n }\n }\n\n @media only screen and (orientation: landscape) {\n :host {\n width: 480px;\n }\n #preview {\n width: 185px;\n }\n #detail {\n padding-top: 20px;\n padding-left: 20px;\n padding-right: 20px;\n }\n #container {\n display: flex;\n flex-direction: row;\n }\n .landscapeOnly {\n display: block;\n }\n }\n </style>\n\n <paper-dialog\n id="dialog"\n entry-animation="scale-up-animation"\n exit-animation="fade-out-animation"\n with-backdrop\n class="color-picker-dialog"\n >\n <div id="preview"><div id="color"></div></div>\n <div id="detail">\n <paper-color-circle\n id="picker"\n shape="{{shape}}"\n type="{{type}}"\n value="{{colorValue}}"\n color="{{immediateColor}}"\n hue="{{colorHue}}"\n lightness="{{colorLightness}}"\n on-lightness-changed="_setSliders"\n on-value-changed="_setSliders"\n ></paper-color-circle>\n\n <div id="details">\n <template is="dom-if" if="{{_showValueSlider(shape, type)}}">\n <paper-input-container attr-for-value="immediate-value">\n <label slot="label">Value (Brightness)</label>\n <paper-slider\n id="valueSlider"\n class="paper-input-input"\n min="0"\n max="100"\n pin="true"\n value="100"\n immediate-value="{{sliderValue}}"\n slot="input"\n ></paper-slider>\n </paper-input-container>\n </template>\n <template is="dom-if" if="{{_showLightnessSlider(shape, type)}}">\n <paper-input-container attr-for-value="immediate-value">\n <label slot="label">Lightness</label>\n <paper-slider\n id="lightnessSlider"\n class="paper-input-input"\n min="0"\n max="100"\n pin="true"\n value="50"\n immediate-value="{{sliderLightness}}"\n slot="input"\n ></paper-slider>\n </paper-input-container>\n </template>\n <template is="dom-if" if="{{_showHuePicker(shape)}}">\n <paper-input-container attr-for-value="id">\n <label slot="label">Hue</label>\n <canvas\n id="huePicker"\n class="paper-input-input"\n on-tap="huePickerPickColor"\n on-track="huePickerPickColor"\n height="1"\n width="360"\n slot="input"\n ></canvas>\n </paper-input-container>\n \x3c!--<paper-slider id="hueSlider" min="0" max="100" value="50" immediate-value="{{sliderHue}}"></paper-slider>--\x3e\n </template>\n\n <template is="dom-if" if="{{_and(allowAlpha,_initialAlphaValueHackApplied)}}">\n <paper-input-container attr-for-value="immediate-value" hidden$="{{!_or(alwaysShowAlpha, advanced)}}">\n <label slot="label">Alpha (transparency)</label>\n <paper-slider\n id="alphaPicker"\n class="paper-input-input"\n min="0"\n max="1"\n step="0.01"\n value="{{_initialAlphaValueHack}}"\n immediate-value="{{immediateColor.alpha}}"\n on-change="_onAlphaChanged"\n slot="input"\n ></paper-slider>\n </paper-input-container>\n </template>\n\n <div hidden$="{{!advanced}}">\n \x3c!--<div class="landscapeOnly">--\x3e\n <div id="rgb">\n <paper-input\n id="redField"\n value="{{immediateColor.red}}"\n on-input="changeColorMixture"\n type="number"\n min="0"\n max="255"\n label="Red"\n ></paper-input>\n <paper-input\n id="greenField"\n value="{{immediateColor.green}}"\n on-input="changeColorMixture"\n type="number"\n min="0"\n max="255"\n label="Green"\n ></paper-input>\n <paper-input\n id="blueField"\n value="{{immediateColor.blue}}"\n on-input="changeColorMixture"\n type="number"\n min="0"\n max="255"\n label="Blue"\n ></paper-input>\n </div>\n \x3c!--</div>--\x3e\n </div>\n </div>\n\n <div class="buttons">\n <paper-button dialog-dismiss>Cancel</paper-button>\n <paper-button on-tap="toggleAdvancedMode" hidden$="{{advanced}}">Advanced</paper-button>\n <paper-button dialog-confirm on-tap="setColor" autofocus>OK</paper-button>\n </div>\n </div>\n </paper-dialog>\n ']))),is:"paper-color-picker",properties:{color:{type:Object,value:{red:void 0,green:void 0,blue:void 0,alpha:1},notify:!0},colorHue:{type:Number,value:0},colorLightness:{type:Number,value:.5},colorValue:{type:Number,value:1},disableUpdate:{type:Boolean,value:!1},alwaysShowAlpha:Boolean,allowAlpha:Boolean,immediateColor:{type:Object,value:{red:0,green:150,blue:136,alpha:1},notify:!0},shape:{type:String,value:"circle",notify:!0},sliderHue:{type:Number,value:50},sliderLightness:{type:Number,value:50,observer:"sliderLightnessChanged"},sliderValue:{type:Number,value:100,observer:"sliderValueChanged"},type:{type:String,value:"hsv",notify:!0},immediateColorAsString:{type:String,notify:!0},colorAsString:{type:String,notify:!0},advanced:{type:Boolean,reflectToAttribute:!0,observer:"_recenterDialog"}},observers:["immediateColorChanged(immediateColor.*)"],ready:function(){this.advanced||this.set("advanced",!1),this.alwaysShowAlpha||this.set("alwaysShowAlpha",!1),this.async((function(){this._isColorDefined()?this.allowAlpha&&void 0!==this.color.alpha?this._initialAlphaValueHack=this.color.alpha:this._initialAlphaValueHack=1:this._isImmediateColorDefined()&&this.allowAlpha&&void 0!==this.immediateColor.alpha?this._initialAlphaValueHack=this.immediateColor.alpha:this._initialAlphaValueHack=1,this._initialAlphaValueHackApplied=!0})),window.addEventListener("resize",function(){this.$.dialog.resetFit()}.bind(this))},_and:function(e,t){return e&&t},_or:function(e,t){return e||t},_isColorDefined:function(){return this.color.red>=0&&this.color.green>=0&&this.color.blue>=0},_isImmediateColorDefined:function(){return this.immediateColor.red>=0&&this.immediateColor.green>=0&&this.immediateColor.blue>=0},setColorWheel:function(){this.disableUpdate||(this._showValueSlider()&&this.set("colorValue",this.sliderValue/100),this._showLightnessSlider()&&(this.colorLightness=this.sliderLightness/100),setTimeout(function(){this.disableUpdate=!1}.bind(this),50)),this.disableUpdate=!0},sliderValueChanged:function(){this.setColorWheel()},sliderLightnessChanged:function(){this.setColorWheel()},_calculateLuminance:function(e,t,n){var i=[e,t,n].map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}));return.2126*i[0]+.7152*i[1]+.0722*i[2]},immediateColorChanged:function(){void 0===this.immediateColor.alpha&&(this.immediateColor.alpha=1);var e="rgba("+this.immediateColor.red+","+this.immediateColor.green+","+this.immediateColor.blue+","+this.immediateColor.alpha+")";this.$.color.style.backgroundColor=e,this.immediateColorAsString=e},drawHuePicker:function(){this._huePickerCtx=Object(s.a)(this.root).querySelector("#huePicker").getContext("2d");for(var e=this._huePickerCtx.getImageData(0,0,360,30),t=0;t<360;t++){var n=t,i=this.$.picker.hsv2rgb(n,1,1);e.data[4*t+0]=i[0],e.data[4*t+1]=i[1],e.data[4*t+2]=i[2],e.data[4*t+3]=255}this._huePickerCtx.putImageData(e,0,0)},huePickerPickColor:function(e){var t=Object(s.a)(this.root).querySelector("#huePicker").getBoundingClientRect(),n=(e.detail.x-t.left)/t.width;n>0&&n<1&&(this.colorHue=n)},changeColorMixture:function(){var e={red:this.$.redField.value,green:this.$.greenField.value,blue:this.$.blueField.value};this.set("immediateColor",e)},setColor:function(){this.set("color.red",this.immediateColor.red),this.set("color.green",this.immediateColor.green),this.set("color.blue",this.immediateColor.blue),this.set("color.alpha",this.immediateColor.alpha),this.set("colorAsString",this.immediateColorAsString)},open:function(){this.color&&this.color.green&&(this.immediateColor=this.color),this.immediateColorChanged(),this.$.dialog.open(),this._showHuePicker()&&this.drawHuePicker()},_computeColouredaaborder:function(){return{red:50,green:50,blue:50}},_showValueSlider:function(){return"hsv"==this.type&&"huebox"!==this.shape},_showLightnessSlider:function(){return"hsl"==this.type&&"huebox"!==this.shape},_showHuePicker:function(){return"huebox"==this.shape},toggleAdvancedMode:function(){this.advanced=!this.advanced},_recenterDialog:function(){this.$.dialog.opened&&this.$.dialog.center()},_setSliders:function(){this.async((function(){var e=Object(s.a)(this.root).querySelector("#valueSlider");e&&e.set("value",100*this.colorValue);var t=Object(s.a)(this.root).querySelector("#lightnessSlider");t&&t.set("value",100*this.colorLightness)}))},_onAlphaChanged:function(e){e.stopPropagation()}});var g,v,f=n(610),y=n.n(f);function w(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
166
- /**
167
- * @license Copyright © HatioLab Inc. All rights reserved.
168
- */class A extends r.a{static get is(){return"things-editor-color"}static get properties(){return{value:String,properties:Object}}static get styles(){return[Object(r.b)(g||(g=w(["\n :host {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n }\n\n input[type='text'] {\n padding-right: 24px;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n\n a {\n -webkit-appearance: none;\n display: flex;\n position: absolute;\n width: 24px;\n height: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n }\n\n span {\n width: 18px;\n height: 100%;\n max-height: 18px;\n border-radius: 10%;\n border: 1px solid #eee;\n }\n\n span.transparent {\n background-color: #fefefe;\n background-image: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),\n linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb);\n background-position: 0 0, 9px 9px;\n background-size: 18px 18px;\n }\n "])))]}render(){return Object(r.e)(v||(v=w(['\n <input\n id="text"\n type="text"\n .value=',"\n @change=","\n .placeholder=","\n />\n\n <a @click=",'>\n <span id="color-thumbnail" .style="background-color:','" class=',"> </span>\n </a>\n "])),this.value||"",e=>this._onInputChanged(e),this.getAttribute("placeholder")||"",e=>this.showPicker(e),this._thumbnail(),this._thumbnail())}set colorString(e){var t=y()(e),{withoutAlpha:n,valueType:i}=this.properties||{};t.isValid()&&(this.value="hex"==i||n?t.toHexString():t.toString(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0})))}_thumbnail(){return y()(this.value||"transparent").toString()}_onInputChanged(e){e.stopPropagation(),this.value=e.target.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}showPicker(){var{withoutAlpha:e}=this.properties||{},t=y()(this.value),n=document.createElement("paper-color-picker");if(n.shape="huebox",n.color=t,n.colorAsString=t.toString(),e||(n.allowAlpha=!0,n.alwaysShowAlpha=!0),n.type="hsl",t.isValid()){var i=t.toRgb(),r=t.getAlpha();n._initialAlphaValueHack=r,n.set("immediateColor.red",i.r),n.set("immediateColor.green",i.g),n.set("immediateColor.blue",i.b),null!=r&&n.set("immediateColor.alpha",r)}document.body.appendChild(n);var a=e=>{var t;null!=e&&null!==(t=e.detail)&&void 0!==t&&t.confirmed&&(n.colorAsString&&(this.colorString=n.colorAsString),n.removeEventListener("iron-overlay-closed",a),n.parentNode.removeChild(n))};n.addEventListener("iron-overlay-closed",a),setTimeout(()=>n.open())}}customElements.define(A.is,A)},973:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return m})),n.d(t,"e",(function(){return v})),n.d(t,"f",(function(){return y})),n.d(t,"d",(function(){return A}));var i=n(1322),r=(n(1370),n(29));function a(e,t,n,i,r,a,o){try{var s=e[a](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(i,r)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function s(e){a(o,i,r,s,l,"next",e)}function l(e){a(o,i,r,s,l,"throw",e)}s(void 0)}))}}var s,l,c,d="UPDATE_NOTIFICATION";function p(){return(p=o((function*(){if(!s||!l){if("denied"===Notification.permission)return void console.warn("Notification permission denied");var e=yield fetch("/notification/config",{headers:{Accept:"application/json"}});if(!e.ok)throw new Error("fail to get notification configuration: ".concat(e.status));var t=yield e.json();if(!t||!t.vapidPublicKey||!t.appConfig)throw new Error("correct notification configuration required.");try{yield i.a.initializeApp(t.appConfig),(c=i.a.messaging.isSupported()?i.a.messaging():null)||(console.warn("###################################################"),console.warn("push notification is not supported in this browser."),console.warn("###################################################")),s=t.vapidPublicKey,l=t.appConfig}catch(e){throw new Error("failed to initialize firebase app.")}}return{vapidKey:s,messaging:c}}))).apply(this,arguments)}var u=Object(r.n)((function(){return p.apply(this,arguments)}));function h(){return b.apply(this,arguments)}function b(){return(b=o((function*(){var{messaging:e}=yield u();return!!e}))).apply(this,arguments)}function m(){return g.apply(this,arguments)}function g(){return(g=o((function*(e=!1){var t,n=yield null===(t=navigator.serviceWorker)||void 0===t?void 0:t.ready;if(n){if(n.pushManager&&(e||(yield n.pushManager.getSubscription()))){var{vapidKey:i,messaging:r}=(yield u())||{};return i&&(yield r.getToken({vapidKey:i,serviceWorkerRegistration:n}))}}else console.warn("service worker not registered.")}))).apply(this,arguments)}function v(){return f.apply(this,arguments)}function f(){return(f=o((function*(){var e=yield m(!0);if(e)return yield fetch("/notification/register",{method:"post",headers:{"Content-type":"application/json",Accept:"application/json"},body:JSON.stringify({subscription:e})}),e}))).apply(this,arguments)}function y(){return w.apply(this,arguments)}function w(){return(w=o((function*(){var e=yield m();if(e){try{yield i.a.messaging().deleteToken()}catch(e){console.error(e)}yield fetch("/notification/unregister",{method:"post",headers:{"Content-type":"application/json",Accept:"application/json"},body:JSON.stringify({subscription:e})})}}))).apply(this,arguments)}function A(e){return x.apply(this,arguments)}function x(){return(x=o((function*(e){return(yield fetch("/notification/notify",{method:"post",headers:{"Content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e)})).ok}))).apply(this,arguments)}},982:function(e,t,n){"use strict";var i=n(1091);n.d(t,"a",(function(){return i.a}))},985:function(e,t,n){"use strict";var i,r,a=n(0);function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}
169
- /**
170
- * @license Copyright © HatioLab Inc. All rights reserved.
171
- */class s extends a.a{static get is(){return"things-editor-angle-input"}static get properties(){return{radian:Number}}static get styles(){return[Object(a.b)(i||(i=o(["\n :host {\n display: inline-block;\n }\n\n input {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n }\n "])))]}render(){return Object(a.e)(r||(r=o(['\n <input\n type="number"\n .value=','\n @change="','"\n .placeholder=',"\n />\n "])),this._toDegree(this.radian),e=>this._onChangeValue(e),this.placeholder)}get placeholder(){return this.getAttribute("placeholder")||"0°"}get input(){return this.shadowRoot.querySelector("input")}_onChangeValue(e){this.radian=this._toRadian(this.input.value),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0}))}_toDegree(e){return Math.round(180*(e||0)/Math.PI)}_toRadian(e){return isNaN(Number(e))?void 0:Number(e)*(Math.PI/180)}}customElements.define(s.is,s)}},0,[13]]);