@terafina/tffa-sfdx-plugin 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +120 -10
  2. package/assets/clipboard.min.js +7 -0
  3. package/assets/clippy.svg +3 -0
  4. package/assets/favicon.png +0 -0
  5. package/assets/index.css +258 -187
  6. package/assets/index.js +306 -285
  7. package/assets/tf-logo.png +0 -0
  8. package/lib/commands/tffa/apexdoc.js +8 -8
  9. package/lib/commands/tffa/apexdoc.js.map +1 -1
  10. package/lib/commands/tffa/lint.js +8 -6
  11. package/lib/commands/tffa/lint.js.map +1 -1
  12. package/lib/commands/tffa/meta.d.ts +16 -0
  13. package/lib/commands/tffa/meta.js +48 -0
  14. package/lib/commands/tffa/meta.js.map +1 -0
  15. package/lib/{apexdoc → shared/apexdoc}/common/apex-docs-error.d.ts +0 -0
  16. package/lib/{apexdoc → shared/apexdoc}/common/apex-docs-error.js +0 -0
  17. package/lib/shared/apexdoc/common/apex-docs-error.js.map +1 -0
  18. package/lib/{apexdoc → shared/apexdoc}/common/array-utils.d.ts +0 -0
  19. package/lib/{apexdoc → shared/apexdoc}/common/array-utils.js +0 -0
  20. package/lib/shared/apexdoc/common/array-utils.js.map +1 -0
  21. package/lib/{apexdoc → shared/apexdoc}/common/line-reader.d.ts +0 -0
  22. package/lib/{apexdoc → shared/apexdoc}/common/line-reader.js +0 -0
  23. package/lib/shared/apexdoc/common/line-reader.js.map +1 -0
  24. package/lib/{apexdoc → shared/apexdoc}/common/models/apex-model.d.ts +0 -0
  25. package/lib/{apexdoc → shared/apexdoc}/common/models/apex-model.js +0 -0
  26. package/lib/shared/apexdoc/common/models/apex-model.js.map +1 -0
  27. package/lib/{apexdoc → shared/apexdoc}/common/models/class-group.d.ts +0 -0
  28. package/lib/{apexdoc → shared/apexdoc}/common/models/class-group.js +0 -0
  29. package/lib/shared/apexdoc/common/models/class-group.js.map +1 -0
  30. package/lib/{apexdoc → shared/apexdoc}/common/models/class-model.d.ts +0 -0
  31. package/lib/{apexdoc → shared/apexdoc}/common/models/class-model.js +0 -0
  32. package/lib/shared/apexdoc/common/models/class-model.js.map +1 -0
  33. package/lib/{apexdoc → shared/apexdoc}/common/models/engine-config.d.ts +7 -4
  34. package/lib/shared/apexdoc/common/models/engine-config.js +49 -0
  35. package/lib/shared/apexdoc/common/models/engine-config.js.map +1 -0
  36. package/lib/{apexdoc → shared/apexdoc}/common/models/enum-model.d.ts +0 -0
  37. package/lib/{apexdoc → shared/apexdoc}/common/models/enum-model.js +0 -0
  38. package/lib/shared/apexdoc/common/models/enum-model.js.map +1 -0
  39. package/lib/{apexdoc → shared/apexdoc}/common/models/index.d.ts +0 -0
  40. package/lib/{apexdoc → shared/apexdoc}/common/models/index.js +0 -0
  41. package/lib/shared/apexdoc/common/models/index.js.map +1 -0
  42. package/lib/{apexdoc → shared/apexdoc}/common/models/method-model.d.ts +0 -0
  43. package/lib/{apexdoc → shared/apexdoc}/common/models/method-model.js +0 -0
  44. package/lib/shared/apexdoc/common/models/method-model.js.map +1 -0
  45. package/lib/{apexdoc → shared/apexdoc}/common/models/property-model.d.ts +0 -0
  46. package/lib/{apexdoc → shared/apexdoc}/common/models/property-model.js +0 -0
  47. package/lib/shared/apexdoc/common/models/property-model.js.map +1 -0
  48. package/lib/{apexdoc → shared/apexdoc}/common/models/top-level-model.d.ts +0 -0
  49. package/lib/{apexdoc → shared/apexdoc}/common/models/top-level-model.js +0 -0
  50. package/lib/shared/apexdoc/common/models/top-level-model.js.map +1 -0
  51. package/lib/{apexdoc → shared/apexdoc}/common/settings.d.ts +0 -0
  52. package/lib/{apexdoc → shared/apexdoc}/common/settings.js +3 -0
  53. package/lib/shared/apexdoc/common/settings.js.map +1 -0
  54. package/lib/{apexdoc → shared/apexdoc}/common/tags.d.ts +0 -0
  55. package/lib/{apexdoc → shared/apexdoc}/common/tags.js +0 -0
  56. package/lib/shared/apexdoc/common/tags.js.map +1 -0
  57. package/lib/{apexdoc → shared/apexdoc}/common/utils.d.ts +0 -0
  58. package/lib/{apexdoc → shared/apexdoc}/common/utils.js +0 -0
  59. package/lib/shared/apexdoc/common/utils.js.map +1 -0
  60. package/lib/{apexdoc → shared/apexdoc}/common/validator-engine.d.ts +0 -0
  61. package/lib/{apexdoc → shared/apexdoc}/common/validator-engine.js +0 -0
  62. package/lib/shared/apexdoc/common/validator-engine.js.map +1 -0
  63. package/lib/{apexdoc → shared/apexdoc}/common/validator.d.ts +0 -0
  64. package/lib/{apexdoc → shared/apexdoc}/common/validator.js +0 -0
  65. package/lib/shared/apexdoc/common/validator.js.map +1 -0
  66. package/lib/{apexdoc → shared/apexdoc}/engine/file-manager.d.ts +0 -0
  67. package/lib/{apexdoc → shared/apexdoc}/engine/file-manager.js +1 -1
  68. package/lib/shared/apexdoc/engine/file-manager.js.map +1 -0
  69. package/lib/{apexdoc → shared/apexdoc}/engine/generators/generator-utils.d.ts +0 -0
  70. package/lib/{apexdoc → shared/apexdoc}/engine/generators/generator-utils.js +0 -0
  71. package/lib/shared/apexdoc/engine/generators/generator-utils.js.map +1 -0
  72. package/lib/{apexdoc → shared/apexdoc}/engine/generators/menu-generator.d.ts +0 -0
  73. package/lib/{apexdoc → shared/apexdoc}/engine/generators/menu-generator.js +0 -0
  74. package/lib/shared/apexdoc/engine/generators/menu-generator.js.map +1 -0
  75. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/child-enum-markup-generator.d.ts +0 -0
  76. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/child-enum-markup-generator.js +0 -0
  77. package/lib/shared/apexdoc/engine/generators/models/child-enum-markup-generator.js.map +1 -0
  78. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/class-markup-generator.d.ts +0 -0
  79. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/class-markup-generator.js +0 -0
  80. package/lib/shared/apexdoc/engine/generators/models/class-markup-generator.js.map +1 -0
  81. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/enum-markup-generator.d.ts +0 -0
  82. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/enum-markup-generator.js +0 -0
  83. package/lib/shared/apexdoc/engine/generators/models/enum-markup-generator.js.map +1 -0
  84. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/markup-generator.d.ts +0 -0
  85. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/markup-generator.js +0 -0
  86. package/lib/shared/apexdoc/engine/generators/models/markup-generator.js.map +1 -0
  87. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/method-markup-generator.d.ts +0 -0
  88. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/method-markup-generator.js +0 -0
  89. package/lib/shared/apexdoc/engine/generators/models/method-markup-generator.js.map +1 -0
  90. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/property-markup-generator.d.ts +0 -0
  91. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/property-markup-generator.js +0 -0
  92. package/lib/shared/apexdoc/engine/generators/models/property-markup-generator.js.map +1 -0
  93. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/source-markup-generator.d.ts +0 -0
  94. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/source-markup-generator.js +0 -0
  95. package/lib/shared/apexdoc/engine/generators/models/source-markup-generator.js.map +1 -0
  96. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/top-level-markup-generator.d.ts +0 -0
  97. package/lib/{apexdoc → shared/apexdoc}/engine/generators/models/top-level-markup-generator.js +0 -0
  98. package/lib/shared/apexdoc/engine/generators/models/top-level-markup-generator.js.map +1 -0
  99. package/lib/{apexdoc → shared/apexdoc}/engine/generators/see-link-generator.d.ts +0 -0
  100. package/lib/{apexdoc → shared/apexdoc}/engine/generators/see-link-generator.js +0 -0
  101. package/lib/shared/apexdoc/engine/generators/see-link-generator.js.map +1 -0
  102. package/lib/{scanner/apex-class-scan.d.ts → shared/lint/apex-class-lint.d.ts} +2 -1
  103. package/lib/{scanner/apex-class-scan.js → shared/lint/apex-class-lint.js} +17 -9
  104. package/lib/shared/lint/apex-class-lint.js.map +1 -0
  105. package/lib/shared/lint/ignored-files.d.ts +9 -0
  106. package/lib/shared/lint/ignored-files.js +20 -0
  107. package/lib/shared/lint/ignored-files.js.map +1 -0
  108. package/lib/{scanner/metadata-scan.d.ts → shared/lint/metadata-lint.d.ts} +6 -0
  109. package/lib/{scanner/metadata-scan.js → shared/lint/metadata-lint.js} +48 -26
  110. package/lib/shared/lint/metadata-lint.js.map +1 -0
  111. package/lib/shared/meta/field-scan.d.ts +27 -0
  112. package/lib/shared/meta/field-scan.js +191 -0
  113. package/lib/shared/meta/field-scan.js.map +1 -0
  114. package/oclif.manifest.json +1 -1
  115. package/package.json +3 -2
  116. package/lib/apexdoc/common/apex-docs-error.js.map +0 -1
  117. package/lib/apexdoc/common/array-utils.js.map +0 -1
  118. package/lib/apexdoc/common/line-reader.js.map +0 -1
  119. package/lib/apexdoc/common/models/apex-model.js.map +0 -1
  120. package/lib/apexdoc/common/models/class-group.js.map +0 -1
  121. package/lib/apexdoc/common/models/class-model.js.map +0 -1
  122. package/lib/apexdoc/common/models/engine-config.js +0 -29
  123. package/lib/apexdoc/common/models/engine-config.js.map +0 -1
  124. package/lib/apexdoc/common/models/enum-model.js.map +0 -1
  125. package/lib/apexdoc/common/models/index.js.map +0 -1
  126. package/lib/apexdoc/common/models/method-model.js.map +0 -1
  127. package/lib/apexdoc/common/models/property-model.js.map +0 -1
  128. package/lib/apexdoc/common/models/top-level-model.js.map +0 -1
  129. package/lib/apexdoc/common/settings.js.map +0 -1
  130. package/lib/apexdoc/common/tags.js.map +0 -1
  131. package/lib/apexdoc/common/utils.js.map +0 -1
  132. package/lib/apexdoc/common/validator-engine.js.map +0 -1
  133. package/lib/apexdoc/common/validator.js.map +0 -1
  134. package/lib/apexdoc/engine/file-manager.js.map +0 -1
  135. package/lib/apexdoc/engine/generators/generator-utils.js.map +0 -1
  136. package/lib/apexdoc/engine/generators/menu-generator.js.map +0 -1
  137. package/lib/apexdoc/engine/generators/models/child-enum-markup-generator.js.map +0 -1
  138. package/lib/apexdoc/engine/generators/models/class-markup-generator.js.map +0 -1
  139. package/lib/apexdoc/engine/generators/models/enum-markup-generator.js.map +0 -1
  140. package/lib/apexdoc/engine/generators/models/markup-generator.js.map +0 -1
  141. package/lib/apexdoc/engine/generators/models/method-markup-generator.js.map +0 -1
  142. package/lib/apexdoc/engine/generators/models/property-markup-generator.js.map +0 -1
  143. package/lib/apexdoc/engine/generators/models/source-markup-generator.js.map +0 -1
  144. package/lib/apexdoc/engine/generators/models/top-level-markup-generator.js.map +0 -1
  145. package/lib/apexdoc/engine/generators/see-link-generator.js.map +0 -1
  146. package/lib/scanner/apex-class-scan.js.map +0 -1
  147. package/lib/scanner/metadata-scan.js.map +0 -1
  148. package/lib/shared/model.d.ts +0 -30
  149. package/lib/shared/model.js +0 -17
  150. package/lib/shared/model.js.map +0 -1
  151. package/lib/shared/parser.d.ts +0 -3
  152. package/lib/shared/parser.js +0 -101
  153. package/lib/shared/parser.js.map +0 -1
  154. package/lib/shared/rules.d.ts +0 -3
  155. package/lib/shared/rules.js +0 -5
  156. package/lib/shared/rules.js.map +0 -1
package/README.md CHANGED
@@ -26,25 +26,135 @@ CI Users: As the plugin is not signed, to install it from a Dockerfile or a scri
26
26
  echo 'y' | sfdx plugins:install tffa-sfdx-plugin
27
27
  ```
28
28
 
29
- ### **Commands**
29
+ # Usage
30
+
31
+ <!-- usage -->
32
+ ```sh-session
33
+ $ npm install -g @terafina/tffa-sfdx-plugin
34
+ $ sfdx COMMAND
35
+ running command...
36
+ $ sfdx (-v|--version|version)
37
+ @terafina/tffa-sfdx-plugin/1.1.0 linux-x64 node-v16.13.1
38
+ $ sfdx --help [COMMAND]
39
+ USAGE
40
+ $ sfdx COMMAND
41
+ ...
42
+ ```
43
+ <!-- usagestop -->
44
+
45
+ # Commands
46
+
47
+ <!-- commands -->
48
+ * [`sfdx tffa:apexdoc [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaapexdoc--d-directory---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
49
+ * [`sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffalint--s-directory--m-integer--j---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
50
+ * [`sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffameta--s-directory--d-directory--c-directory--o-jsoncsvhuman--f---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
51
+ * [`sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaping---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
30
52
 
31
- **`sfdx tffa:ping`**
32
- gets a pong response from plugin
53
+ ## `sfdx tffa:apexdoc [-d <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
54
+
55
+ Generate Apex API Documentation
33
56
 
34
57
  ```
58
+ Generate Apex API Documentation
35
59
 
36
60
  USAGE
37
- $ sfdx tffa:ping
61
+ $ sfdx tffa:apexdoc [-d <directory>] [--json] [--loglevel
62
+ trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
63
+
64
+ OPTIONS
65
+ -d, --sourcefolder=sourcefolder [default: .] directory containing
66
+ package metadata
38
67
 
68
+ --json format output as json
69
+
70
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
71
+ this command invocation
39
72
 
40
73
  EXAMPLE
41
- $ sfdx tffa:ping
74
+ Generate Apex API Documentation : $sfdx tffa:apexdoc
42
75
  ```
43
76
 
44
- sfdx tffa:apexdoc
77
+ _See code: [src/commands/tffa/apexdoc.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v1.1.0/src/commands/tffa/apexdoc.ts)_
45
78
 
46
- sfdx plugins:install @terafina/tffa-sfdx-plugin
47
- sfdx tffa:apexdoc
48
- sfdx tffa:lint
79
+ ## `sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
80
+
81
+ scan a sfdx project and provide a violations report based on defined standards
82
+
83
+ ```
84
+ scan a sfdx project and provide a violations report based on defined standards
85
+
86
+ USAGE
87
+ $ sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel
88
+ trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
89
+
90
+ OPTIONS
91
+ -j, --json generate json output
92
+
93
+ -m, --minapi=minapi [default: 53] minimum api version to
94
+ use during quality checks
95
+
96
+ -s, --sourcefolder=sourcefolder [default: .] directory containing
97
+ sfdx project
98
+
99
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
100
+ this command invocation
101
+
102
+ EXAMPLE
103
+ Scan a sfdx project and provide list of code violations : $sfdx tffa:scan
104
+ ```
105
+
106
+ _See code: [src/commands/tffa/lint.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v1.1.0/src/commands/tffa/lint.ts)_
107
+
108
+ ## `sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
109
+
110
+ scan a sfdx project for metadata
111
+
112
+ ```
113
+ scan a sfdx project for metadata
114
+
115
+ USAGE
116
+ $ sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel
117
+ trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
118
+
119
+ OPTIONS
120
+ -c, --clientname=clientname [default: .] name of the client
121
+ -d, --destpath=destpath [default: .] full path output file
122
+ -f, --fields generate field output
123
+ -o, --output=(json|csv|human) output format json csv human
124
+
125
+ -s, --sourcefolder=sourcefolder [default: .] directory containing
126
+ sfdx project
127
+
128
+ --json format output as json
129
+
130
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
131
+ this command invocation
132
+
133
+ EXAMPLE
134
+ scan a sfdx project for metadata : $sfdx tffa:meta
135
+ ```
136
+
137
+ _See code: [src/commands/tffa/meta.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v1.1.0/src/commands/tffa/meta.ts)_
138
+
139
+ ## `sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
140
+
141
+ ping
142
+
143
+ ```
144
+ ping
145
+
146
+ USAGE
147
+ $ sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
148
+
149
+ OPTIONS
150
+ --json format output as json
151
+
152
+ --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
153
+ this command invocation
154
+
155
+ EXAMPLE
156
+ $ sfdx tffa:ping
157
+ ```
49
158
 
50
- sfdx tffa:lint -s . -m 53 -f json >> out.json
159
+ _See code: [src/commands/tffa/ping.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v1.1.0/src/commands/tffa/ping.ts)_
160
+ <!-- commandsstop -->
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * clipboard.js v2.0.4
3
+ * https://zenorocha.github.io/clipboard.js
4
+ *
5
+ * Licensed MIT © Zeno Rocha
6
+ */
7
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
@@ -0,0 +1,3 @@
1
+ <svg height="1024" width="896" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M128 768h256v64H128v-64z m320-384H128v64h320v-64z m128 192V448L384 640l192 192V704h320V576H576z m-288-64H128v64h160v-64zM128 704h160v-64H128v64z m576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z" />
3
+ </svg>
Binary file