@likable-hair/svelte 0.0.30 → 0.0.33

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,8 +1,9 @@
1
- <script >export let type = 'default', icon = undefined, iconSize = 15, clazz = '', maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = undefined, height = undefined, textAlign = "center", cursor = "pointer", padding = "5px", fontSize = undefined, color = undefined, backgroundColor = undefined, hoverBackgroundColor = '#88888847', borderRadius = undefined, boxShadow = undefined;
1
+ <script >export let type = 'default', loading = false, icon = undefined, iconSize = 15, clazz = '', maxWidth = undefined, maxHeight = undefined, minWidth = undefined, minHeight = undefined, width = undefined, height = undefined, textAlign = "center", cursor = "pointer", padding = "5px", fontSize = undefined, color = undefined, backgroundColor = undefined, hoverBackgroundColor = '#88888847', borderRadius = undefined, boxShadow = undefined;
2
2
  export { clazz as class };
3
3
  $: defaultBorderRadius = type == 'icon' ? '50%' : '5px';
4
4
  $: position = !!$$slots.append ? 'relative' : undefined;
5
5
  import Icon from '../media/Icon.svelte';
6
+ import CircularLoader from '../loaders/CircularLoader.svelte';
6
7
  </script>
7
8
 
8
9
  <div
@@ -30,17 +31,24 @@ import Icon from '../media/Icon.svelte';
30
31
  class:button-icon={type === 'icon'}
31
32
  on:click
32
33
  >
33
- {#if !!icon}
34
- <Icon name={icon} size={iconSize}></Icon>
34
+ {#if loading}
35
+ <CircularLoader
36
+ color={color}
37
+ ></CircularLoader>
35
38
  {:else}
36
- <slot></slot>
37
- {/if}
38
- {#if $$slots.append}
39
- <span class="append-item">
40
- <slot name="append">
41
- </slot>
42
- </span>
39
+ {#if !!icon}
40
+ <Icon name={icon} size={iconSize}></Icon>
41
+ {:else}
42
+ <slot></slot>
43
+ {/if}
44
+ {#if $$slots.append}
45
+ <span class="append-item">
46
+ <slot name="append">
47
+ </slot>
48
+ </span>
49
+ {/if}
43
50
  {/if}
51
+
44
52
  </div>
45
53
 
46
54
  <style>
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  type?: 'default' | 'text' | 'icon';
5
+ loading?: boolean;
5
6
  icon?: string;
6
7
  iconSize?: number;
7
8
  class?: string;
@@ -21,6 +21,7 @@
21
21
  style:box-shadow={boxShadow}
22
22
  style:display="flex"
23
23
  style:flex-direction="column"
24
+ on:click
24
25
  class:border-solid={outlined}
25
26
  >
26
27
  <div
@@ -21,6 +21,8 @@ declare const __propDef: {
21
21
  boxShadow?: string;
22
22
  };
23
23
  events: {
24
+ click: MouseEvent;
25
+ } & {
24
26
  [evt: string]: CustomEvent<any>;
25
27
  };
26
28
  slots: {
package/dates/utils.d.ts CHANGED
@@ -9,6 +9,6 @@ export declare type MonthStats = {
9
9
  days: number;
10
10
  };
11
11
  export declare const getDateRows: (monthIndex: number, year: number) => number[];
12
- declare type dateFormat = 'extended';
12
+ declare type dateFormat = 'extended' | 'extendedMonthAndYear';
13
13
  export declare const dateToString: (date: Date, format?: dateFormat) => string;
14
14
  export {};
package/dates/utils.js CHANGED
@@ -57,13 +57,22 @@ export const getDateRows = (monthIndex, year) => {
57
57
  }
58
58
  return rows.filter(el => !Array.isArray(el));
59
59
  };
60
+ const dateToExtendedString = (date) => {
61
+ const day = date.getDate();
62
+ const month = getMonthName(date.getMonth());
63
+ const year = date.getFullYear();
64
+ return `${day} ${month} ${year}`;
65
+ };
66
+ const dateToExtendedMonthAndYearString = (date) => {
67
+ const month = getMonthName(date.getMonth());
68
+ const year = date.getFullYear();
69
+ return `${month} ${year}`;
70
+ };
60
71
  export const dateToString = (date, format = 'extended') => {
61
- let stringDate = "";
62
72
  if (format == 'extended') {
63
- const day = date.getDate();
64
- const month = getMonthName(date.getMonth());
65
- const year = date.getFullYear();
66
- stringDate = `${day} ${month} ${year}`;
73
+ return dateToExtendedString(date);
74
+ }
75
+ else if (format == 'extendedMonthAndYear') {
76
+ return dateToExtendedMonthAndYearString(date);
67
77
  }
68
- return stringDate;
69
78
  };
package/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { default as MediaQuery } from './common/MediaQuery.svelte';
6
6
  export { default as Dialog } from './dialogs/Dialog.svelte';
7
7
  export { default as TextField } from './forms/Textfield.svelte';
8
8
  export { default as Skeleton } from './loaders/Skeleton.svelte';
9
+ export { default as CircularLoader } from './loaders/CircularLoader.svelte';
9
10
  export { default as AttachmentDownloader } from './media/AttachmentDownloader.svelte';
10
11
  export { default as Avatar } from './media/Avatar.svelte';
11
12
  export { default as Carousel } from './media/Carousel.svelte';
package/index.js CHANGED
@@ -11,6 +11,7 @@ export { default as Dialog } from './dialogs/Dialog.svelte';
11
11
  export { default as TextField } from './forms/Textfield.svelte';
12
12
  // loaders
13
13
  export { default as Skeleton } from './loaders/Skeleton.svelte';
14
+ export { default as CircularLoader } from './loaders/CircularLoader.svelte';
14
15
  // media
15
16
  export { default as AttachmentDownloader } from './media/AttachmentDownloader.svelte';
16
17
  export { default as Avatar } from './media/Avatar.svelte';
@@ -0,0 +1,68 @@
1
+ <script >export let loading = true, height = "30px", width = "30px", color = "black";
2
+ </script>
3
+
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ viewBox="21.904761904761905 21.904761904761905 43.80952380952381 43.80952380952381"
7
+ style:color={color}
8
+ style:height={height}
9
+ style:width={width}
10
+ class:active={loading}
11
+ >
12
+ <circle
13
+ fill="transparent"
14
+ cx="43.80952380952381"
15
+ cy="43.80952380952381"
16
+ r="20"
17
+ stroke-width="3.8095238095238093"
18
+ stroke-dasharray="125.664"
19
+ stroke-dashoffset="125.66370614359172px"
20
+ style:stroke="currentColor"
21
+ class:active={loading}
22
+ ></circle>
23
+ </svg>
24
+
25
+ <style>
26
+ circle.active {
27
+ -webkit-animation: progress-circular-dash 1.4s ease-in-out infinite;
28
+ animation: progress-circular-dash 1.4s ease-in-out infinite;
29
+ stroke-linecap: round;
30
+ stroke-dasharray: 80,200;
31
+ stroke-dashoffset: 0px;
32
+ }
33
+
34
+ svg.active {
35
+ animation: progress-circular-rotate 1.4s linear infinite;
36
+ }
37
+
38
+ @keyframes progress-circular-dash {
39
+ 0% {
40
+ stroke-dasharray:1,200;
41
+ stroke-dashoffset:0px
42
+ }
43
+
44
+ 50% {
45
+ stroke-dasharray:100,200;
46
+ stroke-dashoffset:-15px
47
+ }
48
+
49
+ to {
50
+ stroke-dasharray:100,200;
51
+ stroke-dashoffset:-124px
52
+ }
53
+ }
54
+
55
+ @keyframes progress-circular-rotate {
56
+ 0% {
57
+ transform: rotate(0deg);
58
+ }
59
+
60
+ 50% {
61
+ transform: rotate(180deg);
62
+ }
63
+
64
+ to {
65
+ transform: rotate(360deg);
66
+ }
67
+ }
68
+ </style>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ loading?: boolean;
5
+ height?: string;
6
+ width?: string;
7
+ color?: string;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export declare type CircularLoaderProps = typeof __propDef.props;
15
+ export declare type CircularLoaderEvents = typeof __propDef.events;
16
+ export declare type CircularLoaderSlots = typeof __propDef.slots;
17
+ export default class CircularLoader extends SvelteComponentTyped<CircularLoaderProps, CircularLoaderEvents, CircularLoaderSlots> {
18
+ }
19
+ export {};
@@ -14,7 +14,7 @@ declare const __propDef: {
14
14
  height?: string;
15
15
  };
16
16
  events: {
17
- click: CustomEvent<any>;
17
+ click: MouseEvent;
18
18
  } & {
19
19
  [evt: string]: CustomEvent<any>;
20
20
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@likable-hair/svelte",
3
3
  "description": "A Svelte component for likablehair",
4
- "version": "0.0.30",
4
+ "version": "0.0.33",
5
5
  "devDependencies": {
6
6
  "@sveltejs/adapter-auto": "next",
7
7
  "@sveltejs/kit": "next",
@@ -35,6 +35,7 @@
35
35
  "./dialogs/Dialog.svelte": "./dialogs/Dialog.svelte",
36
36
  "./forms/Textfield.svelte": "./forms/Textfield.svelte",
37
37
  ".": "./index.js",
38
+ "./loaders/CircularLoader.svelte": "./loaders/CircularLoader.svelte",
38
39
  "./loaders/Skeleton.svelte": "./loaders/Skeleton.svelte",
39
40
  "./loaders/sectionType": "./loaders/sectionType.js",
40
41
  "./media/AttachmentDownloader.svelte": "./media/AttachmentDownloader.svelte",
@@ -33,7 +33,7 @@ declare const __propDef: {
33
33
  };
34
34
  times: {
35
35
  item: TimeLineItem;
36
- dateToString: (date: Date, format?: "extended") => string;
36
+ dateToString: (date: Date, format?: "extended" | "extendedMonthAndYear") => string;
37
37
  };
38
38
  infos: {
39
39
  item: TimeLineItem;