@operato/scene-mpi 1.3.7

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 (125) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +31 -0
  3. package/assets/favicon.ico +0 -0
  4. package/assets/images/spinner.png +0 -0
  5. package/dist/auto-clicker.d.ts +10 -0
  6. package/dist/auto-clicker.js +84 -0
  7. package/dist/auto-clicker.js.map +1 -0
  8. package/dist/boot-button.d.ts +20 -0
  9. package/dist/boot-button.js +90 -0
  10. package/dist/boot-button.js.map +1 -0
  11. package/dist/gateway-on-button.d.ts +7 -0
  12. package/dist/gateway-on-button.js +88 -0
  13. package/dist/gateway-on-button.js.map +1 -0
  14. package/dist/gateway-on-message.d.ts +3 -0
  15. package/dist/gateway-on-message.js +375 -0
  16. package/dist/gateway-on-message.js.map +1 -0
  17. package/dist/gateway.d.ts +58 -0
  18. package/dist/gateway.js +396 -0
  19. package/dist/gateway.js.map +1 -0
  20. package/dist/index.d.ts +5 -0
  21. package/dist/index.js +7 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/indicator-on-message.d.ts +2 -0
  24. package/dist/indicator-on-message.js +5 -0
  25. package/dist/indicator-on-message.js.map +1 -0
  26. package/dist/indicator-user-action.d.ts +5 -0
  27. package/dist/indicator-user-action.js +263 -0
  28. package/dist/indicator-user-action.js.map +1 -0
  29. package/dist/indicator.d.ts +83 -0
  30. package/dist/indicator.js +544 -0
  31. package/dist/indicator.js.map +1 -0
  32. package/dist/reply-button.d.ts +20 -0
  33. package/dist/reply-button.js +67 -0
  34. package/dist/reply-button.js.map +1 -0
  35. package/dist/segment-display.d.ts +41 -0
  36. package/dist/segment-display.js +521 -0
  37. package/dist/segment-display.js.map +1 -0
  38. package/dist/seven-segment.d.ts +7 -0
  39. package/dist/seven-segment.js +137 -0
  40. package/dist/seven-segment.js.map +1 -0
  41. package/dist/templates/auto-clicker.d.ts +17 -0
  42. package/dist/templates/auto-clicker.js +19 -0
  43. package/dist/templates/auto-clicker.js.map +1 -0
  44. package/dist/templates/boot-button.d.ts +16 -0
  45. package/dist/templates/boot-button.js +18 -0
  46. package/dist/templates/boot-button.js.map +1 -0
  47. package/dist/templates/gateway.d.ts +16 -0
  48. package/dist/templates/gateway.js +18 -0
  49. package/dist/templates/gateway.js.map +1 -0
  50. package/dist/templates/index.d.ts +16 -0
  51. package/dist/templates/index.js +15 -0
  52. package/dist/templates/index.js.map +1 -0
  53. package/dist/templates/indicator.d.ts +16 -0
  54. package/dist/templates/indicator.js +18 -0
  55. package/dist/templates/indicator.js.map +1 -0
  56. package/dist/templates/reply-button.d.ts +16 -0
  57. package/dist/templates/reply-button.js +18 -0
  58. package/dist/templates/reply-button.js.map +1 -0
  59. package/dist/templates/seven-segment.d.ts +28 -0
  60. package/dist/templates/seven-segment.js +30 -0
  61. package/dist/templates/seven-segment.js.map +1 -0
  62. package/dist/uuid.d.ts +1 -0
  63. package/dist/uuid.js +21 -0
  64. package/dist/uuid.js.map +1 -0
  65. package/helps/scene/component/auto-clicker.ko.md +3 -0
  66. package/helps/scene/component/auto-clicker.md +3 -0
  67. package/helps/scene/component/auto-clicker.zh.md +3 -0
  68. package/helps/scene/component/boot-button.ko.md +3 -0
  69. package/helps/scene/component/boot-button.md +3 -0
  70. package/helps/scene/component/boot-button.zh.md +3 -0
  71. package/helps/scene/component/gateway.ko.md +3 -0
  72. package/helps/scene/component/gateway.md +3 -0
  73. package/helps/scene/component/gateway.zh.md +3 -0
  74. package/helps/scene/component/indicator.ko.md +3 -0
  75. package/helps/scene/component/indicator.md +3 -0
  76. package/helps/scene/component/indicator.zh.md +3 -0
  77. package/helps/scene/component/reply-button.ko.md +3 -0
  78. package/helps/scene/component/reply-button.md +3 -0
  79. package/helps/scene/component/reply-button.zh.md +3 -0
  80. package/helps/scene/component/seven-segment.ko.md +3 -0
  81. package/helps/scene/component/seven-segment.md +3 -0
  82. package/helps/scene/component/seven-segment.zh.md +3 -0
  83. package/icons/boot-button.png +0 -0
  84. package/icons/button-error.png +0 -0
  85. package/icons/button-start.png +0 -0
  86. package/icons/button-status.png +0 -0
  87. package/icons/button-stop.png +0 -0
  88. package/icons/gateway.png +0 -0
  89. package/icons/icon-boot-button.png +0 -0
  90. package/icons/icon-gateway.png +0 -0
  91. package/icons/icon-indicator.png +0 -0
  92. package/icons/icon-reply-button.png +0 -0
  93. package/icons/icon-seven-segment.png +0 -0
  94. package/icons/indicator.png +0 -0
  95. package/icons/no-image.png +0 -0
  96. package/icons/reply-button.png +0 -0
  97. package/package.json +61 -0
  98. package/src/auto-clicker.ts +97 -0
  99. package/src/boot-button.ts +112 -0
  100. package/src/gateway-on-button.ts +97 -0
  101. package/src/gateway-on-message.ts +405 -0
  102. package/src/gateway.ts +484 -0
  103. package/src/index.ts +6 -0
  104. package/src/indicator-on-message.ts +6 -0
  105. package/src/indicator-user-action.ts +292 -0
  106. package/src/indicator.ts +638 -0
  107. package/src/reply-button.ts +88 -0
  108. package/src/segment-display.ts +608 -0
  109. package/src/seven-segment.ts +162 -0
  110. package/src/templates/auto-clicker.ts +19 -0
  111. package/src/templates/boot-button.ts +18 -0
  112. package/src/templates/gateway.ts +18 -0
  113. package/src/templates/index.ts +15 -0
  114. package/src/templates/indicator.ts +18 -0
  115. package/src/templates/reply-button.ts +18 -0
  116. package/src/templates/seven-segment.ts +30 -0
  117. package/src/uuid.ts +20 -0
  118. package/things-scene.config.js +5 -0
  119. package/translations/en.json +26 -0
  120. package/translations/ja.json +26 -0
  121. package/translations/ko.json +26 -0
  122. package/translations/ms.json +23 -0
  123. package/translations/zh.json +23 -0
  124. package/tsconfig.json +22 -0
  125. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment-display.js","sourceRoot":"","sources":["../src/segment-display.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * segment-display.js\n *\n * Copyright 2012, Rüdiger Appel\n * http://www.3quarks.com\n * Published under Creative Commons 3.0 License.\n *\n * Date: 2012-02-14\n * Version: 1.0.0\n *\n * Dokumentation: http://www.3quarks.com/de/Segmentanzeige\n * Documentation: http://www.3quarks.com/en/SegmentDisplay\n */\n\nexport default class SegmentDisplay {\n // Segment display types\n public static SevenSegment = 7\n public static FourteenSegment = 14\n public static SixteenSegment = 16\n\n // Segment corner types\n public static SymmetricCorner = 0\n public static SquaredCorner = 1\n public static RoundedCorner = 2\n\n width: number\n height: number\n pattern: string\n value: string\n digitHeight: number\n digitWidth: number\n digitDistance: number\n displayAngle: number\n segmentWidth: number\n segmentDistance: number\n segmentCount: number\n cornerType: number\n colorOn: string\n colorOff: string\n\n constructor(width: number, height: number) {\n this.width = width\n this.height = height\n this.pattern = '##:##:##'\n this.value = '12:34:56'\n this.digitHeight = 20\n this.digitWidth = 10\n this.digitDistance = 2.5\n this.displayAngle = 12\n this.segmentWidth = 2.5\n this.segmentDistance = 0.2\n this.segmentCount = SegmentDisplay.SevenSegment\n this.cornerType = SegmentDisplay.RoundedCorner\n this.colorOn = 'rgb(233, 93, 15)'\n this.colorOff = 'rgb(75, 30, 5)'\n }\n\n setValue(value: any) {\n this.value = value\n }\n\n draw(context: CanvasRenderingContext2D) {\n // compute and check display width\n var width = 0\n var first = true\n if (this.pattern) {\n for (var i = 0; i < this.pattern.length; i++) {\n var c = this.pattern.charAt(i).toLowerCase()\n if (c == '#') {\n width += this.digitWidth\n } else if (c == '.' || c == ':') {\n width += this.segmentWidth\n } else if (c != ' ') {\n return\n }\n width += first ? 0 : this.digitDistance\n first = false\n }\n }\n if (width <= 0) {\n return\n }\n\n // compute skew factor\n var angle = -1.0 * Math.max(-45.0, Math.min(45.0, this.displayAngle))\n var skew = Math.tan((angle * Math.PI) / 180.0)\n\n // compute scale factor\n var scale = Math.min(this.width / (width + Math.abs(skew * this.digitHeight)), this.height / this.digitHeight)\n\n // compute display offset\n var offsetX = (this.width - (width + skew * this.digitHeight) * scale) / 2.0\n var offsetY = (this.height - this.digitHeight * scale) / 2.0\n\n // context transformation\n context.save()\n context.translate(offsetX, offsetY)\n context.scale(scale, scale)\n context.transform(1, 0, skew, 1, 0, 0)\n\n // draw segments\n var xPos = 0\n var size = this.value ? this.value.length : 0\n for (var i = 0; i < this.pattern.length; i++) {\n var mask = this.pattern.charAt(i)\n var value = i < size ? this.value.charAt(i).toLowerCase() : ' '\n xPos += this.drawDigit(context, xPos, mask, value)\n }\n\n // finish drawing\n context.restore()\n }\n\n drawDigit(context: CanvasRenderingContext2D, xPos: number, mask: string, c: string) {\n switch (mask) {\n case '#':\n var r = Math.sqrt((this.segmentWidth * this.segmentWidth) / 2.0)\n var d = Math.sqrt((this.segmentDistance * this.segmentDistance) / 2.0)\n var e = d / 2.0\n var f = (this.segmentWidth - d) * Math.sin((45.0 * Math.PI) / 180.0)\n var g = f / 2.0\n var h = (this.digitHeight - 3.0 * this.segmentWidth) / 2.0\n var w = (this.digitWidth - 3.0 * this.segmentWidth) / 2.0\n var s = this.segmentWidth / 2.0\n var t = this.digitWidth / 2.0\n\n // draw segment a (a1 and a2 for 16 segments)\n if (this.segmentCount == 16) {\n var x = xPos\n var y = 0\n context.fillStyle = this.getSegmentColor(c, null, '02356789abcdefgiopqrstz@%')\n context.beginPath()\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.moveTo(x + s + d, y + s)\n context.lineTo(x + this.segmentWidth + d, y)\n break\n case SegmentDisplay.SquaredCorner:\n context.moveTo(x + s + e, y + s - e)\n context.lineTo(x + this.segmentWidth, y)\n break\n default:\n context.moveTo(x + this.segmentWidth - f, y + this.segmentWidth - f - d)\n context.quadraticCurveTo(x + this.segmentWidth - g, y, x + this.segmentWidth, y)\n }\n context.lineTo(x + t - d - s, y)\n context.lineTo(x + t - d, y + s)\n context.lineTo(x + t - d - s, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.fill()\n\n var x = xPos\n var y = 0\n context.fillStyle = this.getSegmentColor(c, null, '02356789abcdefgiopqrstz@')\n context.beginPath()\n context.moveTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n context.lineTo(x + t + d + s, y + this.segmentWidth)\n context.lineTo(x + t + d, y + s)\n context.lineTo(x + t + d + s, y)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n context.lineTo(x + this.digitWidth - s - d, y + s)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + this.digitWidth - this.segmentWidth, y)\n context.lineTo(x + this.digitWidth - s - e, y + s - e)\n break\n default:\n context.lineTo(x + this.digitWidth - this.segmentWidth, y)\n context.quadraticCurveTo(\n x + this.digitWidth - this.segmentWidth + g,\n y,\n x + this.digitWidth - this.segmentWidth + f,\n y + this.segmentWidth - f - d\n )\n }\n context.fill()\n } else {\n var x = xPos\n var y = 0\n context.fillStyle = this.getSegmentColor(c, '02356789acefp', '02356789abcdefgiopqrstz@')\n context.beginPath()\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.moveTo(x + s + d, y + s)\n context.lineTo(x + this.segmentWidth + d, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n context.lineTo(x + this.digitWidth - s - d, y + s)\n break\n case SegmentDisplay.SquaredCorner:\n context.moveTo(x + s + e, y + s - e)\n context.lineTo(x + this.segmentWidth, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth, y)\n context.lineTo(x + this.digitWidth - s - e, y + s - e)\n break\n default:\n context.moveTo(x + this.segmentWidth - f, y + this.segmentWidth - f - d)\n context.quadraticCurveTo(x + this.segmentWidth - g, y, x + this.segmentWidth, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth, y)\n context.quadraticCurveTo(\n x + this.digitWidth - this.segmentWidth + g,\n y,\n x + this.digitWidth - this.segmentWidth + f,\n y + this.segmentWidth - f - d\n )\n }\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.fill()\n }\n\n // draw segment b\n x = xPos + this.digitWidth - this.segmentWidth\n y = 0\n context.fillStyle = this.getSegmentColor(c, '01234789adhpy', '01234789abdhjmnopqruwy')\n context.beginPath()\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.moveTo(x + s, y + s + d)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth + d)\n break\n case SegmentDisplay.SquaredCorner:\n context.moveTo(x + s + e, y + s + e)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth)\n break\n default:\n context.moveTo(x + f + d, y + this.segmentWidth - f)\n context.quadraticCurveTo(\n x + this.segmentWidth,\n y + this.segmentWidth - g,\n x + this.segmentWidth,\n y + this.segmentWidth\n )\n }\n context.lineTo(x + this.segmentWidth, y + h + this.segmentWidth - d)\n context.lineTo(x + s, y + h + this.segmentWidth + s - d)\n context.lineTo(x, y + h + this.segmentWidth - d)\n context.lineTo(x, y + this.segmentWidth + d)\n context.fill()\n\n // draw segment c\n x = xPos + this.digitWidth - this.segmentWidth\n y = h + this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, '013456789abdhnouy', '01346789abdghjmnoqsuw@', '%')\n context.beginPath()\n context.moveTo(x, y + this.segmentWidth + d)\n context.lineTo(x + s, y + s + d)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth + d)\n context.lineTo(x + this.segmentWidth, y + h + this.segmentWidth - d)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + s, y + h + this.segmentWidth + s - d)\n context.lineTo(x, y + h + this.segmentWidth - d)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + s + e, y + h + this.segmentWidth + s - e)\n context.lineTo(x, y + h + this.segmentWidth - d)\n break\n default:\n context.quadraticCurveTo(\n x + this.segmentWidth,\n y + h + this.segmentWidth + g,\n x + f + d,\n y + h + this.segmentWidth + f\n ) //\n context.lineTo(x, y + h + this.segmentWidth - d)\n }\n context.fill()\n\n // draw segment d (d1 and d2 for 16 segments)\n if (this.segmentCount == 16) {\n x = xPos\n y = this.digitHeight - this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, '0235689bcdegijloqsuz_=@')\n context.beginPath()\n context.moveTo(x + this.segmentWidth + d, y)\n context.lineTo(x + t - d - s, y)\n context.lineTo(x + t - d, y + s)\n context.lineTo(x + t - d - s, y + this.segmentWidth)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.lineTo(x + s + d, y + s)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth)\n context.lineTo(x + s + e, y + s + e)\n break\n default:\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth)\n context.quadraticCurveTo(\n x + this.segmentWidth - g,\n y + this.segmentWidth,\n x + this.segmentWidth - f,\n y + f + d\n )\n context.lineTo(x + this.segmentWidth - f, y + f + d)\n }\n context.fill()\n\n x = xPos\n y = this.digitHeight - this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, '0235689bcdegijloqsuz_=@', '%')\n context.beginPath()\n context.moveTo(x + t + d + s, y + this.segmentWidth)\n context.lineTo(x + t + d, y + s)\n context.lineTo(x + t + d + s, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + this.digitWidth - s - d, y + s)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + this.digitWidth - s - e, y + s + e)\n context.lineTo(x + this.digitWidth - this.segmentWidth, y + this.segmentWidth)\n break\n default:\n context.lineTo(x + this.digitWidth - this.segmentWidth + f, y + f + d)\n context.quadraticCurveTo(\n x + this.digitWidth - this.segmentWidth + g,\n y + this.segmentWidth,\n x + this.digitWidth - this.segmentWidth,\n y + this.segmentWidth\n )\n }\n context.fill()\n } else {\n x = xPos\n y = this.digitHeight - this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, '0235689bcdelotuy_', '0235689bcdegijloqsuz_=@')\n context.beginPath()\n context.moveTo(x + this.segmentWidth + d, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + this.digitWidth - s - d, y + s)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.lineTo(x + s + d, y + s)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + this.digitWidth - s - e, y + s + e)\n context.lineTo(x + this.digitWidth - this.segmentWidth, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth)\n context.lineTo(x + s + e, y + s + e)\n break\n default:\n context.lineTo(x + this.digitWidth - this.segmentWidth + f, y + f + d)\n context.quadraticCurveTo(\n x + this.digitWidth - this.segmentWidth + g,\n y + this.segmentWidth,\n x + this.digitWidth - this.segmentWidth,\n y + this.segmentWidth\n )\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth)\n context.quadraticCurveTo(\n x + this.segmentWidth - g,\n y + this.segmentWidth,\n x + this.segmentWidth - f,\n y + f + d\n )\n context.lineTo(x + this.segmentWidth - f, y + f + d)\n }\n context.fill()\n }\n\n // draw segment e\n x = xPos\n y = h + this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, '0268abcdefhlnoprtu', '0268acefghjklmnopqruvw@')\n context.beginPath()\n context.moveTo(x, y + this.segmentWidth + d)\n context.lineTo(x + s, y + s + d)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth + d)\n context.lineTo(x + this.segmentWidth, y + h + this.segmentWidth - d)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x + s, y + h + this.segmentWidth + s - d)\n context.lineTo(x, y + h + this.segmentWidth - d)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x + s - e, y + h + this.segmentWidth + s - d + e)\n context.lineTo(x, y + h + this.segmentWidth)\n break\n default:\n context.lineTo(x + this.segmentWidth - f - d, y + h + this.segmentWidth + f)\n context.quadraticCurveTo(x, y + h + this.segmentWidth + g, x, y + h + this.segmentWidth)\n }\n context.fill()\n\n // draw segment f\n x = xPos\n y = 0\n context.fillStyle = this.getSegmentColor(c, '045689abcefhlpty', '045689acefghklmnopqrsuvwy@', '%')\n context.beginPath()\n context.moveTo(x + this.segmentWidth, y + this.segmentWidth + d)\n context.lineTo(x + this.segmentWidth, y + h + this.segmentWidth - d)\n context.lineTo(x + s, y + h + this.segmentWidth + s - d)\n context.lineTo(x, y + h + this.segmentWidth - d)\n switch (this.cornerType) {\n case SegmentDisplay.SymmetricCorner:\n context.lineTo(x, y + this.segmentWidth + d)\n context.lineTo(x + s, y + s + d)\n break\n case SegmentDisplay.SquaredCorner:\n context.lineTo(x, y + this.segmentWidth)\n context.lineTo(x + s - e, y + s + e)\n break\n default:\n context.lineTo(x, y + this.segmentWidth)\n context.quadraticCurveTo(\n x,\n y + this.segmentWidth - g,\n x + this.segmentWidth - f - d,\n y + this.segmentWidth - f\n )\n context.lineTo(x + this.segmentWidth - f - d, y + this.segmentWidth - f)\n }\n context.fill()\n\n // draw segment g for 7 segments\n if (this.segmentCount == 7) {\n x = xPos\n y = (this.digitHeight - this.segmentWidth) / 2.0\n context.fillStyle = this.getSegmentColor(c, '2345689abdefhnoprty-=')\n context.beginPath()\n context.moveTo(x + s + d, y + s)\n context.lineTo(x + this.segmentWidth + d, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n context.lineTo(x + this.digitWidth - s - d, y + s)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.fill()\n }\n\n // draw inner segments for the fourteen- and sixteen-segment-display\n if (this.segmentCount != 7) {\n // draw segment g1\n x = xPos\n y = (this.digitHeight - this.segmentWidth) / 2.0\n context.fillStyle = this.getSegmentColor(c, null, '2345689aefhkprsy-+*=', '%')\n context.beginPath()\n context.moveTo(x + s + d, y + s)\n context.lineTo(x + this.segmentWidth + d, y)\n context.lineTo(x + t - d - s, y)\n context.lineTo(x + t - d, y + s)\n context.lineTo(x + t - d - s, y + this.segmentWidth)\n context.lineTo(x + this.segmentWidth + d, y + this.segmentWidth)\n context.fill()\n\n // draw segment g2\n x = xPos\n y = (this.digitHeight - this.segmentWidth) / 2.0\n context.fillStyle = this.getSegmentColor(c, null, '234689abefghprsy-+*=@', '%')\n context.beginPath()\n context.moveTo(x + t + d, y + s)\n context.lineTo(x + t + d + s, y)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y)\n context.lineTo(x + this.digitWidth - s - d, y + s)\n context.lineTo(x + this.digitWidth - this.segmentWidth - d, y + this.segmentWidth)\n context.lineTo(x + t + d + s, y + this.segmentWidth)\n context.fill()\n\n // draw segment j\n x = xPos + t - s\n y = 0\n context.fillStyle = this.getSegmentColor(c, null, 'bdit+*', '%')\n context.beginPath()\n if (this.segmentCount == 14) {\n context.moveTo(x, y + this.segmentWidth + this.segmentDistance)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth + this.segmentDistance)\n } else {\n context.moveTo(x, y + this.segmentWidth + d)\n context.lineTo(x + s, y + s + d)\n context.lineTo(x + this.segmentWidth, y + this.segmentWidth + d)\n }\n context.lineTo(x + this.segmentWidth, y + h + this.segmentWidth - d)\n context.lineTo(x + s, y + h + this.segmentWidth + s - d)\n context.lineTo(x, y + h + this.segmentWidth - d)\n context.fill()\n\n // draw segment m\n x = xPos + t - s\n y = this.digitHeight\n context.fillStyle = this.getSegmentColor(c, null, 'bdity+*@', '%')\n context.beginPath()\n if (this.segmentCount == 14) {\n context.moveTo(x, y - this.segmentWidth - this.segmentDistance)\n context.lineTo(x + this.segmentWidth, y - this.segmentWidth - this.segmentDistance)\n } else {\n context.moveTo(x, y - this.segmentWidth - d)\n context.lineTo(x + s, y - s - d)\n context.lineTo(x + this.segmentWidth, y - this.segmentWidth - d)\n }\n context.lineTo(x + this.segmentWidth, y - h - this.segmentWidth + d)\n context.lineTo(x + s, y - h - this.segmentWidth - s + d)\n context.lineTo(x, y - h - this.segmentWidth + d)\n context.fill()\n\n // draw segment h\n x = xPos + this.segmentWidth\n y = this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, 'mnx\\\\*')\n context.beginPath()\n context.moveTo(x + this.segmentDistance, y + this.segmentDistance)\n context.lineTo(x + this.segmentDistance + r, y + this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance, y + h - this.segmentDistance - r)\n context.lineTo(x + w - this.segmentDistance, y + h - this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance - r, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + this.segmentDistance + r)\n context.fill()\n\n // draw segment k\n x = xPos + w + 2.0 * this.segmentWidth\n y = this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, '0kmvxz/*', '%')\n context.beginPath()\n context.moveTo(x + w - this.segmentDistance, y + this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance, y + this.segmentDistance + r)\n context.lineTo(x + this.segmentDistance + r, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + h - this.segmentDistance - r)\n context.lineTo(x + w - this.segmentDistance - r, y + this.segmentDistance)\n context.fill()\n\n // draw segment l\n x = xPos + w + 2.0 * this.segmentWidth\n y = h + 2.0 * this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, '5knqrwx\\\\*')\n context.beginPath()\n context.moveTo(x + this.segmentDistance, y + this.segmentDistance)\n context.lineTo(x + this.segmentDistance + r, y + this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance, y + h - this.segmentDistance - r)\n context.lineTo(x + w - this.segmentDistance, y + h - this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance - r, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + this.segmentDistance + r)\n context.fill()\n\n // draw segment n\n x = xPos + this.segmentWidth\n y = h + 2.0 * this.segmentWidth\n context.fillStyle = this.getSegmentColor(c, null, '0vwxz/*', '%')\n context.beginPath()\n context.moveTo(x + w - this.segmentDistance, y + this.segmentDistance)\n context.lineTo(x + w - this.segmentDistance, y + this.segmentDistance + r)\n context.lineTo(x + this.segmentDistance + r, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + h - this.segmentDistance)\n context.lineTo(x + this.segmentDistance, y + h - this.segmentDistance - r)\n context.lineTo(x + w - this.segmentDistance - r, y + this.segmentDistance)\n context.fill()\n }\n\n return this.digitDistance + this.digitWidth\n\n case '.':\n context.fillStyle = c == '#' || c == '.' ? this.colorOn : this.colorOff\n this.drawPoint(context, xPos, this.digitHeight - this.segmentWidth, this.segmentWidth)\n return this.digitDistance + this.segmentWidth\n\n case ':':\n context.fillStyle = c == '#' || c == ':' ? this.colorOn : this.colorOff\n var y = (this.digitHeight - this.segmentWidth) / 2.0 - this.segmentWidth\n this.drawPoint(context, xPos, y, this.segmentWidth)\n this.drawPoint(context, xPos, y + 2.0 * this.segmentWidth, this.segmentWidth)\n return this.digitDistance + this.segmentWidth\n\n default:\n return this.digitDistance\n }\n }\n\n drawPoint(context: CanvasRenderingContext2D, x1: number, y1: number, size: number) {\n var x2 = x1 + size\n var y2 = y1 + size\n var d = size / 4.0\n\n context.beginPath()\n context.moveTo(x2 - d, y1)\n context.quadraticCurveTo(x2, y1, x2, y1 + d)\n context.lineTo(x2, y2 - d)\n context.quadraticCurveTo(x2, y2, x2 - d, y2)\n context.lineTo(x1 + d, y2)\n context.quadraticCurveTo(x1, y2, x1, y2 - d)\n context.lineTo(x1, y1 + d)\n context.quadraticCurveTo(x1, y1, x1 + d, y1)\n context.fill()\n }\n\n getSegmentColor(c: string, charSet7: string | null, charSet14?: string, charSet16?: string) {\n if (c == '#') {\n return this.colorOn\n } else {\n switch (this.segmentCount) {\n case 7:\n return charSet7?.indexOf(c) == -1 ? this.colorOff : this.colorOn\n case 14:\n return charSet14?.indexOf(c) == -1 ? this.colorOff : this.colorOn\n case 16:\n var pattern = charSet14 + (charSet16 === undefined ? '' : charSet16)\n return pattern.indexOf(c) == -1 ? this.colorOff : this.colorOn\n default:\n return this.colorOff\n }\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ComponentNature, Shape } from '@hatiolab/things-scene';
2
+ declare const SevenSegment_base: typeof Shape;
3
+ export default class SevenSegment extends SevenSegment_base {
4
+ render(context: CanvasRenderingContext2D): void;
5
+ get nature(): ComponentNature;
6
+ }
7
+ export {};
@@ -0,0 +1,137 @@
1
+ const NATURE = {
2
+ mutable: false,
3
+ resizable: true,
4
+ rotatable: true,
5
+ properties: [
6
+ {
7
+ type: 'string',
8
+ label: 'value',
9
+ name: 'value',
10
+ placeholder: '12:34:56'
11
+ },
12
+ {
13
+ type: 'string',
14
+ label: 'pattern',
15
+ name: 'pattern',
16
+ placeholder: '##:##:##'
17
+ },
18
+ {
19
+ type: 'number',
20
+ label: 'digit height',
21
+ name: 'digitHeight',
22
+ placeholder: '20'
23
+ },
24
+ {
25
+ type: 'number',
26
+ label: 'digit width',
27
+ name: 'digitWidth',
28
+ placeholder: '10'
29
+ },
30
+ {
31
+ type: 'number',
32
+ label: 'digit distance',
33
+ name: 'digitDistance',
34
+ placeholder: '2.5'
35
+ },
36
+ {
37
+ type: 'number',
38
+ label: 'display angle',
39
+ name: 'displayAngle',
40
+ placeholder: '12'
41
+ },
42
+ {
43
+ type: 'number',
44
+ label: 'segment width',
45
+ name: 'segmentWidth',
46
+ placeholder: '2.5'
47
+ },
48
+ {
49
+ type: 'number',
50
+ label: 'segment distance',
51
+ name: 'segmentDistance',
52
+ placeholder: '0.2'
53
+ },
54
+ {
55
+ type: 'select',
56
+ label: 'segment count',
57
+ name: 'segmentCount',
58
+ property: {
59
+ options: [
60
+ {
61
+ display: 7,
62
+ value: 7
63
+ },
64
+ {
65
+ display: 14,
66
+ value: 14
67
+ },
68
+ {
69
+ display: 16,
70
+ value: 16
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ type: 'select',
77
+ label: 'corner type',
78
+ name: 'cornerType',
79
+ property: {
80
+ options: [
81
+ {
82
+ display: 'SymmetricCorner',
83
+ value: 0
84
+ },
85
+ {
86
+ display: 'SquaredCorner',
87
+ value: 1
88
+ },
89
+ {
90
+ display: 'RoundedCorner',
91
+ value: 2
92
+ }
93
+ ]
94
+ }
95
+ },
96
+ {
97
+ type: 'color',
98
+ label: 'color-on',
99
+ name: 'colorOn'
100
+ },
101
+ {
102
+ type: 'color',
103
+ label: 'color-off',
104
+ name: 'colorOff'
105
+ }
106
+ ],
107
+ 'value-property': 'value',
108
+ help: 'scene/component/seven-segment'
109
+ };
110
+ import { Component, RectPath, Shape } from '@hatiolab/things-scene';
111
+ import SegmentDisplay from './segment-display';
112
+ export default class SevenSegment extends RectPath(Shape) {
113
+ render(context) {
114
+ var { top, left, height, width, pattern = '##:##:##', value = '12:34:56', digitHeight = 20, digitWidth = 10, digitDistance = 2.5, displayAngle = 12, segmentWidth = 2.5, segmentDistance = 0.2, segmentCount = SegmentDisplay.SevenSegment, cornerType = SegmentDisplay.RoundedCorner, colorOn = 'rgb(233, 93, 15)', colorOff = 'rgb(75, 30, 5)' } = this.state;
115
+ var display = new SegmentDisplay(width, height);
116
+ display.pattern = pattern;
117
+ display.displayAngle = displayAngle;
118
+ display.digitHeight = digitHeight;
119
+ display.digitWidth = digitWidth;
120
+ display.digitDistance = digitDistance;
121
+ display.segmentWidth = segmentWidth;
122
+ display.segmentDistance = segmentDistance;
123
+ display.segmentCount = segmentCount;
124
+ display.cornerType = cornerType;
125
+ display.colorOn = colorOn;
126
+ display.colorOff = colorOff;
127
+ display.setValue(String(value));
128
+ context.translate(left, top);
129
+ display.draw(context);
130
+ context.beginPath();
131
+ }
132
+ get nature() {
133
+ return NATURE;
134
+ }
135
+ }
136
+ Component.register('seven-segment', SevenSegment);
137
+ //# sourceMappingURL=seven-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seven-segment.js","sourceRoot":"","sources":["../src/seven-segment.ts"],"names":[],"mappings":"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","sourcesContent":["const NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'value',\n name: 'value',\n placeholder: '12:34:56'\n },\n {\n type: 'string',\n label: 'pattern',\n name: 'pattern',\n placeholder: '##:##:##'\n },\n {\n type: 'number',\n label: 'digit height',\n name: 'digitHeight',\n placeholder: '20'\n },\n {\n type: 'number',\n label: 'digit width',\n name: 'digitWidth',\n placeholder: '10'\n },\n {\n type: 'number',\n label: 'digit distance',\n name: 'digitDistance',\n placeholder: '2.5'\n },\n {\n type: 'number',\n label: 'display angle',\n name: 'displayAngle',\n placeholder: '12'\n },\n {\n type: 'number',\n label: 'segment width',\n name: 'segmentWidth',\n placeholder: '2.5'\n },\n {\n type: 'number',\n label: 'segment distance',\n name: 'segmentDistance',\n placeholder: '0.2'\n },\n {\n type: 'select',\n label: 'segment count',\n name: 'segmentCount',\n property: {\n options: [\n {\n display: 7,\n value: 7\n },\n {\n display: 14,\n value: 14\n },\n {\n display: 16,\n value: 16\n }\n ]\n }\n },\n {\n type: 'select',\n label: 'corner type',\n name: 'cornerType',\n property: {\n options: [\n {\n display: 'SymmetricCorner',\n value: 0\n },\n {\n display: 'SquaredCorner',\n value: 1\n },\n {\n display: 'RoundedCorner',\n value: 2\n }\n ]\n }\n },\n {\n type: 'color',\n label: 'color-on',\n name: 'colorOn'\n },\n {\n type: 'color',\n label: 'color-off',\n name: 'colorOff'\n }\n ],\n 'value-property': 'value',\n help: 'scene/component/seven-segment'\n}\n\nimport { Component, ComponentNature, RectPath, Shape } from '@hatiolab/things-scene'\nimport SegmentDisplay from './segment-display'\n\nexport default class SevenSegment extends RectPath(Shape) {\n render(context: CanvasRenderingContext2D) {\n var {\n top,\n left,\n height,\n width,\n pattern = '##:##:##',\n value = '12:34:56',\n digitHeight = 20,\n digitWidth = 10,\n digitDistance = 2.5,\n displayAngle = 12,\n segmentWidth = 2.5,\n segmentDistance = 0.2,\n segmentCount = SegmentDisplay.SevenSegment,\n cornerType = SegmentDisplay.RoundedCorner,\n colorOn = 'rgb(233, 93, 15)',\n colorOff = 'rgb(75, 30, 5)'\n } = this.state\n\n var display = new SegmentDisplay(width, height)\n display.pattern = pattern\n display.displayAngle = displayAngle\n display.digitHeight = digitHeight\n display.digitWidth = digitWidth\n display.digitDistance = digitDistance\n display.segmentWidth = segmentWidth\n display.segmentDistance = segmentDistance\n display.segmentCount = segmentCount\n display.cornerType = cornerType\n display.colorOn = colorOn\n display.colorOff = colorOff\n\n display.setValue(String(value))\n\n context.translate(left, top)\n\n display.draw(context)\n\n context.beginPath()\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.register('seven-segment', SevenSegment)\n"]}
@@ -0,0 +1,17 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ switch: string;
15
+ };
16
+ };
17
+ export default _default;
@@ -0,0 +1,19 @@
1
+ const icon = new URL('../../icons/no-image.png', import.meta.url).href;
2
+ export default {
3
+ type: 'auto-clicker',
4
+ description: 'auto clicking target',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'auto-clicker',
10
+ left: 100,
11
+ top: 100,
12
+ width: 100,
13
+ height: 100,
14
+ fillStyle: 'white',
15
+ strokeStyle: 'black',
16
+ switch: 'false'
17
+ }
18
+ };
19
+ //# sourceMappingURL=auto-clicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-clicker.js","sourceRoot":"","sources":["../../src/templates/auto-clicker.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAEtE,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,OAAO;QAClB,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,OAAO;KAChB;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/no-image.png', import.meta.url).href\n\nexport default {\n type: 'auto-clicker',\n description: 'auto clicking target',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'auto-clicker',\n left: 100,\n top: 100,\n width: 100,\n height: 100,\n fillStyle: 'white',\n strokeStyle: 'black',\n switch: 'false'\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ };
15
+ };
16
+ export default _default;
@@ -0,0 +1,18 @@
1
+ const icon = new URL('../../icons/icon-boot-button.png', import.meta.url).href;
2
+ export default {
3
+ type: 'boot-button',
4
+ description: 'all gateway boot',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'boot-button',
10
+ left: 100,
11
+ top: 100,
12
+ width: 500,
13
+ height: 500,
14
+ fillStyle: 'transparent',
15
+ strokeStyle: 'transparent'
16
+ }
17
+ };
18
+ //# sourceMappingURL=boot-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-button.js","sourceRoot":"","sources":["../../src/templates/boot-button.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE9E,eAAe;IACb,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kBAAkB;IAC/B,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,aAAa;KAC3B;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/icon-boot-button.png', import.meta.url).href\n\nexport default {\n type: 'boot-button',\n description: 'all gateway boot',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'boot-button',\n left: 100,\n top: 100,\n width: 500,\n height: 500,\n fillStyle: 'transparent',\n strokeStyle: 'transparent'\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ };
15
+ };
16
+ export default _default;
@@ -0,0 +1,18 @@
1
+ const icon = new URL('../../icons/icon-gateway.png', import.meta.url).href;
2
+ export default {
3
+ type: 'gateway',
4
+ description: 'multi-purpose indicator gateway',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'gateway',
10
+ left: 10,
11
+ top: 10,
12
+ width: 800,
13
+ height: 600,
14
+ fillStyle: 'cyan',
15
+ strokeStyle: 'darkgray'
16
+ }
17
+ };
18
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/templates/gateway.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE1E,eAAe;IACb,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,UAAU;KACxB;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/icon-gateway.png', import.meta.url).href\n\nexport default {\n type: 'gateway',\n description: 'multi-purpose indicator gateway',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'gateway',\n left: 10,\n top: 10,\n width: 800,\n height: 600,\n fillStyle: 'cyan',\n strokeStyle: 'darkgray'\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ };
15
+ }[];
16
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import indicator from './indicator';
2
+ import gateway from './gateway';
3
+ import sevenSegment from './seven-segment';
4
+ import bootButton from './boot-button';
5
+ import replyButton from './reply-button';
6
+ // import autoClicker from './auto-clicker'
7
+ export default [
8
+ indicator,
9
+ gateway,
10
+ sevenSegment,
11
+ bootButton,
12
+ replyButton
13
+ // autoClicker
14
+ ];
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,2CAA2C;AAE3C,eAAe;IACb,SAAS;IACT,OAAO;IACP,YAAY;IACZ,UAAU;IACV,WAAW;IACX,cAAc;CACf,CAAA","sourcesContent":["import indicator from './indicator'\nimport gateway from './gateway'\nimport sevenSegment from './seven-segment'\nimport bootButton from './boot-button'\nimport replyButton from './reply-button'\n// import autoClicker from './auto-clicker'\n\nexport default [\n indicator,\n gateway,\n sevenSegment,\n bootButton,\n replyButton\n // autoClicker\n]\n"]}
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ };
15
+ };
16
+ export default _default;
@@ -0,0 +1,18 @@
1
+ const icon = new URL('../../icons/icon-indicator.png', import.meta.url).href;
2
+ export default {
3
+ type: 'indicator',
4
+ description: 'multi-purpose indicator',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'indicator',
10
+ left: 10,
11
+ top: 10,
12
+ width: 449,
13
+ height: 53,
14
+ fillStyle: 'black',
15
+ strokeStyle: 'darkgray'
16
+ }
17
+ };
18
+ //# sourceMappingURL=indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indicator.js","sourceRoot":"","sources":["../../src/templates/indicator.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE5E,eAAe;IACb,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,yBAAyB;IACtC,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,OAAO;QAClB,WAAW,EAAE,UAAU;KACxB;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/icon-indicator.png', import.meta.url).href\n\nexport default {\n type: 'indicator',\n description: 'multi-purpose indicator',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'indicator',\n left: 10,\n top: 10,\n width: 449,\n height: 53,\n fillStyle: 'black',\n strokeStyle: 'darkgray'\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ };
15
+ };
16
+ export default _default;
@@ -0,0 +1,18 @@
1
+ const icon = new URL('../../icons/icon-reply-button.png', import.meta.url).href;
2
+ export default {
3
+ type: 'reply-button',
4
+ description: 'all mpi response',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'reply-button',
10
+ left: 100,
11
+ top: 100,
12
+ width: 500,
13
+ height: 500,
14
+ fillStyle: 'transparent',
15
+ strokeStyle: 'transparent'
16
+ }
17
+ };
18
+ //# sourceMappingURL=reply-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-button.js","sourceRoot":"","sources":["../../src/templates/reply-button.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE/E,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,kBAAkB;IAC/B,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,aAAa;KAC3B;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/icon-reply-button.png', import.meta.url).href\n\nexport default {\n type: 'reply-button',\n description: 'all mpi response',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'reply-button',\n left: 100,\n top: 100,\n width: 500,\n height: 500,\n fillStyle: 'transparent',\n strokeStyle: 'transparent'\n }\n}\n"]}
@@ -0,0 +1,28 @@
1
+ declare const _default: {
2
+ type: string;
3
+ description: string;
4
+ group: string;
5
+ icon: string;
6
+ model: {
7
+ type: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ fillStyle: string;
13
+ strokeStyle: string;
14
+ pattern: string;
15
+ value: string;
16
+ digitHeight: number;
17
+ digitWidth: number;
18
+ digitDistance: number;
19
+ displayAngle: number;
20
+ segmentWidth: number;
21
+ segmentDistance: number;
22
+ segmentCount: number;
23
+ cornerType: number;
24
+ colorOn: string;
25
+ colorOff: string;
26
+ };
27
+ };
28
+ export default _default;
@@ -0,0 +1,30 @@
1
+ const icon = new URL('../../icons/icon-seven-segment.png', import.meta.url).href;
2
+ export default {
3
+ type: 'seven-segment',
4
+ description: 'electric seven segment emulator',
5
+ group: 'IoT',
6
+ /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
+ icon,
8
+ model: {
9
+ type: 'seven-segment',
10
+ left: 10,
11
+ top: 10,
12
+ width: 200,
13
+ height: 300,
14
+ fillStyle: 'black',
15
+ strokeStyle: 'darkgray',
16
+ pattern: '##:##:##',
17
+ value: '12:34:56',
18
+ digitHeight: 20,
19
+ digitWidth: 10,
20
+ digitDistance: 2.5,
21
+ displayAngle: 12,
22
+ segmentWidth: 2.5,
23
+ segmentDistance: 0.2,
24
+ segmentCount: 7,
25
+ cornerType: 0,
26
+ colorOn: 'rgb(233, 93, 15)',
27
+ colorOff: 'rgb(75, 30, 5)'
28
+ }
29
+ };
30
+ //# sourceMappingURL=seven-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seven-segment.js","sourceRoot":"","sources":["../../src/templates/seven-segment.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAEhF,eAAe;IACb,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,OAAO;QAClB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,GAAG;QAClB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,GAAG;QACjB,eAAe,EAAE,GAAG;QACpB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,gBAAgB;KAC3B;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/icon-seven-segment.png', import.meta.url).href\n\nexport default {\n type: 'seven-segment',\n description: 'electric seven segment emulator',\n group: 'IoT',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'seven-segment',\n left: 10,\n top: 10,\n width: 200,\n height: 300,\n fillStyle: 'black',\n strokeStyle: 'darkgray',\n pattern: '##:##:##',\n value: '12:34:56',\n digitHeight: 20,\n digitWidth: 10,\n digitDistance: 2.5,\n displayAngle: 12,\n segmentWidth: 2.5,\n segmentDistance: 0.2,\n segmentCount: 7,\n cornerType: 0,\n colorOn: 'rgb(233, 93, 15)',\n colorOff: 'rgb(75, 30, 5)'\n }\n}\n"]}
package/dist/uuid.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function uuid(): string;
package/dist/uuid.js ADDED
@@ -0,0 +1,21 @@
1
+ export function uuid() {
2
+ const chars = '0123456789abcdef';
3
+ const uuid = [];
4
+ let random;
5
+ for (let i = 0; i < 36; i++) {
6
+ if (i === 8 || i === 13 || i === 18 || i === 23) {
7
+ uuid[i] = '-';
8
+ }
9
+ else if (i === 14) {
10
+ uuid[i] = '4';
11
+ }
12
+ else {
13
+ if (random === undefined || i % 6 === 0) {
14
+ random = (Math.random() * 16) | 0;
15
+ }
16
+ uuid[i] = chars[i === 19 ? (random & 0x3) | 0x8 : random];
17
+ }
18
+ }
19
+ return uuid.join('');
20
+ }
21
+ //# sourceMappingURL=uuid.js.map