sveltacular 0.0.27 → 0.0.29

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 (35) hide show
  1. package/dist/forms/form-footer.svelte +11 -3
  2. package/dist/forms/form-header.svelte +10 -4
  3. package/dist/forms/form-header.svelte.d.ts +6 -3
  4. package/dist/forms/form-label.svelte +1 -1
  5. package/dist/forms/form-label.svelte.d.ts +1 -1
  6. package/dist/forms/form-section.svelte +17 -0
  7. package/dist/forms/form-section.svelte.d.ts +20 -0
  8. package/dist/forms/form.svelte +9 -4
  9. package/dist/forms/form.svelte.d.ts +3 -1
  10. package/dist/forms/info-box/info-box.svelte +25 -0
  11. package/dist/forms/info-box/info-box.svelte.d.ts +20 -0
  12. package/dist/forms/list-box/list-box.svelte +1 -1
  13. package/dist/generic/divider/divider.svelte +1 -2
  14. package/dist/generic/header/header.svelte +7 -5
  15. package/dist/generic/header/header.svelte.d.ts +3 -2
  16. package/dist/generic/panel/panel.svelte +1 -1
  17. package/dist/generic/panel/panel.svelte.d.ts +1 -1
  18. package/dist/generic/section/section.svelte +13 -2
  19. package/dist/generic/section/section.svelte.d.ts +8 -15
  20. package/dist/index.d.ts +3 -1
  21. package/dist/index.js +3 -1
  22. package/dist/modals/alert.svelte +6 -1
  23. package/dist/modals/alert.svelte.d.ts +2 -0
  24. package/dist/modals/confirm.svelte +2 -2
  25. package/dist/modals/dialog-window.svelte +4 -1
  26. package/dist/modals/modal.svelte +6 -1
  27. package/dist/modals/modal.svelte.d.ts +2 -0
  28. package/dist/tables/data-grid.svelte +10 -5
  29. package/dist/tables/data-grid.svelte.d.ts +1 -1
  30. package/dist/types/generic.d.ts +1 -0
  31. package/dist/types/generic.js +1 -0
  32. package/dist/typography/headline.svelte.d.ts +20 -0
  33. package/package.json +1 -1
  34. package/dist/typography/heading.svelte.d.ts +0 -19
  35. /package/dist/typography/{heading.svelte → headline.svelte} +0 -0
@@ -2,6 +2,14 @@
2
2
  import FlexRow from '../layout/flex-row.svelte';
3
3
  </script>
4
4
 
5
- <FlexRow layout="stretch">
6
- <slot />
7
- </FlexRow>
5
+ <div>
6
+ <FlexRow layout="stretch">
7
+ <slot />
8
+ </FlexRow>
9
+ </div>
10
+
11
+ <style>
12
+ div {
13
+ margin-top: 1.5rem;
14
+ }
15
+ </style>
@@ -1,12 +1,18 @@
1
- <script>import Heading from "../typography/heading.svelte";
2
- export let title;
1
+ <script>import Headline from "../typography/headline.svelte";
3
2
  export let level = 4;
3
+ export let underline = true;
4
4
  </script>
5
5
 
6
- <div>
7
- <Heading {level}>{title}</Heading>
6
+ <div class:underline>
7
+ <Headline {level}>
8
+ <slot />
9
+ </Headline>
8
10
  </div>
9
11
 
10
12
  <style>div {
11
13
  margin-bottom: 1rem;
14
+ }
15
+ div.underline {
16
+ padding-bottom: 0.5rem;
17
+ border-bottom: solid 1px var(--divider-color, rgba(127, 127, 127, 0.5));
12
18
  }</style>
@@ -1,13 +1,16 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { SectionLevel } from '../types/generic.js';
2
3
  declare const __propDef: {
3
4
  props: {
4
- title: string;
5
- level?: 1 | 2 | 3 | 4 | 5 | 6 | undefined;
5
+ level?: SectionLevel | undefined;
6
+ underline?: boolean | undefined;
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
9
10
  };
10
- slots: {};
11
+ slots: {
12
+ default: {};
13
+ };
11
14
  };
12
15
  export type FormHeaderProps = typeof __propDef.props;
13
16
  export type FormHeaderEvents = typeof __propDef.events;
@@ -1,4 +1,4 @@
1
- <script>export let id;
1
+ <script>export let id = void 0;
2
2
  export let required = false;
3
3
  </script>
4
4
 
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- id: string;
4
+ id?: string | undefined;
5
5
  required?: boolean | undefined;
6
6
  };
7
7
  events: {
@@ -0,0 +1,17 @@
1
+ <script>import FormHeader from "./form-header.svelte";
2
+ export let title = void 0;
3
+ export let level = 4;
4
+ </script>
5
+
6
+ <section>
7
+ {#if title}
8
+ <FormHeader {level}>{title}</FormHeader>
9
+ {/if}
10
+ <slot />
11
+ </section>
12
+
13
+ <style>
14
+ section {
15
+ margin-bottom: 1rem;
16
+ }
17
+ </style>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { SectionLevel } from '../types/generic.js';
3
+ declare const __propDef: {
4
+ props: {
5
+ title?: string | undefined;
6
+ level?: SectionLevel | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {};
13
+ };
14
+ };
15
+ export type FormSectionProps = typeof __propDef.props;
16
+ export type FormSectionEvents = typeof __propDef.events;
17
+ export type FormSectionSlots = typeof __propDef.slots;
18
+ export default class FormSection extends SvelteComponent<FormSectionProps, FormSectionEvents, FormSectionSlots> {
19
+ }
20
+ export {};
@@ -1,5 +1,8 @@
1
1
  <script>import { createEventDispatcher } from "svelte";
2
- export let action = "get";
2
+ import Section from "../generic/section/section.svelte";
3
+ export let method = "get";
4
+ export let title = void 0;
5
+ export let action = void 0;
3
6
  const dispatch = createEventDispatcher();
4
7
  const onSubmit = (e) => {
5
8
  e.preventDefault();
@@ -7,6 +10,8 @@ const onSubmit = (e) => {
7
10
  };
8
11
  </script>
9
12
 
10
- <form {action} on:submit={onSubmit}>
11
- <slot />
12
- </form>
13
+ <Section {title}>
14
+ <form {method} {action} on:submit={onSubmit}>
15
+ <slot />
16
+ </form>
17
+ </Section>
@@ -1,7 +1,9 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- action?: "get" | "post" | "put" | "delete" | undefined;
4
+ method?: "get" | "post" | "put" | "delete" | undefined;
5
+ title?: string | undefined;
6
+ action?: string | undefined;
5
7
  };
6
8
  events: {
7
9
  submit: CustomEvent<void>;
@@ -0,0 +1,25 @@
1
+ <script>import FormField from "../form-field.svelte";
2
+ import FormLabel from "../form-label.svelte";
3
+ export let size = "md";
4
+ export let value;
5
+ </script>
6
+
7
+ <FormField {size}>
8
+ {#if $$slots.default}
9
+ <FormLabel><slot /></FormLabel>
10
+ {/if}
11
+ <div class="input">
12
+ {value}
13
+ </div>
14
+ </FormField>
15
+
16
+ <style>
17
+ .input {
18
+ background-color: transparent;
19
+ line-height: 2rem;
20
+ font-size: 1rem;
21
+ width: 100%;
22
+ padding-left: 1rem;
23
+ border-bottom: solid 1px var(--form-input-border, black);
24
+ }
25
+ </style>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { FormFieldSizeOptions } from '../../index.js';
3
+ declare const __propDef: {
4
+ props: {
5
+ size?: FormFieldSizeOptions | undefined;
6
+ value: string;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {};
13
+ };
14
+ };
15
+ export type InfoBoxProps = typeof __propDef.props;
16
+ export type InfoBoxEvents = typeof __propDef.events;
17
+ export type InfoBoxSlots = typeof __propDef.slots;
18
+ export default class InfoBox extends SvelteComponent<InfoBoxProps, InfoBoxEvents, InfoBoxSlots> {
19
+ }
20
+ export {};
@@ -113,7 +113,7 @@ triggerSearch();
113
113
  <button type="button" class="icon" on:click={clickArrow} on:keydown={clickArrow}>
114
114
  <AngleUpIcon />
115
115
  </button>
116
- {#if text}
116
+ {#if text && searchable}
117
117
  <button type="button" class="clear" on:click={clear} on:keydown={clear}> X </button>
118
118
  {/if}
119
119
  <div class="dropdown">
@@ -3,8 +3,7 @@
3
3
  <style>hr {
4
4
  border: 0;
5
5
  height: 0.1rem;
6
- background: #333;
7
- background-image: linear-gradient(to right, #ccc, #333, #ccc);
6
+ background: var(--divider-color, rgba(127, 127, 127, 0.5));
8
7
  margin-top: 0.5rem;
9
8
  margin-bottom: 0.5rem;
10
9
  }</style>
@@ -1,16 +1,18 @@
1
1
  <script>import FlexRow from "../../layout/flex-row.svelte";
2
- import Heading from "../../typography/heading.svelte";
2
+ import Headline from "../../typography/headline.svelte";
3
3
  import Subtitle from "../../typography/subtitle.svelte";
4
- export let level = 1;
5
- export let title;
4
+ import { getContext } from "svelte";
5
+ const section = getContext("section");
6
+ export let level = section?.level || 2;
7
+ export let title = section?.title || "";
6
8
  export let subtitle = "";
7
9
  export let underline = false;
8
10
  </script>
9
11
 
10
- <header class:underline>
12
+ <header class:underline data-level={level}>
11
13
  <FlexRow>
12
14
  <hgroup>
13
- <Heading {level}>{title}</Heading>
15
+ <Headline {level}>{title}</Headline>
14
16
  {#if subtitle}
15
17
  <Subtitle {level}>{subtitle}</Subtitle>
16
18
  {/if}
@@ -1,8 +1,9 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { SectionLevel } from '../../types/generic.js';
2
3
  declare const __propDef: {
3
4
  props: {
4
- level?: 1 | 2 | 3 | 4 | 5 | 6 | undefined;
5
- title: string;
5
+ level?: SectionLevel | undefined;
6
+ title?: string | undefined;
6
7
  subtitle?: string | undefined;
7
8
  underline?: boolean | undefined;
8
9
  };
@@ -1,4 +1,4 @@
1
- <script>export let title;
1
+ <script>export let title = void 0;
2
2
  export let border = true;
3
3
  </script>
4
4
 
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- title: string;
4
+ title?: string | undefined;
5
5
  border?: boolean | undefined;
6
6
  };
7
7
  events: {
@@ -1,9 +1,20 @@
1
- <section>
1
+ <script>import { setContext } from "svelte";
2
+ import Header from "../header/header.svelte";
3
+ export let title = void 0;
4
+ export let level = 2;
5
+ setContext("section", { level, title });
6
+ </script>
7
+
8
+ <section class="level-{level}">
9
+ {#if title}
10
+ <Header />
11
+ {/if}
2
12
  <slot />
3
13
  </section>
4
14
 
5
15
  <style>section {
6
16
  padding: 0;
7
- margin: 1rem 1rem;
17
+ margin-top: 1rem;
18
+ margin-bottom: 1rem;
8
19
  font-family: var(--base-font-family, sans-serif);
9
20
  }</style>
@@ -1,21 +1,9 @@
1
- /** @typedef {typeof __propDef.props} SectionProps */
2
- /** @typedef {typeof __propDef.events} SectionEvents */
3
- /** @typedef {typeof __propDef.slots} SectionSlots */
4
- export default class Section extends SvelteComponent<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
11
- }
12
- export type SectionProps = typeof __propDef.props;
13
- export type SectionEvents = typeof __propDef.events;
14
- export type SectionSlots = typeof __propDef.slots;
15
1
  import { SvelteComponent } from "svelte";
2
+ import type { SectionLevel } from '../../types/generic.js';
16
3
  declare const __propDef: {
17
4
  props: {
18
- [x: string]: never;
5
+ title?: string | undefined;
6
+ level?: SectionLevel | undefined;
19
7
  };
20
8
  events: {
21
9
  [evt: string]: CustomEvent<any>;
@@ -24,4 +12,9 @@ declare const __propDef: {
24
12
  default: {};
25
13
  };
26
14
  };
15
+ export type SectionProps = typeof __propDef.props;
16
+ export type SectionEvents = typeof __propDef.events;
17
+ export type SectionSlots = typeof __propDef.slots;
18
+ export default class Section extends SvelteComponent<SectionProps, SectionEvents, SectionSlots> {
19
+ }
27
20
  export {};
package/dist/index.d.ts CHANGED
@@ -16,6 +16,8 @@ export { default as FormLabel } from './forms/form-label.svelte';
16
16
  export { default as Form } from './forms/form.svelte';
17
17
  export { default as FormHeader } from './forms/form-header.svelte';
18
18
  export { default as FormFooter } from './forms/form-footer.svelte';
19
+ export { default as FormSection } from './forms/form-section.svelte';
20
+ export { default as InfoBox } from './forms/info-box/info-box.svelte';
19
21
  export { default as Card } from './generic/card/card.svelte';
20
22
  export { default as Divider } from './generic/divider/divider.svelte';
21
23
  export { default as Link } from './generic/link/link.svelte';
@@ -62,7 +64,7 @@ export { default as TableFooter } from './tables/table-footer.svelte';
62
64
  export { default as TableFooterCell } from './tables/table-footer-cell.svelte';
63
65
  export { default as TableFooterRow } from './tables/table-footer-row.svelte';
64
66
  export { default as TableRow } from './tables/table-row.svelte';
65
- export { default as Heading } from './typography/heading.svelte';
67
+ export { default as Headline } from './typography/headline.svelte';
66
68
  export { default as Subtitle } from './typography/subtitle.svelte';
67
69
  export { default as Text } from './typography/text.svelte';
68
70
  export { default as CodeBlock } from './typography/code-block.svelte';
package/dist/index.js CHANGED
@@ -17,6 +17,8 @@ export { default as FormLabel } from './forms/form-label.svelte';
17
17
  export { default as Form } from './forms/form.svelte';
18
18
  export { default as FormHeader } from './forms/form-header.svelte';
19
19
  export { default as FormFooter } from './forms/form-footer.svelte';
20
+ export { default as FormSection } from './forms/form-section.svelte';
21
+ export { default as InfoBox } from './forms/info-box/info-box.svelte';
20
22
  // Generic
21
23
  export { default as Card } from './generic/card/card.svelte';
22
24
  export { default as Divider } from './generic/divider/divider.svelte';
@@ -69,7 +71,7 @@ export { default as TableFooterCell } from './tables/table-footer-cell.svelte';
69
71
  export { default as TableFooterRow } from './tables/table-footer-row.svelte';
70
72
  export { default as TableRow } from './tables/table-row.svelte';
71
73
  // Typography
72
- export { default as Heading } from './typography/heading.svelte';
74
+ export { default as Headline } from './typography/headline.svelte';
73
75
  export { default as Subtitle } from './typography/subtitle.svelte';
74
76
  export { default as Text } from './typography/text.svelte';
75
77
  export { default as CodeBlock } from './typography/code-block.svelte';
@@ -6,12 +6,17 @@ import Divider from "../generic/divider/divider.svelte";
6
6
  import Overlay from "../generic/overlay.svelte";
7
7
  import Button from "../forms/button/button.svelte";
8
8
  import DialogCloseButton from "./dialog-close-button.svelte";
9
+ import { createEventDispatcher } from "svelte";
10
+ const dispatch = createEventDispatcher();
9
11
  export let open = false;
10
12
  export let title = void 0;
11
13
  export let size = "md";
12
14
  export let buttonText = "OK";
13
15
  export let showCloseButton = true;
14
- const close = () => open = false;
16
+ const close = () => {
17
+ dispatch("close");
18
+ open = false;
19
+ };
15
20
  </script>
16
21
 
17
22
  {#if open}
@@ -9,6 +9,8 @@ declare const __propDef: {
9
9
  showCloseButton?: boolean | undefined;
10
10
  };
11
11
  events: {
12
+ close: CustomEvent<void>;
13
+ } & {
12
14
  [evt: string]: CustomEvent<any>;
13
15
  };
14
16
  slots: {
@@ -15,12 +15,12 @@ export let noText = "No";
15
15
  export let showCloseButton = true;
16
16
  const dispatch = createEventDispatcher();
17
17
  const no = () => {
18
- open = false;
19
18
  dispatch("no");
19
+ open = false;
20
20
  };
21
21
  const yes = () => {
22
- open = false;
23
22
  dispatch("yes");
23
+ open = false;
24
24
  };
25
25
  </script>
26
26
 
@@ -1,7 +1,10 @@
1
1
  <script>export let size = "md";
2
+ const captureClick = (e) => {
3
+ e.stopPropagation();
4
+ };
2
5
  </script>
3
6
 
4
- <div class={size}>
7
+ <div class={size} on:click={captureClick}>
5
8
  <slot />
6
9
  </div>
7
10
 
@@ -2,10 +2,15 @@
2
2
  import Dialog from "./dialog-window.svelte";
3
3
  import Overlay from "../generic/overlay.svelte";
4
4
  import DialogCloseButton from "./dialog-close-button.svelte";
5
+ import { createEventDispatcher } from "svelte";
6
+ const dispatch = createEventDispatcher();
5
7
  export let open = false;
6
8
  export let size = "md";
7
9
  export let showCloseButton = true;
8
- const close = () => open = false;
10
+ const close = () => {
11
+ dispatch("close");
12
+ open = false;
13
+ };
9
14
  </script>
10
15
 
11
16
  {#if open}
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  showCloseButton?: boolean | undefined;
8
8
  };
9
9
  events: {
10
+ close: CustomEvent<void>;
11
+ } & {
10
12
  [evt: string]: CustomEvent<any>;
11
13
  };
12
14
  slots: {
@@ -8,10 +8,11 @@ import TableHeaderRow from "./table-header-row.svelte";
8
8
  import TableHeader from "./table-header.svelte";
9
9
  import TableRow from "./table-row.svelte";
10
10
  import Table from "./table.svelte";
11
+ import Loading from "../placeholders/loading.svelte";
11
12
  import Text from "../typography/text.svelte";
12
13
  import TableCaption from "./table-caption.svelte";
13
14
  export let caption = "";
14
- export let rows;
15
+ export let rows = void 0;
15
16
  export let cols;
16
17
  export let pagination = void 0;
17
18
  export let editRow = void 0;
@@ -19,7 +20,7 @@ export let deleteRow = void 0;
19
20
  const getColType = (col) => {
20
21
  if (col.type)
21
22
  return col.type;
22
- if (rows.length === 0)
23
+ if (!rows?.length)
23
24
  return "string";
24
25
  return typeof rows[0][col.key];
25
26
  };
@@ -44,7 +45,7 @@ $:
44
45
  $:
45
46
  colCount = Math.max(1, cols.filter((col) => !col.hide).length) + (hasActionRow ? 1 : 0);
46
47
  $:
47
- totalPages = pagination ? Math.ceil((pagination.total || rows.length) / pagination.perPage) : 1;
48
+ totalPages = pagination && rows ? Math.ceil((pagination.total || rows.length) / pagination.perPage) : 1;
48
49
  </script>
49
50
 
50
51
  <Table>
@@ -64,11 +65,15 @@ $:
64
65
  </TableHeaderRow>
65
66
  </TableHeader>
66
67
  <TableBody>
67
- {#if rows.length == 0}
68
+ {#if !rows?.length}
68
69
  <TableRow>
69
70
  <TableCell colspan={colCount}>
70
71
  <div class="empty">
71
- <Text>No data</Text>
72
+ {#if rows === undefined}
73
+ <Loading />
74
+ {:else}
75
+ <Text>No data</Text>
76
+ {/if}
72
77
  </div>
73
78
  </TableCell>
74
79
  </TableRow>
@@ -3,7 +3,7 @@ import type { DataCol, DataRow, Pagination } from '../types/data.js';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  caption?: string | undefined;
6
- rows: DataRow[];
6
+ rows?: DataRow[] | undefined;
7
7
  cols: DataCol[];
8
8
  pagination?: Pagination | undefined;
9
9
  editRow?: ((row: DataRow) => unknown) | undefined;
@@ -0,0 +1 @@
1
+ export type SectionLevel = 1 | 2 | 3 | 4 | 5 | 6;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { SectionLevel } from '../types/generic.js';
3
+ declare const __propDef: {
4
+ props: {
5
+ transform?: "none" | "uppercase" | "lowercase" | "capitalize" | undefined;
6
+ level?: SectionLevel | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {};
13
+ };
14
+ };
15
+ export type HeadlineProps = typeof __propDef.props;
16
+ export type HeadlineEvents = typeof __propDef.events;
17
+ export type HeadlineSlots = typeof __propDef.slots;
18
+ export default class Headline extends SvelteComponent<HeadlineProps, HeadlineEvents, HeadlineSlots> {
19
+ }
20
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveltacular",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "scripts": {
5
5
  "watch": "npm run dev -- --open",
6
6
  "dev": "vite dev",
@@ -1,19 +0,0 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- transform?: "none" | "uppercase" | "lowercase" | "capitalize" | undefined;
5
- level?: 1 | 2 | 3 | 4 | 5 | 6 | undefined;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
13
- };
14
- export type HeadingProps = typeof __propDef.props;
15
- export type HeadingEvents = typeof __propDef.events;
16
- export type HeadingSlots = typeof __propDef.slots;
17
- export default class Heading extends SvelteComponent<HeadingProps, HeadingEvents, HeadingSlots> {
18
- }
19
- export {};