@enki-tek/fms-web-components 0.0.89 → 0.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.
Files changed (87) hide show
  1. package/components/Accordion/Accordion.svelte +3 -0
  2. package/components/Accordion/AccordionItem.svelte +3 -0
  3. package/components/Badge/Badge.svelte +3 -0
  4. package/components/Breadcrumb/Breadcrumb.svelte +3 -0
  5. package/components/Button/Button.svelte +3 -0
  6. package/components/CardIcon/CardIcon.svelte +3 -0
  7. package/components/CardIcon/CardiconBody.svelte +3 -0
  8. package/components/CardIcon/CardiconSubtitle.svelte +3 -0
  9. package/components/CardIcon/CardiconTitle.svelte +3 -0
  10. package/components/Charts/Barchart.svelte +74 -0
  11. package/components/Charts/Barchart.svelte.d.ts +23 -0
  12. package/components/Charts/DoughnutChart.svelte +73 -0
  13. package/components/Charts/DoughnutChart.svelte.d.ts +29 -0
  14. package/components/Charts/LineChart.svelte +62 -0
  15. package/components/Charts/LineChart.svelte.d.ts +23 -0
  16. package/components/Charts/PieChart.svelte +75 -0
  17. package/components/Charts/PieChart.svelte.d.ts +29 -0
  18. package/components/CheckBox/Checkbox.svelte +3 -0
  19. package/components/Dropdown/Dropdown.svelte +3 -0
  20. package/components/Dropdown/DropdownItem.svelte +3 -0
  21. package/components/EnkiSidbar/EnkiSidebar.svelte +3 -0
  22. package/components/EnkiSidbar/NavIcon.svelte +3 -0
  23. package/components/EnkiSidbar/NavItem.svelte +3 -0
  24. package/components/EnkiSidbar/NavLink.svelte +3 -0
  25. package/components/Header/Brand.svelte +25 -16
  26. package/components/Header/Header.scss +40 -34
  27. package/components/Header/Header.svelte +26 -20
  28. package/components/Header/Header.svelte.d.ts +6 -2
  29. package/components/Header/HeaderDropDownLink.svelte +11 -0
  30. package/components/Header/HeaderDropDownLink.svelte.d.ts +29 -0
  31. package/components/Header/HeaderDropDownLinkItem.svelte +9 -0
  32. package/components/Header/HeaderDropDownLinkItem.svelte.d.ts +31 -0
  33. package/components/Header/HeaderItem.svelte +9 -0
  34. package/components/Header/HeaderLink.svelte +9 -0
  35. package/components/Header/HeaderLink.svelte.d.ts +31 -0
  36. package/components/Header/HeaderLinks.svelte +9 -0
  37. package/components/Header/HeaderLinks.svelte.d.ts +27 -0
  38. package/components/Header/UserAvatar.svelte +12 -3
  39. package/components/Layout/Content.svelte +9 -0
  40. package/components/Layout/Content.svelte.d.ts +29 -0
  41. package/components/Layout/Footer.svelte +2 -0
  42. package/components/Layout/Layout.svelte +6 -0
  43. package/components/Layout/Layout.svelte.d.ts +27 -0
  44. package/components/Layout/Page.svelte +35 -9
  45. package/components/Layout/Page.svelte.d.ts +6 -2
  46. package/components/Layout/SortableGrid.svelte +28 -0
  47. package/components/Layout/SortableGrid.svelte.d.ts +27 -0
  48. package/components/ModalWindow/Modal.svelte +3 -0
  49. package/components/ModalWindow/ModalBody.svelte +3 -0
  50. package/components/ModalWindow/ModalFooter.svelte +3 -0
  51. package/components/ModalWindow/ModalHeader.svelte +3 -0
  52. package/components/NotFound/NotFound.svelte +3 -0
  53. package/components/Pagination/Pagination.svelte +3 -0
  54. package/components/RadioButton/RadioButton.svelte +3 -0
  55. package/components/Sidebar/MenuGroup.svelte +108 -0
  56. package/components/Sidebar/MenuGroup.svelte.d.ts +29 -0
  57. package/components/Sidebar/MenuItem.svelte +122 -0
  58. package/components/Sidebar/MenuItem.svelte.d.ts +35 -0
  59. package/components/Sidebar/SideBarMenu.svelte +148 -0
  60. package/components/Sidebar/SideBarMenu.svelte.d.ts +27 -0
  61. package/components/Sidebar/Sidebar.scss +29 -0
  62. package/components/Sidebar/Sidebar.svelte +29 -0
  63. package/components/StatusCard/StatusCard.scss +35 -0
  64. package/components/StatusCard/StatusCard.svelte +42 -0
  65. package/components/StatusCard/StatusCard.svelte.d.ts +27 -0
  66. package/components/StatusCard/StatusCardBody.svelte +57 -0
  67. package/components/StatusCard/StatusCardBody.svelte.d.ts +31 -0
  68. package/components/StatusCard/StatusCardTitle.svelte +47 -0
  69. package/components/StatusCard/StatusCardTitle.svelte.d.ts +29 -0
  70. package/components/Switches/Switch.svelte +3 -0
  71. package/components/Tab/Tab.svelte +3 -0
  72. package/components/TextField/TextField.svelte +3 -0
  73. package/components/Toast/Toast.scss +0 -2
  74. package/components/Toast/Toast.svelte +7 -6
  75. package/components/Tooltip/Tooltip.svelte +3 -0
  76. package/components/WidgetCard/Card.scss +108 -0
  77. package/components/WidgetCard/SensorStatusCard.svelte +130 -0
  78. package/components/WidgetCard/SensorStatusCard.svelte.d.ts +27 -0
  79. package/components/WidgetCard/StateCard.svelte +133 -0
  80. package/components/WidgetCard/StateCard.svelte.d.ts +29 -0
  81. package/components/WidgetCard/WidgetCard.svelte +152 -0
  82. package/components/WidgetCard/WidgetCard.svelte.d.ts +35 -0
  83. package/components/WidgetCard/WidgetCardBody.svelte +13 -0
  84. package/components/WidgetCard/WidgetCardBody.svelte.d.ts +27 -0
  85. package/components/common.scss +4 -0
  86. package/components/variable.scss +13 -3
  87. package/package.json +30 -2
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} StatusCardProps */
2
+ /** @typedef {typeof __propDef.events} StatusCardEvents */
3
+ /** @typedef {typeof __propDef.slots} StatusCardSlots */
4
+ export default class StatusCard extends SvelteComponentTyped<{
5
+ className?: string | undefined;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type StatusCardProps = typeof __propDef.props;
13
+ export type StatusCardEvents = typeof __propDef.events;
14
+ export type StatusCardSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ className?: string | undefined;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {
24
+ default: {};
25
+ };
26
+ };
27
+ export {};
@@ -0,0 +1,57 @@
1
+ <script>
2
+ import { Col, Row } from 'sveltestrap';
3
+ export let index;
4
+ export let text;
5
+ export let value;
6
+ </script>
7
+
8
+ <div class="mt-5">
9
+ <Row>
10
+ <Col>
11
+ <div class={Number(index) > 0 ? 'box1 mb-1' : 'box2 mb-1'}>
12
+ <div class={Number(index) > 0 ? 'p-1 px-2 text-success' : 'p-1 px-2 text-danger'}>
13
+ <i class="material-icons index">{Number(index) > 0 ? 'call_made' : 'call_received'}</i>
14
+ {Number(index) > 0 ? '+' + index : index}
15
+ </div>
16
+ </div>
17
+ <div class="text fw-normal">{text}</div></Col
18
+ >
19
+ <Col><div class="float-end value fw-bold">{value}</div></Col>
20
+ </Row>
21
+ </div>
22
+ <slot />
23
+
24
+ <style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
25
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
26
+ @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
27
+ .card {
28
+ background-color: #F8F9FA;
29
+ padding: 1rem;
30
+ border-radius: 0.75rem;
31
+ font-family: Roboto;
32
+ min-width: 22rem;
33
+ min-height: 14rem;
34
+ }
35
+ .title {
36
+ font-size: 24px;
37
+ font-weight: 400;
38
+ }
39
+ .text {
40
+ font-size: 12px;
41
+ }
42
+ .value {
43
+ font-size: 28px;
44
+ }
45
+ .index {
46
+ font-size: medium !important;
47
+ }
48
+ .box1 {
49
+ background-color: #D1E7DD;
50
+ width: fit-content;
51
+ border-radius: 0.3333333333rem;
52
+ }
53
+ .box2 {
54
+ background-color: #F8D7DA;
55
+ width: fit-content;
56
+ border-radius: 0.3333333333rem;
57
+ }</style>
@@ -0,0 +1,31 @@
1
+ /** @typedef {typeof __propDef.props} StatusCardBodyProps */
2
+ /** @typedef {typeof __propDef.events} StatusCardBodyEvents */
3
+ /** @typedef {typeof __propDef.slots} StatusCardBodySlots */
4
+ export default class StatusCardBody extends SvelteComponentTyped<{
5
+ index: any;
6
+ text: any;
7
+ value: any;
8
+ }, {
9
+ [evt: string]: CustomEvent<any>;
10
+ }, {
11
+ default: {};
12
+ }> {
13
+ }
14
+ export type StatusCardBodyProps = typeof __propDef.props;
15
+ export type StatusCardBodyEvents = typeof __propDef.events;
16
+ export type StatusCardBodySlots = typeof __propDef.slots;
17
+ import { SvelteComponentTyped } from "svelte";
18
+ declare const __propDef: {
19
+ props: {
20
+ index: any;
21
+ text: any;
22
+ value: any;
23
+ };
24
+ events: {
25
+ [evt: string]: CustomEvent<any>;
26
+ };
27
+ slots: {
28
+ default: {};
29
+ };
30
+ };
31
+ export {};
@@ -0,0 +1,47 @@
1
+ <script>
2
+ export let title = '';
3
+ export let subTitle = '';
4
+ </script>
5
+
6
+ <div class="title">
7
+ <h4>
8
+ <p class="text-secondary m-0 title fw-lighter">{title}</p>
9
+ <p class="text-primary m-0 sub_title fw-normal">{subTitle}</p>
10
+ </h4>
11
+ </div>
12
+ <slot />
13
+
14
+ <style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
15
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
16
+ @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
17
+ .card {
18
+ background-color: #F8F9FA;
19
+ padding: 1rem;
20
+ border-radius: 0.75rem;
21
+ font-family: Roboto;
22
+ min-width: 22rem;
23
+ min-height: 14rem;
24
+ }
25
+ .title {
26
+ font-size: 24px;
27
+ font-weight: 400;
28
+ }
29
+ .text {
30
+ font-size: 12px;
31
+ }
32
+ .value {
33
+ font-size: 28px;
34
+ }
35
+ .index {
36
+ font-size: medium !important;
37
+ }
38
+ .box1 {
39
+ background-color: #D1E7DD;
40
+ width: fit-content;
41
+ border-radius: 0.3333333333rem;
42
+ }
43
+ .box2 {
44
+ background-color: #F8D7DA;
45
+ width: fit-content;
46
+ border-radius: 0.3333333333rem;
47
+ }</style>
@@ -0,0 +1,29 @@
1
+ /** @typedef {typeof __propDef.props} StatusCardTitleProps */
2
+ /** @typedef {typeof __propDef.events} StatusCardTitleEvents */
3
+ /** @typedef {typeof __propDef.slots} StatusCardTitleSlots */
4
+ export default class StatusCardTitle extends SvelteComponentTyped<{
5
+ title?: string | undefined;
6
+ subTitle?: string | undefined;
7
+ }, {
8
+ [evt: string]: CustomEvent<any>;
9
+ }, {
10
+ default: {};
11
+ }> {
12
+ }
13
+ export type StatusCardTitleProps = typeof __propDef.props;
14
+ export type StatusCardTitleEvents = typeof __propDef.events;
15
+ export type StatusCardTitleSlots = typeof __propDef.slots;
16
+ import { SvelteComponentTyped } from "svelte";
17
+ declare const __propDef: {
18
+ props: {
19
+ title?: string | undefined;
20
+ subTitle?: string | undefined;
21
+ };
22
+ events: {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {
26
+ default: {};
27
+ };
28
+ };
29
+ export {};
@@ -592,4 +592,7 @@
592
592
  font-style: normal;
593
593
  font-weight: 400;
594
594
  line-height: normal;
595
+ }
596
+ :global(.bg-dark) {
597
+ background-color: #05445E !important;
595
598
  }</style>
@@ -612,4 +612,7 @@ export let tabs = [
612
612
  font-style: normal;
613
613
  font-weight: 400;
614
614
  line-height: normal;
615
+ }
616
+ :global(.bg-dark) {
617
+ background-color: #05445E !important;
615
618
  }</style>
@@ -620,4 +620,7 @@
620
620
  font-style: normal;
621
621
  font-weight: 400;
622
622
  line-height: normal;
623
+ }
624
+ :global(.bg-dark) {
625
+ background-color: #05445E !important;
623
626
  }</style>
@@ -14,8 +14,6 @@ $icon-size:20px;
14
14
  bottom: 14px;
15
15
  right: 6px;
16
16
  z-index: 2000;
17
- min-width: 100px;
18
- max-width: 500px;
19
17
  border: 1px solid $black;
20
18
  border-left-width: $border-custom-width;
21
19
  border-radius: 6px;
@@ -27,10 +27,10 @@
27
27
 
28
28
  <div class={toastStyle.join(' ')}>
29
29
  <Row class="me-0 ms-0 ps-1">
30
- <Col sm="2" class=" d-flex justify-content-center align-items-center ps-0 pe-1">
31
- <Icon name={iconName} />
32
- </Col>
33
- <Col sm="10" class="ps-0 pt-0 pb-0 pe-2 d-flex align-items-center">
30
+ <Col sm="12" class="ps-2 pt-0 pb-0 pe-3 d-flex align-items-center">
31
+ {#if iconName}
32
+ <Icon name={iconName} class="me-2" />
33
+ {/if}
34
34
  <slot>
35
35
  {#if label}
36
36
  {label}
@@ -57,8 +57,6 @@
57
57
  bottom: 14px;
58
58
  right: 6px;
59
59
  z-index: 2000;
60
- min-width: 100px;
61
- max-width: 500px;
62
60
  border: 1px solid #000000;
63
61
  border-left-width: 5px;
64
62
  border-radius: 6px;
@@ -658,4 +656,7 @@
658
656
  font-style: normal;
659
657
  font-weight: 400;
660
658
  line-height: normal;
659
+ }
660
+ :global(.bg-dark) {
661
+ background-color: #05445E !important;
661
662
  }</style>
@@ -600,6 +600,9 @@ const textAligns = {
600
600
  font-weight: 400;
601
601
  line-height: normal;
602
602
  }
603
+ :global(.bg-dark) {
604
+ background-color: #05445E !important;
605
+ }
603
606
  .label {
604
607
  color: #ffffff;
605
608
  font-size: 16px;
@@ -0,0 +1,108 @@
1
+ @import './../variable.scss';
2
+ .card {
3
+ font-family: $bodyFonts;
4
+ background-color: #f8f8f8;
5
+ border-radius: calc((3*$rem)/4);
6
+ padding: $rem;
7
+ border-color: transparent;
8
+ min-height: 354px;
9
+ min-width: 355px;
10
+ }
11
+ .doublecard{
12
+ font-family: $bodyFonts;
13
+ background-color: #f8f8f8;
14
+ border-radius: calc((3*$rem)/4);
15
+ padding: $rem;
16
+ border-color: transparent;
17
+ min-height: 354px;
18
+ min-width: 712px;
19
+ }
20
+ .state-card {
21
+ font-family: $bodyFonts;
22
+ background-color: #f8f8f8;
23
+ border-radius: calc((3*$rem)/4);
24
+ padding: $rem;
25
+ border-color: transparent;
26
+ background-color: $gray-200 !important;
27
+ }
28
+ .title{
29
+ font-size: $widget-card-title;
30
+ font-weight: $title-weight;
31
+ }
32
+ .full-screen {
33
+ width: 100%;
34
+ height: 100%;
35
+ position: fixed;
36
+ top: 0;
37
+ left: 0;
38
+ z-index: 1000;
39
+ margin: 0;
40
+ }
41
+
42
+ .full-screen .card {
43
+ width: 100%;
44
+ height: 100%;
45
+ border-radius: 0;
46
+ }
47
+
48
+ .content{
49
+ font-size: 16px;
50
+ }
51
+
52
+ .status {
53
+ top: 10px;
54
+ right: 10px;
55
+ font-size: 12px;
56
+ float:left;
57
+ }
58
+
59
+ .completed-tag {
60
+ background-color: #c0e4c1; /* Green */
61
+ color: #4CAF50;
62
+ padding: 5px 10px;
63
+ border-radius: 5px;
64
+ }
65
+ .overdue-tag {
66
+ background-color: #eba797; /* Green */
67
+ color: #c9443a;
68
+ padding: 5px 10px;
69
+ border-radius: 5px;
70
+ }
71
+ .progress-tag {
72
+ background-color: #e6be75; /* Green */
73
+ color: #db9833;
74
+ padding: 5px 10px;
75
+ border-radius: 5px;
76
+ }
77
+
78
+ .statecardtitle {
79
+ font-weight: 400;
80
+ float: right;
81
+ width: max-content;
82
+ }
83
+
84
+ .subtitle {
85
+ float: left;
86
+ font-size: 16px;
87
+ font-weight: 400;
88
+ width: max-content;
89
+ }
90
+
91
+ .time {
92
+ float: right;
93
+ font-size: 12px;
94
+ color: #999;
95
+ width: max-content;
96
+ }
97
+ .activeStatus{
98
+ background-color: #c0e4c1; /* Green */
99
+ color: #4CAF50;
100
+ padding: 5px 10px;
101
+ border-radius: 5px;
102
+ }
103
+ .errorStatus{
104
+ background-color: #eba797; /* Green */
105
+ color: #c9443a;
106
+ padding: 5px 10px;
107
+ border-radius: 5px;
108
+ }
@@ -0,0 +1,130 @@
1
+ <script>
2
+ import { Col, Row } from 'sveltestrap';
3
+ export let status = 'active';
4
+ export let title = '#RTD101';
5
+ export let time = '7 am to 12 pm';
6
+ </script>
7
+
8
+ <div class="state-card mb-2">
9
+ <Row>
10
+ <Col>
11
+ <div class="content float-start">
12
+ <div class="statecardtitle">{title}</div>
13
+ </div>
14
+ </Col>
15
+ <Col>
16
+ <div class="status float-end">
17
+ <span class={status == 'active' ? 'activeStatus' : 'errorStatus'}>
18
+ {status == 'active' ? 'active' : 'error'}</span
19
+ >
20
+ </div>
21
+ </Col>
22
+ </Row>
23
+ <Row>
24
+ <Col><div class="time mt-1 float-start">{time}</div></Col>
25
+ </Row>
26
+ </div>
27
+
28
+ <style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
29
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
30
+ @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
31
+ .card {
32
+ font-family: Roboto;
33
+ background-color: #f8f8f8;
34
+ border-radius: 0.75rem;
35
+ padding: 1rem;
36
+ border-color: transparent;
37
+ min-height: 354px;
38
+ min-width: 355px;
39
+ }
40
+ .doublecard {
41
+ font-family: Roboto;
42
+ background-color: #f8f8f8;
43
+ border-radius: 0.75rem;
44
+ padding: 1rem;
45
+ border-color: transparent;
46
+ min-height: 354px;
47
+ min-width: 712px;
48
+ }
49
+ .state-card {
50
+ font-family: Roboto;
51
+ background-color: #f8f8f8;
52
+ border-radius: 0.75rem;
53
+ padding: 1rem;
54
+ border-color: transparent;
55
+ background-color: #E9ECEF !important;
56
+ }
57
+ .title {
58
+ font-size: 20px;
59
+ font-weight: 400;
60
+ }
61
+ .full-screen {
62
+ width: 100%;
63
+ height: 100%;
64
+ position: fixed;
65
+ top: 0;
66
+ left: 0;
67
+ z-index: 1000;
68
+ margin: 0;
69
+ }
70
+ .full-screen .card {
71
+ width: 100%;
72
+ height: 100%;
73
+ border-radius: 0;
74
+ }
75
+ .content {
76
+ font-size: 16px;
77
+ }
78
+ .status {
79
+ top: 10px;
80
+ right: 10px;
81
+ font-size: 12px;
82
+ float: left;
83
+ }
84
+ .completed-tag {
85
+ background-color: #c0e4c1; /* Green */
86
+ color: #4CAF50;
87
+ padding: 5px 10px;
88
+ border-radius: 5px;
89
+ }
90
+ .overdue-tag {
91
+ background-color: #eba797; /* Green */
92
+ color: #c9443a;
93
+ padding: 5px 10px;
94
+ border-radius: 5px;
95
+ }
96
+ .progress-tag {
97
+ background-color: #e6be75; /* Green */
98
+ color: #db9833;
99
+ padding: 5px 10px;
100
+ border-radius: 5px;
101
+ }
102
+ .statecardtitle {
103
+ font-weight: 400;
104
+ float: right;
105
+ width: max-content;
106
+ }
107
+ .subtitle {
108
+ float: left;
109
+ font-size: 16px;
110
+ font-weight: 400;
111
+ width: max-content;
112
+ }
113
+ .time {
114
+ float: right;
115
+ font-size: 12px;
116
+ color: #999;
117
+ width: max-content;
118
+ }
119
+ .activeStatus {
120
+ background-color: #c0e4c1; /* Green */
121
+ color: #4CAF50;
122
+ padding: 5px 10px;
123
+ border-radius: 5px;
124
+ }
125
+ .errorStatus {
126
+ background-color: #eba797; /* Green */
127
+ color: #c9443a;
128
+ padding: 5px 10px;
129
+ border-radius: 5px;
130
+ }</style>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} SensorStatusCardProps */
2
+ /** @typedef {typeof __propDef.events} SensorStatusCardEvents */
3
+ /** @typedef {typeof __propDef.slots} SensorStatusCardSlots */
4
+ export default class SensorStatusCard extends SvelteComponentTyped<{
5
+ time?: string | undefined;
6
+ title?: string | undefined;
7
+ status?: string | undefined;
8
+ }, {
9
+ [evt: string]: CustomEvent<any>;
10
+ }, {}> {
11
+ }
12
+ export type SensorStatusCardProps = typeof __propDef.props;
13
+ export type SensorStatusCardEvents = typeof __propDef.events;
14
+ export type SensorStatusCardSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ time?: string | undefined;
19
+ title?: string | undefined;
20
+ status?: string | undefined;
21
+ };
22
+ events: {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {};
26
+ };
27
+ export {};
@@ -0,0 +1,133 @@
1
+ <script>
2
+ import { Col, Row } from 'sveltestrap';
3
+ export let state = "overdue";
4
+ export let title = 'Fertilizing';
5
+ export let subtitle = 'Basil- G1B2';
6
+ export let time = '7 am to 12 pm';
7
+ </script>
8
+ <div class="state-card mb-2">
9
+ <Row>
10
+
11
+ <Col>
12
+ <div class="status">
13
+ <span class={state == "completed" ? "completed-tag" : (state == "inprogress" ? "progress-tag" : "overdue-tag")}>
14
+ {state == "completed" ? "completed" : (state == "inprogress" ? "inprogress" : "overdue")}</span>
15
+ </div>
16
+ </Col>
17
+ <Col>
18
+ <div class="content">
19
+ <div class="statecardtitle">{title}</div>
20
+ </div>
21
+ </Col>
22
+ </Row>
23
+ <Row>
24
+ <Col>
25
+ <div class="subtitle">{subtitle}</div>
26
+ </Col>
27
+ <Col> <div class="time mt-1">{time}</div>
28
+ </Col>
29
+ </Row>
30
+ </div>
31
+ <style>@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
32
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
33
+ @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap");
34
+ .card {
35
+ font-family: Roboto;
36
+ background-color: #f8f8f8;
37
+ border-radius: 0.75rem;
38
+ padding: 1rem;
39
+ border-color: transparent;
40
+ min-height: 354px;
41
+ min-width: 355px;
42
+ }
43
+ .doublecard {
44
+ font-family: Roboto;
45
+ background-color: #f8f8f8;
46
+ border-radius: 0.75rem;
47
+ padding: 1rem;
48
+ border-color: transparent;
49
+ min-height: 354px;
50
+ min-width: 712px;
51
+ }
52
+ .state-card {
53
+ font-family: Roboto;
54
+ background-color: #f8f8f8;
55
+ border-radius: 0.75rem;
56
+ padding: 1rem;
57
+ border-color: transparent;
58
+ background-color: #E9ECEF !important;
59
+ }
60
+ .title {
61
+ font-size: 20px;
62
+ font-weight: 400;
63
+ }
64
+ .full-screen {
65
+ width: 100%;
66
+ height: 100%;
67
+ position: fixed;
68
+ top: 0;
69
+ left: 0;
70
+ z-index: 1000;
71
+ margin: 0;
72
+ }
73
+ .full-screen .card {
74
+ width: 100%;
75
+ height: 100%;
76
+ border-radius: 0;
77
+ }
78
+ .content {
79
+ font-size: 16px;
80
+ }
81
+ .status {
82
+ top: 10px;
83
+ right: 10px;
84
+ font-size: 12px;
85
+ float: left;
86
+ }
87
+ .completed-tag {
88
+ background-color: #c0e4c1; /* Green */
89
+ color: #4CAF50;
90
+ padding: 5px 10px;
91
+ border-radius: 5px;
92
+ }
93
+ .overdue-tag {
94
+ background-color: #eba797; /* Green */
95
+ color: #c9443a;
96
+ padding: 5px 10px;
97
+ border-radius: 5px;
98
+ }
99
+ .progress-tag {
100
+ background-color: #e6be75; /* Green */
101
+ color: #db9833;
102
+ padding: 5px 10px;
103
+ border-radius: 5px;
104
+ }
105
+ .statecardtitle {
106
+ font-weight: 400;
107
+ float: right;
108
+ width: max-content;
109
+ }
110
+ .subtitle {
111
+ float: left;
112
+ font-size: 16px;
113
+ font-weight: 400;
114
+ width: max-content;
115
+ }
116
+ .time {
117
+ float: right;
118
+ font-size: 12px;
119
+ color: #999;
120
+ width: max-content;
121
+ }
122
+ .activeStatus {
123
+ background-color: #c0e4c1; /* Green */
124
+ color: #4CAF50;
125
+ padding: 5px 10px;
126
+ border-radius: 5px;
127
+ }
128
+ .errorStatus {
129
+ background-color: #eba797; /* Green */
130
+ color: #c9443a;
131
+ padding: 5px 10px;
132
+ border-radius: 5px;
133
+ }</style>
@@ -0,0 +1,29 @@
1
+ /** @typedef {typeof __propDef.props} StateCardProps */
2
+ /** @typedef {typeof __propDef.events} StateCardEvents */
3
+ /** @typedef {typeof __propDef.slots} StateCardSlots */
4
+ export default class StateCard extends SvelteComponentTyped<{
5
+ time?: string | undefined;
6
+ title?: string | undefined;
7
+ subtitle?: string | undefined;
8
+ state?: string | undefined;
9
+ }, {
10
+ [evt: string]: CustomEvent<any>;
11
+ }, {}> {
12
+ }
13
+ export type StateCardProps = typeof __propDef.props;
14
+ export type StateCardEvents = typeof __propDef.events;
15
+ export type StateCardSlots = typeof __propDef.slots;
16
+ import { SvelteComponentTyped } from "svelte";
17
+ declare const __propDef: {
18
+ props: {
19
+ time?: string | undefined;
20
+ title?: string | undefined;
21
+ subtitle?: string | undefined;
22
+ state?: string | undefined;
23
+ };
24
+ events: {
25
+ [evt: string]: CustomEvent<any>;
26
+ };
27
+ slots: {};
28
+ };
29
+ export {};