@sealcode/sealgen 0.19.14 → 0.19.15
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/@types/controllers/password-generate-button.stimulus.d.ts +5 -0
- package/@types/forms/controls/controls.d.ts +22 -21
- package/@types/forms/controls/password-with-generator.d.ts +6 -0
- package/lib/controllers/password-generate-button.stimulus.js +24 -0
- package/lib/forms/controls/controls.js +22 -21
- package/lib/forms/controls/password-with-generator.js +21 -0
- package/lib/templates/form.js +1 -1
- package/package.json +1 -1
- package/src/controllers/password-generate-button.stimulus.ts +25 -0
- package/src/forms/controls/controls.ts +22 -21
- package/src/forms/controls/password-with-generator.ts +17 -0
- package/src/templates/form.ts +1 -1
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export * from "./autocomplete.js";
|
|
2
|
+
export * from "./big-radio-group.js";
|
|
3
|
+
export * from "./checkbox-group.js";
|
|
4
|
+
export * from "./checkbox.js";
|
|
5
5
|
export { CheckboxedListInput } from "./checkboxed-list-input.js";
|
|
6
|
+
export * from "./collapsible-checkbox-group.js";
|
|
7
|
+
export * from "./collapsible-field-group.js";
|
|
8
|
+
export * from "./derived-frame.js";
|
|
9
|
+
export * from "./derived.js";
|
|
6
10
|
export * from "./dropdown.js";
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
11
|
+
export { EditableCollectionSubset } from "./editable-collection-subset.js";
|
|
12
|
+
export { FieldGroup } from "./field-group.js";
|
|
13
|
+
export * from "./file.js";
|
|
14
|
+
export { FormControl } from "./form-control.js";
|
|
15
|
+
export { FormFieldControl } from "./form-field-control.js";
|
|
9
16
|
export { FormHeader } from "./form-header.js";
|
|
10
17
|
export { FormParagraph } from "./form-paragraph.js";
|
|
11
|
-
export {
|
|
18
|
+
export { Frame } from "./frame.js";
|
|
12
19
|
export { HiddenInput } from "./hidden-input.js";
|
|
13
|
-
export {
|
|
14
|
-
export { FieldGroup } from "./field-group.js";
|
|
15
|
-
export * from "./derived.js";
|
|
16
|
-
export * from "./derived-frame.js";
|
|
17
|
-
export * from "./tickable.js";
|
|
18
|
-
export * from "./checkbox.js";
|
|
19
|
-
export * from "./radio.js";
|
|
20
|
-
export * from "./big-radio-group.js";
|
|
21
|
-
export * from "./checkbox-group.js";
|
|
22
|
-
export * from "./collapsible-field-group.js";
|
|
23
|
-
export * from "./collapsible-checkbox-group.js";
|
|
24
|
-
export * from "./autocomplete.js";
|
|
25
|
-
export * from "./file.js";
|
|
20
|
+
export { HTML } from "./html.js";
|
|
26
21
|
export * from "./image.js";
|
|
27
22
|
export * from "./multiple-files.js";
|
|
28
|
-
export * from "./number.js";
|
|
29
23
|
export * from "./multiple-images.js";
|
|
24
|
+
export * from "./number.js";
|
|
25
|
+
export * from "./password-with-generator.js";
|
|
26
|
+
export * from "./radio.js";
|
|
27
|
+
export { SimpleInput } from "./simple-input.js";
|
|
28
|
+
export * from "./single-reference.js";
|
|
29
|
+
export { Textarea } from "./textarea.js";
|
|
30
|
+
export * from "./tickable.js";
|
|
30
31
|
export * from "./array.js";
|
|
31
32
|
export * from "./table.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Controller } from "stimulus";
|
|
2
|
+
function generatePassword() {
|
|
3
|
+
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";
|
|
4
|
+
let password = "";
|
|
5
|
+
for (let i = 0; i < 8; i++) {
|
|
6
|
+
password += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
7
|
+
}
|
|
8
|
+
return password;
|
|
9
|
+
}
|
|
10
|
+
class password_generate_button_stimulus_default extends Controller {
|
|
11
|
+
getInput() {
|
|
12
|
+
return this.element.parentElement.querySelector(
|
|
13
|
+
"input"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
generate() {
|
|
17
|
+
this.getInput().value = generatePassword();
|
|
18
|
+
this.getInput().setAttribute("type", "text");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
password_generate_button_stimulus_default as default
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=password-generate-button.stimulus.js.map
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export * from "./autocomplete.js";
|
|
2
|
+
export * from "./big-radio-group.js";
|
|
3
|
+
export * from "./checkbox-group.js";
|
|
4
|
+
export * from "./checkbox.js";
|
|
5
5
|
import { CheckboxedListInput } from "./checkboxed-list-input.js";
|
|
6
|
+
export * from "./collapsible-checkbox-group.js";
|
|
7
|
+
export * from "./collapsible-field-group.js";
|
|
8
|
+
export * from "./derived-frame.js";
|
|
9
|
+
export * from "./derived.js";
|
|
6
10
|
export * from "./dropdown.js";
|
|
7
|
-
|
|
8
|
-
import {
|
|
11
|
+
import { EditableCollectionSubset } from "./editable-collection-subset.js";
|
|
12
|
+
import { FieldGroup } from "./field-group.js";
|
|
13
|
+
export * from "./file.js";
|
|
14
|
+
import { FormControl } from "./form-control.js";
|
|
15
|
+
import { FormFieldControl } from "./form-field-control.js";
|
|
9
16
|
import { FormHeader } from "./form-header.js";
|
|
10
17
|
import { FormParagraph } from "./form-paragraph.js";
|
|
11
|
-
import {
|
|
18
|
+
import { Frame } from "./frame.js";
|
|
12
19
|
import { HiddenInput } from "./hidden-input.js";
|
|
13
|
-
import {
|
|
14
|
-
import { FieldGroup } from "./field-group.js";
|
|
15
|
-
export * from "./derived.js";
|
|
16
|
-
export * from "./derived-frame.js";
|
|
17
|
-
export * from "./tickable.js";
|
|
18
|
-
export * from "./checkbox.js";
|
|
19
|
-
export * from "./radio.js";
|
|
20
|
-
export * from "./big-radio-group.js";
|
|
21
|
-
export * from "./checkbox-group.js";
|
|
22
|
-
export * from "./collapsible-field-group.js";
|
|
23
|
-
export * from "./collapsible-checkbox-group.js";
|
|
24
|
-
export * from "./autocomplete.js";
|
|
25
|
-
export * from "./file.js";
|
|
20
|
+
import { HTML } from "./html.js";
|
|
26
21
|
export * from "./image.js";
|
|
27
22
|
export * from "./multiple-files.js";
|
|
28
|
-
export * from "./number.js";
|
|
29
23
|
export * from "./multiple-images.js";
|
|
24
|
+
export * from "./number.js";
|
|
25
|
+
export * from "./password-with-generator.js";
|
|
26
|
+
export * from "./radio.js";
|
|
27
|
+
import { SimpleInput } from "./simple-input.js";
|
|
28
|
+
export * from "./single-reference.js";
|
|
29
|
+
import { Textarea } from "./textarea.js";
|
|
30
|
+
export * from "./tickable.js";
|
|
30
31
|
export * from "./array.js";
|
|
31
32
|
export * from "./table.js";
|
|
32
33
|
export {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SimpleInput } from "./simple-input.js";
|
|
2
|
+
class PasswordWithGenerator extends SimpleInput {
|
|
3
|
+
constructor(field) {
|
|
4
|
+
super(field, { type: "password" });
|
|
5
|
+
}
|
|
6
|
+
async preInput() {
|
|
7
|
+
return (
|
|
8
|
+
/* HTML */
|
|
9
|
+
`<button
|
|
10
|
+
data-controller="password-generate-button"
|
|
11
|
+
data-action="password-generate-button#generate"
|
|
12
|
+
>
|
|
13
|
+
Generate
|
|
14
|
+
</button>`
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
PasswordWithGenerator
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=password-with-generator.js.map
|
package/lib/templates/form.js
CHANGED
|
@@ -5,7 +5,7 @@ const defaults = {
|
|
|
5
5
|
import type {FormDataValue} from "@sealcode/sealgen";`,
|
|
6
6
|
get_fields: `()=>(<const>{ password: new Fields.Password(true) })`,
|
|
7
7
|
get_controls: `
|
|
8
|
-
()
|
|
8
|
+
(fields: ReturnType<typeof getFields>)=>[new Controls.SimpleInput(fields.password, {
|
|
9
9
|
label: "Password:",
|
|
10
10
|
type: "password",
|
|
11
11
|
})]`,
|
package/package.json
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference lib="dom" />
|
|
2
|
+
import { Controller } from "stimulus";
|
|
3
|
+
|
|
4
|
+
function generatePassword() {
|
|
5
|
+
const chars =
|
|
6
|
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";
|
|
7
|
+
let password = "";
|
|
8
|
+
for (let i = 0; i < 8; i++) {
|
|
9
|
+
password += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
10
|
+
}
|
|
11
|
+
return password;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default class extends Controller<HTMLButtonElement> {
|
|
15
|
+
getInput(): HTMLInputElement {
|
|
16
|
+
return this.element.parentElement!.querySelector(
|
|
17
|
+
"input"
|
|
18
|
+
) as HTMLInputElement;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
generate() {
|
|
22
|
+
this.getInput().value = generatePassword();
|
|
23
|
+
this.getInput().setAttribute("type", "text");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export * from "./autocomplete.js";
|
|
2
|
+
export * from "./big-radio-group.js";
|
|
3
|
+
export * from "./checkbox-group.js";
|
|
4
|
+
export * from "./checkbox.js";
|
|
5
5
|
export { CheckboxedListInput } from "./checkboxed-list-input.js";
|
|
6
|
+
export * from "./collapsible-checkbox-group.js";
|
|
7
|
+
export * from "./collapsible-field-group.js";
|
|
8
|
+
export * from "./derived-frame.js";
|
|
9
|
+
export * from "./derived.js";
|
|
6
10
|
export * from "./dropdown.js";
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
11
|
+
export { EditableCollectionSubset } from "./editable-collection-subset.js";
|
|
12
|
+
export { FieldGroup } from "./field-group.js";
|
|
13
|
+
export * from "./file.js";
|
|
14
|
+
export { FormControl } from "./form-control.js";
|
|
15
|
+
export { FormFieldControl } from "./form-field-control.js";
|
|
9
16
|
export { FormHeader } from "./form-header.js";
|
|
10
17
|
export { FormParagraph } from "./form-paragraph.js";
|
|
11
|
-
export {
|
|
18
|
+
export { Frame } from "./frame.js";
|
|
12
19
|
export { HiddenInput } from "./hidden-input.js";
|
|
13
|
-
export {
|
|
14
|
-
export { FieldGroup } from "./field-group.js";
|
|
15
|
-
export * from "./derived.js";
|
|
16
|
-
export * from "./derived-frame.js";
|
|
17
|
-
export * from "./tickable.js";
|
|
18
|
-
export * from "./checkbox.js";
|
|
19
|
-
export * from "./radio.js";
|
|
20
|
-
export * from "./big-radio-group.js";
|
|
21
|
-
export * from "./checkbox-group.js";
|
|
22
|
-
export * from "./collapsible-field-group.js";
|
|
23
|
-
export * from "./collapsible-checkbox-group.js";
|
|
24
|
-
export * from "./autocomplete.js";
|
|
25
|
-
export * from "./file.js";
|
|
20
|
+
export { HTML } from "./html.js";
|
|
26
21
|
export * from "./image.js";
|
|
27
22
|
export * from "./multiple-files.js";
|
|
28
|
-
export * from "./number.js";
|
|
29
23
|
export * from "./multiple-images.js";
|
|
24
|
+
export * from "./number.js";
|
|
25
|
+
export * from "./password-with-generator.js";
|
|
26
|
+
export * from "./radio.js";
|
|
27
|
+
export { SimpleInput } from "./simple-input.js";
|
|
28
|
+
export * from "./single-reference.js";
|
|
29
|
+
export { Textarea } from "./textarea.js";
|
|
30
|
+
export * from "./tickable.js";
|
|
30
31
|
// export * from "./reverse-single-reference";
|
|
31
32
|
export * from "./array.js";
|
|
32
33
|
export * from "./table.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FormField } from "../../index.js";
|
|
2
|
+
import { SimpleInput } from "./simple-input.js";
|
|
3
|
+
|
|
4
|
+
export class PasswordWithGenerator extends SimpleInput {
|
|
5
|
+
constructor(field: FormField) {
|
|
6
|
+
super(field, { type: "password" });
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
async preInput() {
|
|
10
|
+
return /* HTML */ `<button
|
|
11
|
+
data-controller="password-generate-button"
|
|
12
|
+
data-action="password-generate-button#generate"
|
|
13
|
+
>
|
|
14
|
+
Generate
|
|
15
|
+
</button>`;
|
|
16
|
+
}
|
|
17
|
+
}
|
package/src/templates/form.ts
CHANGED
|
@@ -6,7 +6,7 @@ const defaults = {
|
|
|
6
6
|
import type {FormDataValue} from "@sealcode/sealgen";`,
|
|
7
7
|
get_fields: `()=>(<const>{ password: new Fields.Password(true) })`,
|
|
8
8
|
get_controls: `
|
|
9
|
-
()
|
|
9
|
+
(fields: ReturnType<typeof getFields>)=>[new Controls.SimpleInput(fields.password, {
|
|
10
10
|
label: "Password:",
|
|
11
11
|
type: "password",
|
|
12
12
|
})]`,
|