@sealcode/sealgen 0.8.25 → 0.8.27
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/components/tabs.d.ts +1 -1
- package/@types/forms/controls/number.d.ts +0 -3
- package/@types/forms/controls/simple-input.d.ts +2 -1
- package/lib/components/tabs.js +6 -6
- package/lib/components/tabs.js.map +1 -1
- package/lib/forms/controls/number.js +0 -5
- package/lib/forms/controls/number.js.map +1 -1
- package/lib/forms/controls/simple-input.js +4 -2
- package/lib/forms/controls/simple-input.js.map +1 -1
- package/package.json +1 -1
- package/src/components/tabs.ts +7 -6
- package/src/forms/controls/number.ts +1 -8
- package/src/forms/controls/simple-input.ts +5 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { FlatTemplatable } from "tempstream";
|
|
2
|
-
export declare function tabs(tabs: Record<string, FlatTemplatable>, selected_tab_style?: string, selected_index?: number): FlatTemplatable;
|
|
2
|
+
export declare function tabs(tabs: Record<string, FlatTemplatable>, selected_tab_style?: string, selected_index?: number, hide_tabs_width?: number): FlatTemplatable;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { Context } from "koa";
|
|
2
|
-
import { FlatTemplatable } from "tempstream";
|
|
3
2
|
import { NumberField } from "../fields/field";
|
|
4
3
|
import { FormDataValue } from "../form";
|
|
5
4
|
import { SimpleInput, SimpleInputOptions } from "./simple-input";
|
|
6
5
|
export declare type NumberOptions = SimpleInputOptions & Partial<{
|
|
7
6
|
step: number;
|
|
8
|
-
suffix: string;
|
|
9
7
|
}>;
|
|
10
8
|
export declare class Number extends SimpleInput<number | null> {
|
|
11
9
|
field: NumberField;
|
|
12
10
|
options: NumberOptions;
|
|
13
11
|
constructor(field: NumberField, options: NumberOptions);
|
|
14
12
|
getType(): string;
|
|
15
|
-
postInput(_: Context): Promise<FlatTemplatable>;
|
|
16
13
|
getInputAttributes(ctx: Context, data: Record<string, FormDataValue>, field_prefix: string, form_id: string): Promise<Record<string, string | boolean>>;
|
|
17
14
|
}
|
|
@@ -13,6 +13,7 @@ export declare type SimpleInputOptions = {
|
|
|
13
13
|
placeholder?: string;
|
|
14
14
|
readonly?: boolean;
|
|
15
15
|
step?: number;
|
|
16
|
+
suffix?: string;
|
|
16
17
|
};
|
|
17
18
|
export declare class SimpleInput<ParsedValue, Options extends SimpleInputOptions = SimpleInputOptions> extends FormFieldControl {
|
|
18
19
|
field: FormField<boolean, ParsedValue>;
|
|
@@ -24,7 +25,7 @@ export declare class SimpleInput<ParsedValue, Options extends SimpleInputOptions
|
|
|
24
25
|
getID(): string;
|
|
25
26
|
getPlaceholder(): string;
|
|
26
27
|
getInputAttributes(ctx: Context, data: Record<string, FormDataValue>, field_prefix: string, form_id: string): Promise<Record<string, string | boolean>>;
|
|
27
|
-
postInput(
|
|
28
|
+
postInput(_: Context): Promise<FlatTemplatable>;
|
|
28
29
|
renderInput(ctx: Context, attributes_str: string, data: Record<string, FormDataValue>): Promise<FlatTemplatable>;
|
|
29
30
|
render<Fields extends Record<string, FormField>>(ctx: Context, data: Record<string, FormDataValue>, _messages: FormMessage[], field_prefix: string, form_id: string, show_errors: boolean): Promise<FlatTemplatable>;
|
|
30
31
|
}
|
package/lib/components/tabs.js
CHANGED
|
@@ -5,7 +5,7 @@ const tempstream_1 = require("tempstream");
|
|
|
5
5
|
function name_to_id(str) {
|
|
6
6
|
return str.replace(/\W/g, "-");
|
|
7
7
|
}
|
|
8
|
-
const style = /* HTML */ `<style>
|
|
8
|
+
const style = (hide_tabs_width) => /* HTML */ `<style>
|
|
9
9
|
.tab-label {
|
|
10
10
|
height: 45px;
|
|
11
11
|
line-height: 45px;
|
|
@@ -20,7 +20,7 @@ const style = /* HTML */ `<style>
|
|
|
20
20
|
user-select: none;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
@media screen and (max-width:
|
|
23
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
24
24
|
.tab-label {
|
|
25
25
|
display: none;
|
|
26
26
|
}
|
|
@@ -35,7 +35,7 @@ const style = /* HTML */ `<style>
|
|
|
35
35
|
color: $font-graphite;
|
|
36
36
|
border-bottom: 2px solid $font-primary;
|
|
37
37
|
display: none;
|
|
38
|
-
@media screen and (max-width:
|
|
38
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
39
39
|
display: block;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -45,14 +45,14 @@ const style = /* HTML */ `<style>
|
|
|
45
45
|
clear: both;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
@media screen and (max-width:
|
|
48
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
49
49
|
.tab-content {
|
|
50
50
|
display: block !important;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
</style>`;
|
|
54
|
-
function tabs(tabs, selected_tab_style = "font-weight: bold;", selected_index = 0) {
|
|
55
|
-
return /* HTML */ tempstream_1.tempstream `${style}
|
|
54
|
+
function tabs(tabs, selected_tab_style = "font-weight: bold;", selected_index = 0, hide_tabs_width = 0) {
|
|
55
|
+
return /* HTML */ tempstream_1.tempstream `${style(hide_tabs_width)}
|
|
56
56
|
${Object.keys(tabs)
|
|
57
57
|
.map((tab_title, index) => {
|
|
58
58
|
const id = name_to_id(tab_title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD,SAAS,UAAU,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,KAAK,GAAG,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD,SAAS,UAAU,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,eAAuB,EAAE,EAAE,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;iCAerB,eAAe;;;;;;;;;;;;;;;kCAed,eAAe;;;;;;;;;;iCAUhB,eAAe;;;;;SAKvC,CAAC;AAEV,SAAgB,IAAI,CACnB,IAAqC,EACrC,kBAAkB,GAAG,oBAAoB,EACzC,cAAc,GAAG,CAAC,EAClB,eAAe,GAAG,CAAC;IAEnB,OAAO,UAAU,CAAC,uBAAU,CAAA,GAAG,KAAK,CAAC,eAAe,CAAC;GACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACjB,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;;;WAGV,EAAE;yBACY,EAAE;;OAEpB,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;yCAEN,EAAE,UAAU,EAAE;OAChD,SAAS;aACH,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;GACV,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;QAC/C,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,UAAU,CAAC,uBAAU,CAAA;OACvB,KAAK;;2CAE+B,EAAE,KAAK,OAAO;;mBAEtC,EAAE,oBAAoB,EAAE;;;mBAGxB,EAAE,4BAA4B,EAAE;;;mBAGhC,EAAE,+BAA+B,EAAE;QAC9C,kBAAkB;;aAEb,CAAC;IACb,CAAC,CAAC,EAAE,CAAC;AACN,CAAC;AAzCD,oBAyCC"}
|
|
@@ -9,11 +9,6 @@ class Number extends simple_input_1.SimpleInput {
|
|
|
9
9
|
getType() {
|
|
10
10
|
return "number";
|
|
11
11
|
}
|
|
12
|
-
async postInput(_) {
|
|
13
|
-
return this.options.suffix
|
|
14
|
-
? /* HTML */ `<span class="suffix">${this.options.suffix}</span>`
|
|
15
|
-
: "";
|
|
16
|
-
}
|
|
17
12
|
async getInputAttributes(ctx, data, field_prefix, form_id) {
|
|
18
13
|
const original = await super.getInputAttributes(ctx, data, field_prefix, form_id);
|
|
19
14
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/forms/controls/number.ts"],"names":[],"mappings":";;;AAIA,iDAAiE;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/forms/controls/number.ts"],"names":[],"mappings":";;;AAIA,iDAAiE;AAIjE,MAAa,MAAO,SAAQ,0BAA0B;IAGrD,YAAY,KAAkB,EAAE,OAAsB;QACrD,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;QACN,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,GAAY,EACZ,IAAmC,EACnC,YAAoB,EACpB,OAAe;QAEf,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAC9C,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,OAAO,CACP,CAAC;QACF,OAAO;YACN,GAAG,QAAQ;YACX,GAAG,MAAM,CAAC,WAAW,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnC,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnC,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC;SACF,CAAC;IACH,CAAC;CACD;AApCD,wBAoCC"}
|
|
@@ -54,8 +54,10 @@ class SimpleInput extends controls_1.FormFieldControl {
|
|
|
54
54
|
...(this.options.step ? [["step", this.options.step]] : []),
|
|
55
55
|
]);
|
|
56
56
|
}
|
|
57
|
-
async postInput(
|
|
58
|
-
return
|
|
57
|
+
async postInput(_) {
|
|
58
|
+
return this.options.suffix
|
|
59
|
+
? /* HTML */ `<span class="suffix">${this.options.suffix}</span>`
|
|
60
|
+
: "";
|
|
59
61
|
}
|
|
60
62
|
async renderInput(ctx, attributes_str, data) {
|
|
61
63
|
return `<input ${attributes_str} />`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-input.js","sourceRoot":"","sources":["../../../src/forms/controls/simple-input.ts"],"names":[],"mappings":";;;AACA,2CAAyD;AACzD,6DAA2E;AAC3E,qEAAiE;AAGjE,yCAA8C;
|
|
1
|
+
{"version":3,"file":"simple-input.js","sourceRoot":"","sources":["../../../src/forms/controls/simple-input.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/components/tabs.ts
CHANGED
|
@@ -4,7 +4,7 @@ function name_to_id(str: string) {
|
|
|
4
4
|
return str.replace(/\W/g, "-");
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
const style = /* HTML */ `<style>
|
|
7
|
+
const style = (hide_tabs_width: number) => /* HTML */ `<style>
|
|
8
8
|
.tab-label {
|
|
9
9
|
height: 45px;
|
|
10
10
|
line-height: 45px;
|
|
@@ -19,7 +19,7 @@ const style = /* HTML */ `<style>
|
|
|
19
19
|
user-select: none;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
@media screen and (max-width:
|
|
22
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
23
23
|
.tab-label {
|
|
24
24
|
display: none;
|
|
25
25
|
}
|
|
@@ -34,7 +34,7 @@ const style = /* HTML */ `<style>
|
|
|
34
34
|
color: $font-graphite;
|
|
35
35
|
border-bottom: 2px solid $font-primary;
|
|
36
36
|
display: none;
|
|
37
|
-
@media screen and (max-width:
|
|
37
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
38
38
|
display: block;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -44,7 +44,7 @@ const style = /* HTML */ `<style>
|
|
|
44
44
|
clear: both;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
@media screen and (max-width:
|
|
47
|
+
@media screen and (max-width: ${hide_tabs_width}px) {
|
|
48
48
|
.tab-content {
|
|
49
49
|
display: block !important;
|
|
50
50
|
}
|
|
@@ -54,9 +54,10 @@ const style = /* HTML */ `<style>
|
|
|
54
54
|
export function tabs(
|
|
55
55
|
tabs: Record<string, FlatTemplatable>,
|
|
56
56
|
selected_tab_style = "font-weight: bold;",
|
|
57
|
-
selected_index = 0
|
|
57
|
+
selected_index = 0,
|
|
58
|
+
hide_tabs_width = 0
|
|
58
59
|
): FlatTemplatable {
|
|
59
|
-
return /* HTML */ tempstream`${style}
|
|
60
|
+
return /* HTML */ tempstream`${style(hide_tabs_width)}
|
|
60
61
|
${Object.keys(tabs)
|
|
61
62
|
.map((tab_title, index) => {
|
|
62
63
|
const id = name_to_id(tab_title);
|
|
@@ -4,8 +4,7 @@ import { FormField, NumberField } from "../fields/field";
|
|
|
4
4
|
import { FormDataValue } from "../form";
|
|
5
5
|
import { SimpleInput, SimpleInputOptions } from "./simple-input";
|
|
6
6
|
|
|
7
|
-
export type NumberOptions = SimpleInputOptions &
|
|
8
|
-
Partial<{ step: number; suffix: string }>;
|
|
7
|
+
export type NumberOptions = SimpleInputOptions & Partial<{ step: number }>;
|
|
9
8
|
|
|
10
9
|
export class Number extends SimpleInput<number | null> {
|
|
11
10
|
field: NumberField;
|
|
@@ -18,12 +17,6 @@ export class Number extends SimpleInput<number | null> {
|
|
|
18
17
|
return "number";
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
async postInput(_: Context): Promise<FlatTemplatable> {
|
|
22
|
-
return this.options.suffix
|
|
23
|
-
? /* HTML */ `<span class="suffix">${this.options.suffix}</span>`
|
|
24
|
-
: "";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
20
|
async getInputAttributes(
|
|
28
21
|
ctx: Context,
|
|
29
22
|
data: Record<string, FormDataValue>,
|
|
@@ -29,6 +29,7 @@ export type SimpleInputOptions = {
|
|
|
29
29
|
placeholder?: string;
|
|
30
30
|
readonly?: boolean;
|
|
31
31
|
step?: number;
|
|
32
|
+
suffix?: string;
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
export class SimpleInput<
|
|
@@ -101,8 +102,10 @@ export class SimpleInput<
|
|
|
101
102
|
]);
|
|
102
103
|
}
|
|
103
104
|
|
|
104
|
-
async postInput(
|
|
105
|
-
return
|
|
105
|
+
async postInput(_: Context): Promise<FlatTemplatable> {
|
|
106
|
+
return this.options.suffix
|
|
107
|
+
? /* HTML */ `<span class="suffix">${this.options.suffix}</span>`
|
|
108
|
+
: "";
|
|
106
109
|
}
|
|
107
110
|
|
|
108
111
|
async renderInput(
|