@tygo-van-den-hurk/slyde 0.0.2-unstable-165e786.0 → 0.0.2-unstable-125d2d8.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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <div align="center">
2
2
  <picture>
3
- <source srcset="https://github.com/Tygo-van-den-Hurk/Slyde/blob/165e7861d7818a95ef59e5fd8dbec8619f59361f/docs/assets/logo-standalone.svg" media="(max-width: 600px)">
4
- <img src="https://github.com/Tygo-van-den-Hurk/Slyde/blob/165e7861d7818a95ef59e5fd8dbec8619f59361f/docs/assets/logo-with-text.svg" width="50%" alt="the Slyde logo">
3
+ <source srcset="https://github.com/Tygo-van-den-Hurk/Slyde/blob/125d2d8009500491b64dbe25c573af7bf275ed1c/docs/assets/logo-standalone.svg" media="(max-width: 600px)">
4
+ <img src="https://github.com/Tygo-van-den-Hurk/Slyde/blob/125d2d8009500491b64dbe25c573af7bf275ed1c/docs/assets/logo-with-text.svg" width="50%" alt="the Slyde logo">
5
5
  </picture>
6
6
  <br>
7
7
  <br>
@@ -26,7 +26,7 @@ Slyde is a program to create professional beautifully animated presentations fro
26
26
 
27
27
  This would output the following fully animated presentation:
28
28
 
29
- <img src="https://github.com/Tygo-van-den-Hurk/Slyde/blob/165e7861d7818a95ef59e5fd8dbec8619f59361f/docs/assets/example-presentation.gif" width="100%" alt="An example Slyde presentation based on the previous example XML template">
29
+ <img src="https://github.com/Tygo-van-den-Hurk/Slyde/blob/125d2d8009500491b64dbe25c573af7bf275ed1c/docs/assets/example-presentation.gif" width="100%" alt="An example Slyde presentation based on the previous example XML template">
30
30
 
31
31
  ## Features
32
32
 
@@ -81,4 +81,4 @@ You can also install Slyde in your path by adding the `--global` flag. You might
81
81
 
82
82
  ## Licence
83
83
 
84
- All files in this repository fall under a [licence](https://github.com/Tygo-van-den-Hurk/Slyde/blob/165e7861d7818a95ef59e5fd8dbec8619f59361f/LICENSE).
84
+ All files in this repository fall under a [licence](https://github.com/Tygo-van-den-Hurk/Slyde/blob/125d2d8009500491b64dbe25c573af7bf275ed1c/LICENSE).
@@ -1,5 +1,6 @@
1
1
  export * from '#lib/core/components/blocks/image';
2
2
  export * from '#lib/core/components/blocks/point';
3
+ export * from '#lib/core/components/blocks/qr-core';
3
4
  export * from '#lib/core/components/blocks/quote';
4
5
  export * from '#lib/core/components/blocks/table';
5
6
  export * from '#lib/core/components/blocks/text';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from '#lib/core/components/blocks/image';
2
2
  export * from '#lib/core/components/blocks/point';
3
+ export * from '#lib/core/components/blocks/qr-core';
3
4
  export * from '#lib/core/components/blocks/quote';
4
5
  export * from '#lib/core/components/blocks/table';
5
6
  export * from '#lib/core/components/blocks/text';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Component } from '#lib/core/components/class';
2
+ type correctionLevelChoicesShort = (typeof QrCode.correctionLevelChoicesShort)[number];
3
+ type correctionLevelChoicesLong = (typeof QrCode.correctionLevelChoicesLong)[number];
4
+ type correctionLevelChoices = correctionLevelChoicesShort | correctionLevelChoicesLong;
5
+ type correctionLevelMap = Record<correctionLevelChoices, correctionLevelChoicesLong>;
6
+ /** The `QR-Code` component. Shows a QR code image to somewhere. */
7
+ export declare class QrCode extends Component {
8
+ #private;
9
+ /** The correction levels to chose from in their short form. */
10
+ static readonly correctionLevelChoicesShort: readonly ["l", "m", "q", "h"];
11
+ /** The correction levels to chose from in their long form. */
12
+ static readonly correctionLevelChoicesLong: readonly ["low", "medium", "quartile", "high"];
13
+ /** The correction levels to chose from. */
14
+ static readonly correctionLevelChoices: readonly ["l", "m", "q", "h", "low", "medium", "quartile", "high"];
15
+ static readonly correctionLevelMap: correctionLevelMap;
16
+ render(): Promise<string>;
17
+ hierarchy(): ReturnType<Component.Interface['hierarchy']>;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=qr-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-core.d.ts","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/qr-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,KAAK,2BAA2B,GAAG,CAAC,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AACvF,KAAK,0BAA0B,GAAG,CAAC,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AACrF,KAAK,sBAAsB,GAAG,2BAA2B,GAAG,0BAA0B,CAAC;AACvF,KAAK,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAErF,mEAAmE;AACnE,qBACa,MAAO,SAAQ,SAAS;;IACnC,+DAA+D;IAE/D,gBAAuB,2BAA2B,gCAAiC;IAEnF,8DAA8D;IAE9D,gBAAuB,0BAA0B,iDAKtC;IAEX,2CAA2C;IAE3C,gBAAuB,sBAAsB,qEAGlC;IAGX,gBAAuB,kBAAkB,EAAE,kBAAkB,CASlD;IAsDE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB/B,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CAGjE"}
@@ -0,0 +1,156 @@
1
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
+ var useValue = arguments.length > 2;
3
+ for (var i = 0; i < initializers.length; i++) {
4
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
+ }
6
+ return useValue ? value : void 0;
7
+ };
8
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
+ var _, done = false;
14
+ for (var i = decorators.length - 1; i >= 0; i--) {
15
+ var context = {};
16
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
+ if (kind === "accessor") {
21
+ if (result === void 0) continue;
22
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
+ if (_ = accept(result.get)) descriptor.get = _;
24
+ if (_ = accept(result.set)) descriptor.set = _;
25
+ if (_ = accept(result.init)) initializers.unshift(_);
26
+ }
27
+ else if (_ = accept(result)) {
28
+ if (kind === "field") initializers.unshift(_);
29
+ else descriptor[key] = _;
30
+ }
31
+ }
32
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
+ done = true;
34
+ };
35
+ import qrCode from 'qrcode';
36
+ import { Component } from '#lib/core/components/class';
37
+ /** The `QR-Code` component. Shows a QR code image to somewhere. */
38
+ let QrCode = (() => {
39
+ var _a;
40
+ var _b;
41
+ let _classDecorators = [Component.register.using({ plugin: false })];
42
+ let _classDescriptor;
43
+ let _classExtraInitializers = [];
44
+ let _classThis;
45
+ let _classSuper = Component;
46
+ let _instanceExtraInitializers = [];
47
+ let _render_decorators;
48
+ var QrCode = class extends _classSuper {
49
+ static { _classThis = this; }
50
+ static {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
+ _render_decorators = [(_b = Component.utils.children).reject.bind(_b)];
53
+ __esDecorate(this, null, _render_decorators, { kind: "method", name: "render", static: false, private: false, access: { has: obj => "render" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);
54
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
55
+ QrCode = _classThis = _classDescriptor.value;
56
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
+ }
58
+ /** The correction levels to chose from in their short form. */
59
+ // eslint-disable-next-line @typescript-eslint/naming-convention
60
+ static correctionLevelChoicesShort = ['l', 'm', 'q', 'h'];
61
+ /** The correction levels to chose from in their long form. */
62
+ // eslint-disable-next-line @typescript-eslint/naming-convention
63
+ static correctionLevelChoicesLong = [
64
+ 'low',
65
+ 'medium',
66
+ 'quartile',
67
+ 'high',
68
+ ];
69
+ /** The correction levels to chose from. */
70
+ // eslint-disable-next-line @typescript-eslint/naming-convention
71
+ static correctionLevelChoices = [
72
+ ...QrCode.correctionLevelChoicesShort,
73
+ ...QrCode.correctionLevelChoicesLong,
74
+ ];
75
+ // eslint-disable-next-line @typescript-eslint/naming-convention
76
+ static correctionLevelMap = {
77
+ h: 'high', // eslint-disable-line id-length
78
+ high: 'high',
79
+ l: 'low', // eslint-disable-line id-length
80
+ low: 'low',
81
+ m: 'medium', // eslint-disable-line id-length
82
+ medium: 'medium',
83
+ q: 'quartile', // eslint-disable-line id-length
84
+ quartile: 'quartile',
85
+ };
86
+ /** The correction level to use. Can range from **L**ow, to **H**igh. */
87
+ #correctionLevel = (__runInitializers(this, _instanceExtraInitializers), Component.utils.extract({
88
+ aliases: ['correction-level', 'correction'],
89
+ context: this,
90
+ fallback: 'medium',
91
+ transform(value, context, key) {
92
+ const choices = QrCode.correctionLevelChoices;
93
+ const validated = Component.utils.transform.enum(choices)(value, context, key);
94
+ return QrCode.correctionLevelMap[validated];
95
+ },
96
+ }));
97
+ /** The version of the QR-Code specification to use. */
98
+ #version = Component.utils.extract({
99
+ aliases: ['qr-code-version', 'spec-version', 'version'],
100
+ context: this,
101
+ transform(value) {
102
+ if (typeof value !== 'string')
103
+ return value;
104
+ return Number.parseInt(value, 10);
105
+ },
106
+ });
107
+ /** The data of the qr-code / where the QR code goes to. */
108
+ #data = Component.utils.extract({
109
+ aliases: ['data', 'url', 'to'],
110
+ context: this,
111
+ missing: 'error',
112
+ });
113
+ /** The description of the image. Will be used for screen readers and such. */
114
+ #description = Component.utils.extract({
115
+ aliases: ['description', 'alt'],
116
+ context: this,
117
+ missing: 'warn',
118
+ });
119
+ /** The color of the dark part of the QR code. */
120
+ #colorDark = Component.utils.extract({
121
+ aliases: ['color-dark', 'color-1'],
122
+ context: this,
123
+ fallback: '#000000ff',
124
+ });
125
+ /** The color of the light part of the QR code. */
126
+ #colorLight = Component.utils.extract({
127
+ aliases: ['color-light', 'color-2'],
128
+ context: this,
129
+ fallback: '#ffffffff',
130
+ });
131
+ async render() {
132
+ const options = {};
133
+ options.type = 'svg';
134
+ options.errorCorrectionLevel = this.#correctionLevel;
135
+ options.version = this.#version;
136
+ options.color = {};
137
+ options.color.dark = this.#colorDark;
138
+ options.color.light = this.#colorLight;
139
+ const svg = await qrCode.toString(this.#data, options);
140
+ const source = `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;
141
+ const description = this.#description ?? 'a QR-Code';
142
+ // eslint-disable-next-line no-inline-comments
143
+ return /*HTML*/ `<img class="h-full w-full object-fill" src="${source}" alt="${description}">`;
144
+ }
145
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this, jsdoc/require-jsdoc
146
+ hierarchy() {
147
+ return [Component.level.block, '+'];
148
+ }
149
+ static {
150
+ __runInitializers(_classThis, _classExtraInitializers);
151
+ }
152
+ };
153
+ return QrCode = _classThis;
154
+ })();
155
+ export { QrCode };
156
+ //# sourceMappingURL=qr-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-core.js","sourceRoot":"","sources":["../../../../../lib/core/components/blocks/qr-core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "description": "Make beautifully animated Slydes and presentations from XML with ease!",
5
5
  "homepage": "https://Slyde.js.org",
6
6
  "author": "Tygo van den Hurk",
7
- "version": "0.0.2-unstable-165e786.0",
7
+ "version": "0.0.2-unstable-125d2d8.0",
8
8
  "private": false,
9
9
  "keywords": [
10
10
  "cli",
@@ -72,6 +72,7 @@
72
72
  "mathjax-full": "^3.2.1",
73
73
  "ora": "^9.0.0",
74
74
  "prettier": "^3.6.2",
75
+ "qrcode": "^1.5.4",
75
76
  "semver": "^7.7.3",
76
77
  "xml-parser-xo": "^4.1.5",
77
78
  "yargs": "^18.0.0",
@@ -80,6 +81,7 @@
80
81
  "devDependencies": {
81
82
  "@types/express": "^5.0.3",
82
83
  "@types/node": "^24.5.2",
84
+ "@types/qrcode": "^1.5.6",
83
85
  "@types/semver": "^7.7.1",
84
86
  "@types/yargs": "^17.0.34",
85
87
  "@vitest/coverage-istanbul": "^3.2.4",