@functionalcms/svelte-components 2.3.1 → 2.3.3

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.
@@ -1,22 +1,22 @@
1
- <style>
2
- a {
3
- display: var(--functional-logo-display, 'inline-block');
4
- }
5
- a img {
6
- width: 80vw;
7
- }
8
-
9
- @media (min-width: 960px) {
10
- a img {
11
- width: 100%;
12
- }
13
- }
14
- </style>
15
-
1
+ <style>
2
+ a {
3
+ display: var(--functional-logo-display, 'inline-block');
4
+ }
5
+ a img {
6
+ width: 80vw;
7
+ }
8
+
9
+ @media (min-width: 960px) {
10
+ a img {
11
+ width: 100%;
12
+ }
13
+ }
14
+ </style>
15
+
16
16
  <script>export let companyName;
17
17
  export let logoUrl;
18
- </script>
19
-
20
- <a href="/">
21
- <img src={logoUrl} alt={companyName} />
18
+ </script>
19
+
20
+ <a href="/">
21
+ <img src={logoUrl} alt={companyName} />
22
22
  </a>
@@ -1,10 +1,28 @@
1
+ <style>
2
+ :global(html),
3
+ :global(body),
4
+ :global(body > div#) {
5
+ height: 100%;
6
+ }
7
+ :global(body > div) {
8
+ display: flex;
9
+ flex-direction: column;
10
+ }
11
+ :global(body > footer) {
12
+ flex-shrink: 0;
13
+ }
14
+ div {
15
+ flex: 1 0 auto;
16
+ }
17
+ footer {
18
+ flex-shrink: 0;
19
+ }
20
+ </style>
21
+
1
22
  <script>import { page } from "$app/stores";
2
- import { title } from "../stores/title";
3
- import { meta } from "../stores/meta";
4
- export let follow = true;
5
- export let index = true;
6
- $:
7
- robots = `${follow ? "follow" : "nofollow"}${index ? "index" : "noindex"}`;
23
+ import { title, suffix } from "../../stores/title";
24
+ import { metaDescription, metaKeywords } from "../../stores/meta";
25
+ export let robots = "index, follow";
8
26
  </script>
9
27
 
10
28
  <svelte:head>
@@ -12,18 +30,17 @@ $:
12
30
  data-goatcounter="https://tracking.functional-cms.com/count"
13
31
  async
14
32
  src="//gc.zgo.at/count.js"></script>
15
-
16
- <title>{$title}</title>
17
- <meta name="og:title" property="og:title" content="{$title}" />
18
- <meta name="twitter:card" content="{$title}" />
19
-
33
+
34
+ <title>{$title}{$suffix}</title>
35
+ <meta name="og:title" property="og:title" content="{$title}{$suffix}" />
36
+ <meta name="twitter:card" content="{$title}{$suffix}" />
37
+
20
38
  <meta name="robots" content={robots} />
21
- <meta name="description" content={meta.description} />
22
- <meta name="keywords" content={meta.keywords} />
39
+ <meta name="description" content={$metaDescription} />
40
+ <meta name="keywords" content={$metaKeywords} />
23
41
  <meta name=”viewport” content="width=device-width, initial-scale=1.0" />
24
42
  </svelte:head>
25
-
26
- <div>
43
+ <div id="layout">
27
44
  {#if $$slots.header}
28
45
  <header>
29
46
  <slot name="header" />
@@ -46,26 +63,5 @@ $:
46
63
  </footer>
47
64
  {/if}
48
65
  <noscript>
49
- <img src="https://tracking.functional-cms.com/count?p=/{$page.url.pathname}}" />
50
- </noscript>
51
-
52
- <style>
53
- :global(html),
54
- :global(body),
55
- :global(body > div) {
56
- height: 100%;
57
- }
58
- :global(body > div) {
59
- display: flex;
60
- flex-direction: column;
61
- }
62
- :global(body > footer) {
63
- flex-shrink: 0;
64
- }
65
- div {
66
- flex: 1 0 auto;
67
- }
68
- footer {
69
- flex-shrink: 0;
70
- }
71
- </style>
66
+ <img src="https://tracking.functional-cms.com/count?p=/{$page.url.pathname}}" alt="" />
67
+ </noscript>
@@ -1,8 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- follow?: boolean | undefined;
5
- index?: boolean | undefined;
4
+ robots?: string | undefined;
6
5
  };
7
6
  events: {
8
7
  [evt: string]: CustomEvent<any>;
@@ -1,4 +1,3 @@
1
-
2
1
  <style>
3
2
  nav > ul {
4
3
  margin: var(--functional-menu-margin, 'auto');
@@ -84,17 +83,17 @@
84
83
 
85
84
  <script>import { Visiblity, HeaderNavigationItem } from "./Menu.js";
86
85
  import { afterNavigate } from "$app/navigation";
87
- import { page } from "$app/stores";
88
- import { pages } from "./../../stores/pages";
86
+ import { pages as pagesStore } from "../../stores/pages.js";
87
+ export let pages = [];
89
88
  export let authentication = false;
90
89
  export let css = "";
91
90
  const selectVisible = (pages2, visiblity) => pages2.filter(
92
- (page2) => page2?.visiblity === Visiblity.Always || page2?.visiblity === visiblity
91
+ (page) => page?.visiblity === Visiblity.Always || page?.visiblity === visiblity
93
92
  );
94
93
  $:
95
94
  visibility = authentication ? Visiblity.Authenticated : Visiblity.NotAuthenticated;
96
95
  $:
97
- visibleNavItems = selectVisible($pages, visibility);
96
+ visibleNavItems = selectVisible($pagesStore, visibility);
98
97
  $:
99
98
  selected = false;
100
99
  afterNavigate((navigation) => selected = false);
@@ -1,6 +1,8 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import { HeaderNavigationItem } from './Menu.js';
2
3
  declare const __propDef: {
3
4
  props: {
5
+ pages?: HeaderNavigationItem[] | undefined;
4
6
  authentication?: boolean | undefined;
5
7
  css?: string | undefined;
6
8
  };
@@ -30,18 +30,18 @@ import { afterNavigate } from "$app/navigation";
30
30
  import { Drawer, Button } from "agnostic-svelte";
31
31
  import { page } from "$app/stores";
32
32
  import { Placement } from "../Styling.js";
33
- import { pages } from "./../../stores/pages";
33
+ import { pages as pagesStore } from "../../stores/pages.js";
34
34
  export let authentication = false;
35
35
  export let css = "";
36
36
  export let noBorder = false;
37
37
  export let placement = Placement.Start;
38
- const selectVisible = (pages2, visiblity) => pages2.filter(
38
+ const selectVisible = (pages, visiblity) => pages.filter(
39
39
  (page2) => page2?.visiblity === Visiblity.Always || page2?.visiblity === visiblity
40
40
  );
41
41
  $:
42
42
  visibility = authentication ? Visiblity.Authenticated : Visiblity.NotAuthenticated;
43
43
  $:
44
- visibleNavItems = selectVisible($pages, visibility);
44
+ visibleNavItems = selectVisible($pagesStore, visibility);
45
45
  let drawer = null;
46
46
  const assignDrawerRef = (ev) => {
47
47
  drawer = ev.detail.instance;
package/dist/index.d.ts CHANGED
@@ -7,9 +7,9 @@ import Logo from './components/Logo.svelte';
7
7
  import SimpleFooter from './components/SimpleFooter.svelte';
8
8
  import Spacer from './components/Spacer.svelte';
9
9
  import Well from './components/Well.svelte';
10
- import { title } from './stores/title.js';
10
+ import { title, suffix } from './stores/title.js';
11
11
  import { pages } from './stores/pages.js';
12
- import { meta } from './stores/meta.js';
12
+ import { metaDescription, metaKeywords } from './stores/meta.js';
13
13
  import { Justify, Placement, Orientation, Position, Sizes } from './components/Styling.js';
14
14
  import { Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts } from 'agnostic-svelte';
15
- export { FlatMenu, HamburgerMenu, Visiblity, HeaderNavigationItem, Banner, DefaultLayout, Logo, SimpleFooter, Spacer, Well, Justify, Placement, Orientation, Position, Sizes, title, pages, meta, Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts };
15
+ export { FlatMenu, HamburgerMenu, Visiblity, HeaderNavigationItem, Banner, DefaultLayout, Logo, SimpleFooter, Spacer, Well, Justify, Placement, Orientation, Position, Sizes, title, suffix, pages, metaDescription, metaKeywords, Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts };
package/dist/index.js CHANGED
@@ -8,9 +8,9 @@ import Logo from './components/Logo.svelte';
8
8
  import SimpleFooter from './components/SimpleFooter.svelte';
9
9
  import Spacer from './components/Spacer.svelte';
10
10
  import Well from './components/Well.svelte';
11
- import { title } from './stores/title.js';
11
+ import { title, suffix } from './stores/title.js';
12
12
  import { pages } from './stores/pages.js';
13
- import { meta } from './stores/meta.js';
13
+ import { metaDescription, metaKeywords } from './stores/meta.js';
14
14
  import { Justify, Placement, Orientation, Position, Sizes } from './components/Styling.js';
15
15
  import { Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts } from 'agnostic-svelte';
16
- export { FlatMenu, HamburgerMenu, Visiblity, HeaderNavigationItem, Banner, DefaultLayout, Logo, SimpleFooter, Spacer, Well, Justify, Placement, Orientation, Position, Sizes, title, pages, meta, Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts };
16
+ export { FlatMenu, HamburgerMenu, Visiblity, HeaderNavigationItem, Banner, DefaultLayout, Logo, SimpleFooter, Spacer, Well, Justify, Placement, Orientation, Position, Sizes, title, suffix, pages, metaDescription, metaKeywords, Alert, Avatar, AvatarGroup, Breadcrumb, Button, ButtonGroup, Card, ChoiceInput, Close, Dialog, Disclose, Divider, Drawer, EmptyState, Header, HeaderNav, HeaderNavItem, Icon, IconSvg, Input, InputAddonItem, Loader, Menu, MenuItem, Pagination, Progress, Select, Spinner, Switch, Table, Tabs, Tag, Toast, Toasts };
@@ -1,8 +1,4 @@
1
1
  /// <reference types="svelte" />
2
2
  import { type Writable } from 'svelte/store';
3
- export declare const meta: {
4
- description: Writable<string>;
5
- keywords: Writable<string>;
6
- setDescription: (descriptionText: string) => void;
7
- setKeywords: (keywordsText: string) => void;
8
- };
3
+ export declare const metaDescription: Writable<string>;
4
+ export declare const metaKeywords: Writable<string>;
@@ -1,12 +1,3 @@
1
1
  import { get, writable } from 'svelte/store';
2
- function createMeta() {
3
- const description = writable("");
4
- const keywords = writable("");
5
- return {
6
- description,
7
- keywords,
8
- setDescription: (descriptionText) => description.set(descriptionText),
9
- setKeywords: (keywordsText) => description.set(keywordsText),
10
- };
11
- }
12
- export const meta = createMeta();
2
+ export const metaDescription = writable("");
3
+ export const metaKeywords = writable("");
@@ -1,6 +1,4 @@
1
1
  /// <reference types="svelte" />
2
- import { HeaderNavigationItem } from "@functionalcms/svelte-components";
3
- export declare const pages: {
4
- subscribe: (this: void, run: import("svelte/store").Subscriber<HeaderNavigationItem[]>, invalidate?: import("svelte/store").Invalidator<HeaderNavigationItem[]> | undefined) => import("svelte/store").Unsubscriber;
5
- initialise: (pages: Array<HeaderNavigationItem>) => void;
6
- };
2
+ import { type Writable } from 'svelte/store';
3
+ import { HeaderNavigationItem } from "../components/menu/Menu.js";
4
+ export declare const pages: Writable<HeaderNavigationItem[]>;
@@ -1,10 +1,7 @@
1
1
  import { writable } from 'svelte/store';
2
- import { HeaderNavigationItem } from "@functionalcms/svelte-components";
2
+ import { HeaderNavigationItem } from "../components/menu/Menu.js";
3
3
  function createPages() {
4
- const { subscribe, set } = writable(new Array());
5
- return {
6
- subscribe,
7
- initialise: (pages) => set(pages)
8
- };
4
+ const pages = writable(new Array());
5
+ return pages;
9
6
  }
10
7
  export const pages = createPages();
@@ -1,6 +1,3 @@
1
1
  /// <reference types="svelte" />
2
- export declare const title: {
3
- subscribe: (this: void, run: import("svelte/store").Subscriber<string>, invalidate?: import("svelte/store").Invalidator<string> | undefined) => import("svelte/store").Unsubscriber;
4
- setTitleSuffix: (suffix: string) => void;
5
- setTitle: (title: string) => void;
6
- };
2
+ export declare const title: import("svelte/store").Writable<string>;
3
+ export declare const suffix: import("svelte/store").Writable<string>;
@@ -1,11 +1,11 @@
1
1
  import { get, writable } from 'svelte/store';
2
2
  function createTitle() {
3
- const { subscribe, set } = writable("");
4
- const titleSuffix = writable("");
5
- return {
6
- subscribe,
7
- setTitleSuffix: (suffix) => titleSuffix.set(suffix),
8
- setTitle: (title) => set(`${title}${get(titleSuffix)}`)
9
- };
3
+ const title = writable("");
4
+ return title;
10
5
  }
11
6
  export const title = createTitle();
7
+ function createSuffix() {
8
+ const suffix = writable("");
9
+ return suffix;
10
+ }
11
+ export const suffix = createSuffix();
package/package.json CHANGED
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "name": "@functionalcms/svelte-components",
3
- "version": "2.3.1",
3
+ "version": "2.3.3",
4
+ "watch": {
5
+ "build": {
6
+ "patterns": ["src"],
7
+ "extensions": "ts,svelte",
8
+ "legacyWatch": true
9
+ }
10
+ },
4
11
  "scripts": {
5
12
  "dev": "vite dev",
6
13
  "build-css": "sass ./src/lib/css/properties.scss ./css/functional.css",
@@ -9,7 +16,8 @@
9
16
  "package": "npm run build-css && svelte-kit sync && svelte-package && publint",
10
17
  "prepublishOnly": "npm run package",
11
18
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
12
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
19
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
20
+ "watch": "npm-watch build"
13
21
  },
14
22
  "exports": {
15
23
  ".": {
@@ -36,6 +44,7 @@
36
44
  "@sveltejs/package": "^2.2.5",
37
45
  "@sveltejs/vite-plugin-svelte": "^3.0.1",
38
46
  "agnostic-svelte": "^1.1.27",
47
+ "npm-watch": "^0.11.0",
39
48
  "publint": "^0.2.7",
40
49
  "sass": "^1.69.7",
41
50
  "svelte": "^4.2.8",