@neovici/cosmoz-form 3.5.0 → 4.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.
- package/dist/add/render.d.ts +16 -3
- package/dist/add/render.d.ts.map +1 -1
- package/dist/add/render.js +9 -6
- package/dist/add/styles.d.ts.map +1 -1
- package/dist/add/styles.js +13 -25
- package/dist/form-dialog/form-dialog.d.ts +2 -1
- package/dist/form-dialog/form-dialog.d.ts.map +1 -1
- package/dist/form-dialog/form-dialog.js +12 -5
- package/dist/form-dialog/style.css.d.ts.map +1 -1
- package/dist/form-dialog/style.css.js +16 -28
- package/dist/inputs/autocomplete.d.ts +3 -0
- package/dist/inputs/autocomplete.d.ts.map +1 -1
- package/dist/inputs/autocomplete.js +5 -5
- package/dist/inputs/base.d.ts +1 -0
- package/dist/inputs/base.d.ts.map +1 -1
- package/dist/inputs/base.js +2 -7
- package/dist/inputs/common.d.ts +2 -2
- package/dist/inputs/common.d.ts.map +1 -1
- package/dist/inputs/common.js +5 -5
- package/dist/inputs/date-range.d.ts.map +1 -1
- package/dist/inputs/date-range.js +3 -1
- package/dist/inputs/inline-file.d.ts.map +1 -1
- package/dist/inputs/inline-file.js +8 -23
- package/dist/inputs/read-only-number.d.ts.map +1 -1
- package/dist/inputs/read-only-number.js +2 -2
- package/dist/inputs/render.d.ts +3 -3
- package/dist/inputs/render.d.ts.map +1 -1
- package/dist/inputs/render.js +5 -5
- package/dist/render/items.d.ts.map +1 -1
- package/dist/render/items.js +8 -3
- package/dist/render/styles.d.ts.map +1 -1
- package/dist/render/styles.js +16 -33
- package/dist/styles/button.d.ts.map +1 -1
- package/dist/styles/button.js +17 -31
- package/dist/test/form-dialog.test.d.ts +2 -0
- package/dist/test/form-dialog.test.d.ts.map +1 -0
- package/dist/test/form-dialog.test.js +64 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/use-async-form-core.d.ts.map +1 -1
- package/dist/use-async-form-core.js +15 -10
- package/dist/use-items/use-async-rules.d.ts.map +1 -1
- package/dist/use-items/use-async-rules.js +18 -13
- package/package.json +10 -10
- package/dist/controls/cz-toggle.d.ts +0 -2
- package/dist/controls/cz-toggle.d.ts.map +0 -1
- package/dist/controls/cz-toggle.js +0 -40
- package/dist/styles/toggle.d.ts +0 -3
- package/dist/styles/toggle.d.ts.map +0 -1
- package/dist/styles/toggle.js +0 -46
package/dist/add/render.d.ts
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import '@neovici/cosmoz-button';
|
|
2
|
+
import '@neovici/cosmoz-spinner';
|
|
1
3
|
import { nothing } from 'lit-html';
|
|
2
|
-
import { Progress } from './types';
|
|
3
4
|
import { UseValidatedForm } from '../use-validated-form-core';
|
|
5
|
+
import { Progress } from './types';
|
|
4
6
|
export declare const nothing$: () => symbol;
|
|
5
7
|
export declare const then$: <P, R>(p$?: PromiseLike<P>, fn?: () => R) => Promise<R>;
|
|
8
|
+
/**
|
|
9
|
+
* A save failure. `message` is the plain-text summary (toasts, logging);
|
|
10
|
+
* `content`, when present, is rendered in the failure block instead —
|
|
11
|
+
* allowing rich markup (e.g. a structured list of row errors). The failure
|
|
12
|
+
* block renders with `white-space: pre-wrap`, so keep templates free of
|
|
13
|
+
* indentation whitespace.
|
|
14
|
+
*/
|
|
15
|
+
export interface Failure {
|
|
16
|
+
message: string;
|
|
17
|
+
content?: unknown;
|
|
18
|
+
}
|
|
6
19
|
interface RenderAddFields<T extends object> extends UseValidatedForm<T> {
|
|
7
|
-
error?: Error | {
|
|
20
|
+
error?: Error | ({
|
|
8
21
|
message: string;
|
|
9
|
-
};
|
|
22
|
+
} & Partial<Failure>);
|
|
10
23
|
}
|
|
11
24
|
export declare const renderAddFields: <T extends object>({ error, ...thru }: RenderAddFields<T>) => import("..").Renderable[];
|
|
12
25
|
export declare const renderFailure$: <T>(save$?: PromiseLike<T>) => import("lit-html/directive.js").DirectiveResult<{
|
package/dist/add/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/add/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,UAAU,CAAC;AAKzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/add/render.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAQ,OAAO,EAAE,MAAM,UAAU,CAAC;AAKzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,eAAO,MAAM,QAAQ,cAAgB,CAAC;AACtC,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,eAC5B,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD;AACD,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,oBAG/C,eAAe,CAAC,CAAC,CAAC,8BAGpB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC;;EAOtD,CAAC;AAEH,UAAU,MAAM;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AACD,UAAU,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACtD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B;AACD,eAAO,MAAM,aAAa,GAAI,8BAA8B,YAAY;;EAiCvE,CAAC;AAEF,UAAU,aAAa;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;CACnB;AACD,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,MAAM,EAAE,8CAKhB,aAAa,MACf,sCAAsC,iBAAiB,CAAC,CAAC,CAAC,yCAUpC,CAAC"}
|
package/dist/add/render.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import '@neovici/cosmoz-button';
|
|
2
|
+
import '@neovici/cosmoz-spinner';
|
|
1
3
|
import { html, nothing } from 'lit-html';
|
|
2
|
-
import { until } from 'lit-html/directives/until.js';
|
|
3
4
|
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
5
|
+
import { until } from 'lit-html/directives/until.js';
|
|
4
6
|
import { when } from 'lit-html/directives/when.js';
|
|
5
7
|
import { renderFields } from '../render';
|
|
6
8
|
export const nothing$ = () => nothing;
|
|
7
9
|
export const then$ = (p$, fn) => Promise.resolve(p$).then(fn, fn);
|
|
10
|
+
const failureHtml = (e) => e.content ?? e.message;
|
|
8
11
|
export const renderAddFields = ({ error, ...thru }) => [
|
|
9
12
|
renderFields(thru),
|
|
10
|
-
when(error, (err) => html `<div class="failure">${err
|
|
13
|
+
when(error, (err) => html `<div class="failure">${failureHtml(err)}</div>`),
|
|
11
14
|
];
|
|
12
|
-
export const renderFailure$ = (save$) => until(save$?.then(nothing$, (e) => html `<div class="failure">${e
|
|
15
|
+
export const renderFailure$ = (save$) => until(save$?.then(nothing$, (e) => html `<div class="failure">${failureHtml(e)}</div>`), nothing);
|
|
13
16
|
export const renderButton$ = ({ save$, progress, ...thru }) => {
|
|
14
|
-
const button = ({ onSave, onClick = onSave, title, disabled, progress, content = nothing, slot, }) => html ` <button
|
|
17
|
+
const button = ({ onSave, onClick = onSave, title, disabled, progress, content = nothing, slot, }) => html ` <cosmoz-button
|
|
15
18
|
class="button save"
|
|
16
19
|
slot=${ifDefined(slot)}
|
|
17
20
|
?disabled=${disabled}
|
|
@@ -22,12 +25,12 @@ export const renderButton$ = ({ save$, progress, ...thru }) => {
|
|
|
22
25
|
}}
|
|
23
26
|
>
|
|
24
27
|
${content} ${title}
|
|
25
|
-
</button>`;
|
|
28
|
+
</cosmoz-button>`;
|
|
26
29
|
return until(then$(save$, () => button(thru)), button({
|
|
27
30
|
...thru,
|
|
28
31
|
disabled: true,
|
|
29
32
|
progress: true,
|
|
30
|
-
content: html `<
|
|
33
|
+
content: html `<cosmoz-spinner></cosmoz-spinner> ${when(progress, (p) => p.join('/'))}`,
|
|
31
34
|
}));
|
|
32
35
|
};
|
|
33
36
|
export const renderAddForm$ = ({ button: buttonTitle, tab, tabCard = tab, hash, }) => ({ disabled, save$, onSave, ...pass }) => html ` <cosmoz-tabs class="flex" hash-param=${ifDefined(hash)}>
|
package/dist/add/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/add/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/add/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,cA2B3B,CAAC"}
|
package/dist/add/styles.js
CHANGED
|
@@ -7,36 +7,24 @@ export const renderAddStyles = () => css `
|
|
|
7
7
|
height: 100%;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
.forbidden {
|
|
11
|
-
font-size: 16px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
10
|
.failure {
|
|
15
|
-
font-size:
|
|
16
|
-
line-height:
|
|
17
|
-
margin:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
line-height: 20px;
|
|
11
|
+
font-size: var(--cz-text-xs);
|
|
12
|
+
line-height: var(--cz-text-xs-line-height);
|
|
13
|
+
margin: calc(var(--cz-spacing) * 2) 0;
|
|
14
|
+
padding: calc(var(--cz-spacing) * 3);
|
|
15
|
+
color: var(--cz-color-text-error);
|
|
16
|
+
background: var(--cz-color-bg-error);
|
|
17
|
+
border: 1px solid var(--cz-color-border-error-subtle);
|
|
18
|
+
border-radius: var(--cz-radius-lg);
|
|
19
|
+
white-space: pre-wrap;
|
|
20
|
+
word-break: break-word;
|
|
21
|
+
max-height: 40vh;
|
|
22
|
+
overflow-y: auto;
|
|
28
23
|
}
|
|
29
24
|
|
|
30
25
|
.input-toggle {
|
|
31
|
-
margin-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
cosmoz-tab-card::part(content) {
|
|
35
|
-
padding-bottom: 24px;
|
|
26
|
+
margin-block: calc(var(--cz-spacing) * 2);
|
|
36
27
|
}
|
|
37
28
|
|
|
38
29
|
${buttonStyles}
|
|
39
|
-
.button cz-spinner {
|
|
40
|
-
margin-right: 8px;
|
|
41
|
-
}
|
|
42
30
|
`;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import '@neovici/cosmoz-button';
|
|
1
2
|
import { Props as DialogProps } from '@neovici/cosmoz-dialog';
|
|
2
3
|
import '@neovici/cosmoz-dialog/loading';
|
|
3
|
-
import '@neovici/cosmoz-spinner';
|
|
4
4
|
import { Renderable, Resolvable } from '../types';
|
|
5
5
|
import { Props as AddProps } from '../use-validated-form$';
|
|
6
6
|
interface Props<T extends object> extends DialogProps, AddProps<T> {
|
|
7
7
|
heading: string;
|
|
8
|
+
subtitle?: string;
|
|
8
9
|
description?: Renderable;
|
|
9
10
|
auto?: boolean;
|
|
10
11
|
uncancelable?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-dialog.d.ts","sourceRoot":"","sources":["../../src/form-dialog/form-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"form-dialog.d.ts","sourceRoot":"","sources":["../../src/form-dialog/form-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAU,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,gCAAgC,CAAC;AAWxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAqB,MAAM,wBAAwB,CAAC;AAE9E,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAyDD,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAG,UAoBhE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAC3C,aAAa,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;;;;cAO7C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import '@neovici/cosmoz-button';
|
|
1
2
|
import { dialog } from '@neovici/cosmoz-dialog';
|
|
2
3
|
import '@neovici/cosmoz-dialog/loading';
|
|
3
|
-
import '@neovici/cosmoz-spinner';
|
|
4
4
|
import { invoke$ } from '@neovici/cosmoz-utils/promise';
|
|
5
5
|
import { useEffect } from '@pionjs/pion';
|
|
6
6
|
import { t } from 'i18next';
|
|
@@ -24,14 +24,19 @@ const FormDialog = (host) => {
|
|
|
24
24
|
return html ` <style>
|
|
25
25
|
${buttonStyles} ${renderStyles(form)}${styles}
|
|
26
26
|
</style>
|
|
27
|
-
${when(description, () => html `<
|
|
27
|
+
${when(description, () => html `<div class="description">${description}</div>`)}
|
|
28
28
|
<div class="form" part="form">${renderFields(form)}</div>
|
|
29
|
+
${renderFailure$(save$)}
|
|
29
30
|
<div class="buttons">
|
|
30
|
-
${renderFailure$(save$)}
|
|
31
31
|
${renderButton$({ save$, onSave, disabled, title: saveText, progress })}
|
|
32
|
-
${when(!hideCancelButton, () => html `<button
|
|
32
|
+
${when(!hideCancelButton, () => html `<cosmoz-button
|
|
33
|
+
class="button"
|
|
34
|
+
variant="secondary"
|
|
35
|
+
value="cancel"
|
|
36
|
+
?disabled=${uncancelable}
|
|
37
|
+
>
|
|
33
38
|
${t('Cancel')}
|
|
34
|
-
</button>`)}
|
|
39
|
+
</cosmoz-button>`)}
|
|
35
40
|
</div>`;
|
|
36
41
|
};
|
|
37
42
|
customElements.define('cosmoz-form-dialog', dialog(FormDialog, { observedAttributes: ['allow-empty'] }));
|
|
@@ -44,6 +49,8 @@ export const formDialog = (props) => {
|
|
|
44
49
|
name=${ifDefined(props.name)}
|
|
45
50
|
?allow-empty=${props.allowEmpty}
|
|
46
51
|
.heading=${props.heading}
|
|
52
|
+
.subtitle=${props.subtitle}
|
|
53
|
+
.icon=${props.icon}
|
|
47
54
|
.description=${props.description}
|
|
48
55
|
.fields=${props.fields}
|
|
49
56
|
.initial=${props.initial}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.css.d.ts","sourceRoot":"","sources":["../../src/form-dialog/style.css.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"style.css.d.ts","sourceRoot":"","sources":["../../src/form-dialog/style.css.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,QA4BX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,43 +1,31 @@
|
|
|
1
1
|
import { tagged as css } from '@neovici/cosmoz-utils';
|
|
2
2
|
const styles = css `
|
|
3
3
|
.description {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
min-height: 0;
|
|
4
|
+
font-size: var(--cz-text-base);
|
|
5
|
+
line-height: var(--cz-text-base-line-height);
|
|
6
|
+
color: var(--cz-color-text-secondary);
|
|
7
|
+
margin-block: calc(var(--cz-spacing) * 4);
|
|
9
8
|
}
|
|
10
9
|
.description * {
|
|
11
10
|
line-height: normal;
|
|
12
11
|
}
|
|
13
12
|
.form {
|
|
14
|
-
overflow-y: auto;
|
|
15
13
|
display: flex;
|
|
16
14
|
flex-direction: column;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
margin-top: 20px;
|
|
20
|
-
padding: 0px 24px 4px 24px;
|
|
21
|
-
}
|
|
22
|
-
.input:last-child {
|
|
23
|
-
margin-bottom: 16px;
|
|
24
|
-
}
|
|
25
|
-
.buttons {
|
|
26
|
-
flex: none;
|
|
27
|
-
}
|
|
28
|
-
.save {
|
|
29
|
-
font-weight: bold;
|
|
30
|
-
}
|
|
31
|
-
.save[data-progress] {
|
|
32
|
-
opacity: 0.6;
|
|
33
|
-
}
|
|
16
|
+
|
|
34
17
|
.failure {
|
|
35
|
-
color:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
18
|
+
color: var(--cz-color-text-error);
|
|
19
|
+
background: var(--cz-color-bg-error);
|
|
20
|
+
border: 1px solid var(--cz-color-border-error-subtle);
|
|
21
|
+
border-radius: var(--cz-radius-lg);
|
|
22
|
+
/* spans the dialog body's content box; text inset by its own padding */
|
|
23
|
+
margin: calc(var(--cz-spacing) * 2) 0;
|
|
24
|
+
padding: calc(var(--cz-spacing) * 3);
|
|
25
|
+
white-space: pre-wrap;
|
|
26
|
+
word-break: break-word;
|
|
27
|
+
max-height: 40vh;
|
|
28
|
+
overflow-y: auto;
|
|
41
29
|
}
|
|
42
30
|
`;
|
|
43
31
|
export default styles;
|
|
@@ -9,6 +9,8 @@ type OptionsOpts<T, V, C> = {
|
|
|
9
9
|
};
|
|
10
10
|
export interface AutocompleteProps<T extends object, K extends keyof T, V extends T[K], C extends object> {
|
|
11
11
|
options?: Resolvable<unknown[] | false | undefined, [OptionsOpts<T, V, C>]>;
|
|
12
|
+
mode?: 'select';
|
|
13
|
+
variant?: 'cell';
|
|
12
14
|
limit?: number;
|
|
13
15
|
textProperty?: string;
|
|
14
16
|
valueProperty?: string;
|
|
@@ -19,6 +21,7 @@ export interface AutocompleteProps<T extends object, K extends keyof T, V extend
|
|
|
19
21
|
preserveOrder?: boolean;
|
|
20
22
|
itemRenderer?: unknown;
|
|
21
23
|
chipRenderer?: unknown;
|
|
24
|
+
required?: boolean;
|
|
22
25
|
textual?: unknown;
|
|
23
26
|
externalSearch?: boolean;
|
|
24
27
|
itemHeight?: number | 'auto';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/inputs/autocomplete.ts"],"names":[],"mappings":"AAKA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,EAAiB,UAAU,EAAE,MAAM,UAAU,CAAC;AAIrD,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,iBAAiB,CACjC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM;IAEhB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAOD,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,+
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/inputs/autocomplete.ts"],"names":[],"mappings":"AAKA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,EAAiB,UAAU,EAAE,MAAM,UAAU,CAAC;AAIrD,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,iBAAiB,CACjC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM;IAEhB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAOD,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,+HA2EtE,CAAC"}
|
|
@@ -5,16 +5,17 @@ import { live } from 'lit-html/directives/live.js';
|
|
|
5
5
|
import '@neovici/cosmoz-autocomplete';
|
|
6
6
|
import { input } from './base';
|
|
7
7
|
import { renderContents } from './render';
|
|
8
|
-
export const autocomplete = input(({ id,
|
|
8
|
+
export const autocomplete = input(({ id, variant, label, error, required, warning, suffix, mode, disabled, onChange, options, limit, min, textProperty, valueProperty, value, values, itemRenderer, chipRenderer, keepOpened, keepQuery, placeholder, wrap, showSingle, preserveOrder, title, textual, description, externalSearch, itemHeight, context, ...thru }) => {
|
|
9
9
|
return html `<cosmoz-autocomplete
|
|
10
10
|
class="input input-autocomplete"
|
|
11
|
+
mode=${ifDefined(mode)}
|
|
12
|
+
variant=${ifDefined(variant)}
|
|
11
13
|
?data-warning=${!!warning}
|
|
12
14
|
name=${id}
|
|
13
15
|
?disabled=${disabled}
|
|
14
16
|
?wrap=${wrap}
|
|
15
|
-
?no-label-float=${noLabelFloat}
|
|
16
|
-
?always-float-label=${alwaysFloatLabel}
|
|
17
17
|
?invalid=${!!error}
|
|
18
|
+
?required=${required}
|
|
18
19
|
?keep-opened=${!!keepOpened}
|
|
19
20
|
?keep-query=${!!keepQuery}
|
|
20
21
|
?show-single=${!!showSingle}
|
|
@@ -35,8 +36,7 @@ export const autocomplete = input(({ id, label, noLabelFloat, alwaysFloatLabel,
|
|
|
35
36
|
.itemHeight=${itemHeight}
|
|
36
37
|
.title=${ifDefined(title)}
|
|
37
38
|
.textual=${textual}
|
|
38
|
-
.onChange=${(options) => onChange((limit === 1 ? options?.[0] : options))}
|
|
39
|
-
@paste=${onPaste}
|
|
39
|
+
.onChange=${(options) => onChange((limit === 1 || mode === 'select' ? options?.[0] : options))}
|
|
40
40
|
?external-search=${externalSearch}
|
|
41
41
|
>${renderContents({ suffix, warning, description })}</cosmoz-autocomplete
|
|
42
42
|
>`;
|
package/dist/inputs/base.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/inputs/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,UAAU,CAAC;AAGnE,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;IAC9E,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,UAAU,CACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,GAAG,MAAM,IACtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAE5E,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACrB,CAAC,SAAS,MAAM,GAAG,MAAM,IACtB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAC7D,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AA+BxB,eAAO,MAAM,KAAK,GAEhB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,GAAG,MAAM,EAEzB,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,MAErD,8DAOE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/inputs/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,UAAU,CAAC;AAGnE,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;IAC9E,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,UAAU,CACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,GAAG,MAAM,IACtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAE5E,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACrB,CAAC,SAAS,MAAM,GAAG,MAAM,IACtB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAC7D,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AA+BxB,eAAO,MAAM,KAAK,GAEhB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,GAAG,MAAM,EAEzB,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,MAErD,8DAOE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,UA+B3B,CAAC"}
|
package/dist/inputs/base.js
CHANGED
|
@@ -18,9 +18,6 @@ export const input = (render) => ({ field, value, values, onChange: update, cont
|
|
|
18
18
|
const onChange = (value, touched) => (field.onChange ?? defaultOnChange)(
|
|
19
19
|
// intercept the update and pass touched
|
|
20
20
|
(a) => update(a, touched), field.path ?? field.id, invokeValue(field.value?.[1], value, values, field, context), values);
|
|
21
|
-
const mandatory = invoke(field.mandatory ?? isRequired(field.validate), value, values, field, context)
|
|
22
|
-
? ' *'
|
|
23
|
-
: undefined;
|
|
24
21
|
const hidden = invoke(field.hidden, value, values, field, context);
|
|
25
22
|
if (hidden)
|
|
26
23
|
return;
|
|
@@ -29,10 +26,8 @@ export const input = (render) => ({ field, value, values, onChange: update, cont
|
|
|
29
26
|
...thru,
|
|
30
27
|
context,
|
|
31
28
|
values,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
mandatory,
|
|
35
|
-
].join(''),
|
|
29
|
+
required: isRequired(field.validate),
|
|
30
|
+
label: invoke(field.label, value, values, field, context),
|
|
36
31
|
placeholder: invoke(field.placeholder, value, values, field, context),
|
|
37
32
|
disabled: invoke(field.disabled, value, values, field, context),
|
|
38
33
|
warning: invoke(field.warning, value, values, field, context),
|
package/dist/inputs/common.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import '@neovici/cosmoz-input/textarea';
|
|
|
3
3
|
import type { Field, InputBaseOpts, Invokable } from '../types';
|
|
4
4
|
export interface CommonFieldProps<T extends object, K extends keyof T, V extends T[K], C extends object = object> {
|
|
5
5
|
title?: string;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
variant?: 'cell';
|
|
7
|
+
hint?: string;
|
|
8
8
|
allowedPattern?: string | RegExp;
|
|
9
9
|
step?: string;
|
|
10
10
|
maxlength?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/inputs/common.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,gCAAgC,CAAC;AAQxC,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,gBAAgB,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,GAAG,MAAM;IAEzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/inputs/common.ts"],"names":[],"mappings":"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"}
|
package/dist/inputs/common.js
CHANGED
|
@@ -8,15 +8,16 @@ import { input } from './base';
|
|
|
8
8
|
import { renderContents } from './render';
|
|
9
9
|
export const common = (props) => {
|
|
10
10
|
const { value, values, onFocus, onInput, onPaste, context, ...field } = props;
|
|
11
|
-
const { id, type = 'text', label, placeholder,
|
|
11
|
+
const { id, variant, type = 'text', label, placeholder, error, prefix, suffix, warning, allowedPattern, step, disabled, required, maxlength, min, max, autosize, noSpinner, autocomplete, title, description, hint, } = field;
|
|
12
12
|
return html `<cosmoz-input
|
|
13
13
|
class="input input-common input-${type}"
|
|
14
|
+
variant=${ifDefined(variant)}
|
|
15
|
+
hint=${ifDefined(hint)}
|
|
14
16
|
name=${id}
|
|
15
17
|
type=${type}
|
|
16
18
|
?autosize=${autosize}
|
|
17
19
|
?disabled=${disabled}
|
|
18
|
-
?
|
|
19
|
-
?always-float-label=${alwaysFloatLabel}
|
|
20
|
+
?required=${required}
|
|
20
21
|
?invalid=${!!error}
|
|
21
22
|
?no-spinner=${!!noSpinner}
|
|
22
23
|
.placeholder=${placeholder}
|
|
@@ -56,11 +57,10 @@ export const color = input(({ onChange, ...props }) => common({
|
|
|
56
57
|
type: 'color',
|
|
57
58
|
onInput: (e) => onChange(e.target.value),
|
|
58
59
|
}));
|
|
59
|
-
export const textarea = input(({ id, label, placeholder,
|
|
60
|
+
export const textarea = input(({ id, label, placeholder, error, suffix, warning, disabled, onChange, onPaste, value, maxRows, rows, maxlength, }) => html `<cosmoz-textarea
|
|
60
61
|
class="input input-textarea"
|
|
61
62
|
name=${id}
|
|
62
63
|
?disabled=${disabled}
|
|
63
|
-
?no-label-float=${noLabelFloat}
|
|
64
64
|
?invalid=${!!error}
|
|
65
65
|
.placeholder=${placeholder}
|
|
66
66
|
.errorMessage=${error}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range.d.ts","sourceRoot":"","sources":["../../src/inputs/date-range.ts"],"names":[],"mappings":"AAQA,UAAU,KAAK;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"date-range.d.ts","sourceRoot":"","sources":["../../src/inputs/date-range.ts"],"names":[],"mappings":"AAQA,UAAU,KAAK;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AA8DD,eAAO,MAAM,SAAS,GAlDnB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,wIA+CwB,EAC1C,aAAa,GAnDX,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACd,CAAC,SAAS,MAAM,wIAgD0B,EAG5C,YAAY,GAAI,QAAQ,KAAK;;;CAI3B,CAAC"}
|
|
@@ -5,13 +5,14 @@ import { live } from 'lit-html/directives/live.js';
|
|
|
5
5
|
import { missing } from '../validation';
|
|
6
6
|
import { input } from './base';
|
|
7
7
|
const checkFormat = (value) => value === undefined || typeof value === 'object';
|
|
8
|
-
const _dateRange = (type) => input(({ id, label, error, warning, disabled, onChange, value, }) => {
|
|
8
|
+
const _dateRange = (type) => input(({ id, label, variant, error, warning, disabled, onChange, value, }) => {
|
|
9
9
|
if (!checkFormat(value))
|
|
10
10
|
return;
|
|
11
11
|
return [
|
|
12
12
|
html `<cosmoz-input
|
|
13
13
|
class="input input-date-range"
|
|
14
14
|
type=${type}
|
|
15
|
+
variant=${ifDefined(variant)}
|
|
15
16
|
?data-warning=${!!warning}
|
|
16
17
|
name=${String(id) + 'From'}
|
|
17
18
|
?disabled=${disabled}
|
|
@@ -25,6 +26,7 @@ const _dateRange = (type) => input(({ id, label, error, warning, disabled, onCha
|
|
|
25
26
|
html `<cosmoz-input
|
|
26
27
|
class="input input-date-range"
|
|
27
28
|
type=${type}
|
|
29
|
+
variant=${ifDefined(variant)}
|
|
28
30
|
?data-warning=${!!warning}
|
|
29
31
|
name=${String(id) + 'To'}
|
|
30
32
|
?disabled=${disabled}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-file.d.ts","sourceRoot":"","sources":["../../src/inputs/inline-file.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"inline-file.d.ts","sourceRoot":"","sources":["../../src/inputs/inline-file.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,QAe3B,CAAC;AAeF,eAAO,MAAM,UAAU,GACrB,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oIA4CpD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fileAttachment02Icon } from '@neovici/cosmoz-icons/untitled';
|
|
1
2
|
import { tagged as css } from '@neovici/cosmoz-utils';
|
|
2
3
|
import { invoke, noop } from '@neovici/cosmoz-utils/function';
|
|
3
4
|
import { t } from 'i18next';
|
|
@@ -10,10 +11,7 @@ import { text } from './common';
|
|
|
10
11
|
export const inlineFileStyle = css `
|
|
11
12
|
.input-inline-file {
|
|
12
13
|
position: relative;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.input-inline-file svg {
|
|
16
|
-
margin-right: 5px;
|
|
14
|
+
margin-bottom: calc(var(--cz-spacing) * 4);
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
.input-inline-file > .file {
|
|
@@ -26,24 +24,6 @@ export const inlineFileStyle = css `
|
|
|
26
24
|
cursor: pointer;
|
|
27
25
|
}
|
|
28
26
|
`;
|
|
29
|
-
const icon = html `<svg
|
|
30
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
31
|
-
width="18"
|
|
32
|
-
height="18"
|
|
33
|
-
viewBox="0 0 24 24"
|
|
34
|
-
>
|
|
35
|
-
<g
|
|
36
|
-
fill="none"
|
|
37
|
-
stroke="#000"
|
|
38
|
-
stroke-linecap="round"
|
|
39
|
-
stroke-linejoin="round"
|
|
40
|
-
stroke-width="2"
|
|
41
|
-
>
|
|
42
|
-
<path
|
|
43
|
-
d="M18 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7.1a2 2 0 0 1 1.5.6l4.9 5.2a2 2 0 0 1 .5 1.4V20a2 2 0 0 1-2 2ZM7.9 17.5h8.2M7.9 13.5h8.2M8 9.5h5"
|
|
44
|
-
/>
|
|
45
|
-
</g>
|
|
46
|
-
</svg>`;
|
|
47
27
|
const humanLabel = (value) => {
|
|
48
28
|
if (!value)
|
|
49
29
|
return t('Choose file');
|
|
@@ -57,7 +37,12 @@ const humanLabel = (value) => {
|
|
|
57
37
|
export const inlineFile = input(({ id, label, value, values, onChange, accept, multiple, disabled, }) => html `<div class="input input-inline-file" name=${id}>
|
|
58
38
|
${text({
|
|
59
39
|
value: humanLabel(value),
|
|
60
|
-
field: {
|
|
40
|
+
field: {
|
|
41
|
+
label,
|
|
42
|
+
disabled,
|
|
43
|
+
prefix: fileAttachment02Icon({ styles: 'vertical-align: middle;' }),
|
|
44
|
+
id,
|
|
45
|
+
},
|
|
61
46
|
error: false,
|
|
62
47
|
invalid: false,
|
|
63
48
|
load: noop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-only-number.d.ts","sourceRoot":"","sources":["../../src/inputs/read-only-number.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AASD,eAAO,MAAM,cAAc,GAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACb,2CAMC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"read-only-number.d.ts","sourceRoot":"","sources":["../../src/inputs/read-only-number.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AASD,eAAO,MAAM,cAAc,GAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACb,2CAMC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2CAuBrB,CAAC"}
|
|
@@ -9,7 +9,7 @@ const formatter = new Intl.NumberFormat(undefined, {
|
|
|
9
9
|
});
|
|
10
10
|
const defaultFormat = (value) => formatter.format(ensureNumber(value));
|
|
11
11
|
export const readOnlyNumber = ({ value, values, field, error, context, }) => {
|
|
12
|
-
const { id, suffix, warning, label, format = defaultFormat
|
|
12
|
+
const { id, suffix, warning, label, variant, format = defaultFormat } = field;
|
|
13
13
|
return [
|
|
14
14
|
html `<style>
|
|
15
15
|
cosmoz-input[disabled] {
|
|
@@ -18,10 +18,10 @@ export const readOnlyNumber = ({ value, values, field, error, context, }) => {
|
|
|
18
18
|
</style>`,
|
|
19
19
|
html `<cosmoz-input
|
|
20
20
|
class="input input-common input-number"
|
|
21
|
+
variant=${ifDefined(variant)}
|
|
21
22
|
.label=${label}
|
|
22
23
|
name="${id}"
|
|
23
24
|
disabled
|
|
24
|
-
?no-label-float=${ifDefined(noLabelFloat)}
|
|
25
25
|
.value=${format(value)}
|
|
26
26
|
?invalid=${!!error}
|
|
27
27
|
.errorMessage=${error}
|
package/dist/inputs/render.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Renderable } from '
|
|
1
|
+
import { Renderable } from '@pionjs/pion';
|
|
2
2
|
export declare const renderPrefix: <T>(prefix: T) => T extends false | "" | 0 | 0n | null | undefined ? undefined : import("lit-html").TemplateResult<1>;
|
|
3
3
|
export declare const renderSuffix: <T>(suffix: T) => T extends false | "" | 0 | 0n | null | undefined ? undefined : import("lit-html").TemplateResult<1>;
|
|
4
|
-
export declare const renderWarning:
|
|
5
|
-
export declare const renderDescription:
|
|
4
|
+
export declare const renderWarning: (msg: Renderable, slot?: string) => import("lit-html").TemplateResult<1> | undefined;
|
|
5
|
+
export declare const renderDescription: (description: Renderable, slot?: string) => import("lit-html").TemplateResult<1> | undefined;
|
|
6
6
|
export declare const renderContents: ({ prefix, suffix, warning, description, }: {
|
|
7
7
|
prefix?: Renderable;
|
|
8
8
|
suffix?: Renderable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/inputs/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/inputs/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,QAAQ,CAAC,wGACsB,CAAC;AAEhE,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,QAAQ,CAAC,wGACsB,CAAC;AAEhE,eAAO,MAAM,aAAa,GAAI,KAAK,UAAU,EAAE,aAAe,qDAS5D,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAAI,aAAa,UAAU,EAAE,aAAe,qDAUxE,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,2CAK5B;IACF,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC;CACzB,yDAKA,CAAC"}
|
package/dist/inputs/render.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
+
import { alertCircleIcon, helpCircleIcon, } from '@neovici/cosmoz-icons/untitled';
|
|
1
2
|
import { html } from 'lit-html';
|
|
2
3
|
import { when } from 'lit-html/directives/when.js';
|
|
3
|
-
import { warningIcon, helpOutlineIcon } from '@neovici/cosmoz-icons';
|
|
4
4
|
export const renderPrefix = (prefix) => when(prefix, () => html `<span slot="prefix">${prefix}</span>`);
|
|
5
5
|
export const renderSuffix = (suffix) => when(suffix, () => html `<span slot="suffix">${suffix}</span>`);
|
|
6
|
-
export const renderWarning = (msg, slot = 'suffix') => when(msg, () =>
|
|
6
|
+
export const renderWarning = (msg, slot = 'suffix') => when(msg, () => alertCircleIcon({
|
|
7
7
|
slot,
|
|
8
8
|
title: msg,
|
|
9
9
|
width: '22',
|
|
10
10
|
height: '22',
|
|
11
|
-
styles: 'color: var(--
|
|
11
|
+
styles: 'color: var(--cz-color-text-warning); vertical-align: middle',
|
|
12
12
|
}));
|
|
13
|
-
export const renderDescription = (description, slot = 'suffix') => when(description, () =>
|
|
13
|
+
export const renderDescription = (description, slot = 'suffix') => when(description, () => helpCircleIcon({
|
|
14
14
|
slot,
|
|
15
15
|
title: description,
|
|
16
16
|
width: '22',
|
|
17
17
|
height: '22',
|
|
18
|
-
styles: 'color: var(--cz-text-
|
|
18
|
+
styles: 'color: var(--cz-color-text-primary); vertical-align: middle; cursor: help',
|
|
19
19
|
}));
|
|
20
20
|
export const renderContents = ({ prefix, suffix, warning, description, }) => [
|
|
21
21
|
renderPrefix(prefix),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/render/items.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAQ,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,QAAA,MAAM,GAAG,eAAgB,CAAC;AAC1B,KAAK,IAAI,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAOxC,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/render/items.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAQ,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,QAAA,MAAM,GAAG,eAAgB,CAAC;AAC1B,KAAK,IAAI,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAOxC,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,IAAI,sBAQ7B,CAAC;AAInB,eAAO,MAAM,uBAAuB,yBAC8B,CAAC;AAEnE,UAAU,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC7D,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACpD;AACD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EACnE,QAAQ,CAAC,EACT,OAAO,MAAM,EACb,0EAQG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,KACjB,cAwBK,CAAC;AAET,QAAA,MAAM,kBAAkB,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,CACH,CAAC;AAEvC,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IACvE,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACxC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,uGAWtE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,sBAqCZ,CAAC;AAET,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,aAE5E;IACF,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACrB,WAGA,CAAC"}
|
package/dist/render/items.js
CHANGED
|
@@ -11,9 +11,14 @@ const mkDefaults = (defaults) => {
|
|
|
11
11
|
const newly = { ...defaults };
|
|
12
12
|
return Object.assign(newly, { [key]: newly });
|
|
13
13
|
};
|
|
14
|
-
export const renderRemove = (remove) => html `<button
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export const renderRemove = (remove) => html `<cosmoz-button
|
|
15
|
+
variant="destructive"
|
|
16
|
+
size="sm"
|
|
17
|
+
?disabled=${!remove}
|
|
18
|
+
@click=${remove}
|
|
19
|
+
>
|
|
20
|
+
${xCloseIcon()}
|
|
21
|
+
</cosmoz-button>`;
|
|
17
22
|
// An empty cell the size of the remove button, used to keep the columns
|
|
18
23
|
// aligned in rows that have no remove button (the header and the add row).
|
|
19
24
|
export const renderRemovePlaceholder = () => html `<span class="remove-placeholder" aria-hidden="true"></span>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/render/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/render/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,QAoDlB,CAAC"}
|