basefn 1.0.0 → 1.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.
@@ -1,112 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
5
-
6
- import './Eita__Toast.css'
7
- ;
8
-
9
- function variantToString(variant) {
10
- switch (variant) {
11
- case "Info" :
12
- return "info";
13
- case "Success" :
14
- return "success";
15
- case "Warning" :
16
- return "warning";
17
- case "Error" :
18
- return "error";
19
- }
20
- }
21
-
22
- function positionToString(position) {
23
- switch (position) {
24
- case "TopRight" :
25
- return "top-right";
26
- case "TopLeft" :
27
- return "top-left";
28
- case "BottomRight" :
29
- return "bottom-right";
30
- case "BottomLeft" :
31
- return "bottom-left";
32
- }
33
- }
34
-
35
- function Eita__Toast(props) {
36
- let __duration = props.duration;
37
- let __autoDismiss = props.autoDismiss;
38
- let onClose = props.onClose;
39
- let isVisible = props.isVisible;
40
- let __position = props.position;
41
- let __variant = props.variant;
42
- let message = props.message;
43
- let title = props.title;
44
- let variant = __variant !== undefined ? __variant : "Info";
45
- let position = __position !== undefined ? __position : "TopRight";
46
- let autoDismiss = __autoDismiss !== undefined ? __autoDismiss : true;
47
- let duration = __duration !== undefined ? __duration : 3000;
48
- Xote.Effect.run(() => {
49
- if (!(Xote.Signal.get(isVisible) && autoDismiss)) {
50
- return;
51
- }
52
- let timeoutId = setTimeout(() => {
53
- Xote.Signal.set(isVisible, false);
54
- onClose();
55
- }, duration);
56
- return () => {
57
- clearTimeout(timeoutId);
58
- };
59
- }, undefined);
60
- let getToastClass = () => {
61
- let variantClass = "basefn-toast--" + variantToString(variant);
62
- return "basefn-toast " + variantClass;
63
- };
64
- let getContainerClass = () => {
65
- let posClass = "basefn-toast-container--" + positionToString(position);
66
- return "basefn-toast-container " + posClass;
67
- };
68
- return Xote.Component.signalFragment(Xote.Computed.make(() => {
69
- if (Xote.Signal.get(isVisible)) {
70
- return [Xote__JSX.Elements.jsx("div", {
71
- class: getContainerClass(),
72
- children: Xote__JSX.Elements.jsxs("div", {
73
- class: getToastClass(),
74
- children: Xote__JSX.array([
75
- Xote__JSX.Elements.jsxs("div", {
76
- class: "basefn-toast__content",
77
- children: Xote__JSX.array([
78
- title !== undefined ? Xote__JSX.Elements.jsx("div", {
79
- class: "basefn-toast__title",
80
- children: Xote.Component.text(title)
81
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
82
- Xote__JSX.Elements.jsx("div", {
83
- class: "basefn-toast__message",
84
- children: Xote.Component.text(message)
85
- })
86
- ])
87
- }),
88
- Xote__JSX.Elements.jsx("button", {
89
- class: "basefn-toast__close",
90
- onClick: param => {
91
- Xote.Signal.set(isVisible, false);
92
- onClose();
93
- },
94
- children: Xote.Component.text("\u00d7")
95
- })
96
- ])
97
- })
98
- })];
99
- } else {
100
- return [];
101
- }
102
- }, undefined));
103
- }
104
-
105
- let make = Eita__Toast;
106
-
107
- export {
108
- variantToString,
109
- positionToString,
110
- make,
111
- }
112
- /* Not a pure module */
@@ -1,60 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
5
-
6
- import './Eita__Tooltip.css'
7
- ;
8
-
9
- function positionToString(position) {
10
- switch (position) {
11
- case "Top" :
12
- return "top";
13
- case "Bottom" :
14
- return "bottom";
15
- case "Left" :
16
- return "left";
17
- case "Right" :
18
- return "right";
19
- }
20
- }
21
-
22
- function Eita__Tooltip(props) {
23
- let __position = props.position;
24
- let content = props.content;
25
- let position = __position !== undefined ? __position : "Top";
26
- let isVisible = Xote.Signal.make(false, undefined, undefined);
27
- let handleMouseEnter = param => Xote.Signal.set(isVisible, true);
28
- let handleMouseLeave = param => Xote.Signal.set(isVisible, false);
29
- let getTooltipClass = () => {
30
- let posClass = "basefn-tooltip--" + positionToString(position);
31
- return "basefn-tooltip " + posClass;
32
- };
33
- let tooltipContent = Xote.Computed.make(() => {
34
- if (Xote.Signal.get(isVisible)) {
35
- return [Xote__JSX.Elements.jsx("div", {
36
- class: getTooltipClass(),
37
- children: Xote.Component.text(content)
38
- })];
39
- } else {
40
- return [];
41
- }
42
- }, undefined);
43
- return Xote__JSX.Elements.jsxs("div", {
44
- class: "basefn-tooltip-wrapper",
45
- onMouseEnter: handleMouseEnter,
46
- onMouseLeave: handleMouseLeave,
47
- children: Xote__JSX.array([
48
- props.children,
49
- Xote.Component.signalFragment(tooltipContent)
50
- ])
51
- });
52
- }
53
-
54
- let make = Eita__Tooltip;
55
-
56
- export {
57
- positionToString,
58
- make,
59
- }
60
- /* Not a pure module */
@@ -1,96 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Xote from "xote/src/Xote.res.mjs";
4
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
5
-
6
- import './Eita__Topbar.css'
7
- ;
8
-
9
- function themeToString(theme) {
10
- if (theme === "Light") {
11
- return "light";
12
- } else {
13
- return "dark";
14
- }
15
- }
16
-
17
- function sizeToString(size) {
18
- switch (size) {
19
- case "Sm" :
20
- return "sm";
21
- case "Md" :
22
- return "md";
23
- case "Lg" :
24
- return "lg";
25
- }
26
- }
27
-
28
- function Eita__Topbar(props) {
29
- let __size = props.size;
30
- let __theme = props.theme;
31
- let onMenuClick = props.onMenuClick;
32
- let rightContent = props.rightContent;
33
- let centerContent = props.centerContent;
34
- let leftContent = props.leftContent;
35
- let navItems = props.navItems;
36
- let logo = props.logo;
37
- let theme = __theme !== undefined ? __theme : "Light";
38
- let size = __size !== undefined ? __size : "Md";
39
- let getTopbarClass = () => {
40
- let themeClass = theme === "Dark" ? " basefn-topbar--dark" : "";
41
- let sizeClass = " basefn-topbar--" + sizeToString(size);
42
- return "basefn-topbar" + themeClass + sizeClass;
43
- };
44
- return Xote__JSX.Elements.jsxs("header", {
45
- class: getTopbarClass(),
46
- children: Xote__JSX.array([
47
- Xote__JSX.Elements.jsxs("div", {
48
- class: "basefn-topbar__left",
49
- children: Xote__JSX.array([
50
- onMenuClick !== undefined ? Xote__JSX.Elements.jsx("button", {
51
- class: "basefn-topbar__menu-button",
52
- onClick: param => onMenuClick(),
53
- children: Xote.Component.text("\u2630")
54
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
55
- logo !== undefined ? Xote__JSX.Elements.jsx("div", {
56
- class: "basefn-topbar__logo",
57
- children: logo
58
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
59
- leftContent !== undefined ? leftContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
60
- ])
61
- }),
62
- Xote__JSX.Elements.jsxs("div", {
63
- class: "basefn-topbar__center",
64
- children: Xote__JSX.array([
65
- navItems !== undefined ? Xote__JSX.Elements.jsx("nav", {
66
- class: "basefn-topbar__nav",
67
- children: Xote.Component.fragment(navItems.map((item, index) => {
68
- let className = "basefn-topbar__nav-item" + (
69
- item.active ? " basefn-topbar__nav-item--active" : ""
70
- );
71
- return Xote__JSX.Elements.jsxKeyed("button", {
72
- class: className,
73
- onClick: param => item.onClick(),
74
- children: Xote.Component.text(item.label)
75
- }, index.toString(), undefined);
76
- }))
77
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
78
- centerContent !== undefined ? centerContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
79
- ])
80
- }),
81
- Xote__JSX.Elements.jsx("div", {
82
- class: "basefn-topbar__right",
83
- children: rightContent !== undefined ? rightContent : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
84
- })
85
- ])
86
- });
87
- }
88
-
89
- let make = Eita__Topbar;
90
-
91
- export {
92
- themeToString,
93
- sizeToString,
94
- make,
95
- }
96
- /* Not a pure module */
@@ -1,183 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
4
-
5
- import './Eita__Typography.css'
6
- ;
7
-
8
- function variantToTag(variant) {
9
- switch (variant) {
10
- case "H1" :
11
- return "h1";
12
- case "H2" :
13
- return "h2";
14
- case "H3" :
15
- return "h3";
16
- case "H4" :
17
- return "h4";
18
- case "H5" :
19
- return "h5";
20
- case "H6" :
21
- return "h6";
22
- case "Small" :
23
- return "small";
24
- case "P" :
25
- case "Lead" :
26
- case "Muted" :
27
- return "p";
28
- case "Code" :
29
- return "code";
30
- case "Unstyled" :
31
- return "div";
32
- }
33
- }
34
-
35
- function variantToClass(variant) {
36
- switch (variant) {
37
- case "H1" :
38
- return "basefn-typography--h1";
39
- case "H2" :
40
- return "basefn-typography--h2";
41
- case "H3" :
42
- return "basefn-typography--h3";
43
- case "H4" :
44
- return "basefn-typography--h4";
45
- case "H5" :
46
- return "basefn-typography--h5";
47
- case "H6" :
48
- return "basefn-typography--h6";
49
- case "P" :
50
- return "basefn-typography--p";
51
- case "Small" :
52
- return "basefn-typography--small";
53
- case "Lead" :
54
- return "basefn-typography--lead";
55
- case "Muted" :
56
- return "basefn-typography--muted";
57
- case "Code" :
58
- return "basefn-typography--code";
59
- case "Unstyled" :
60
- return "basefn-typography--unstyled";
61
- }
62
- }
63
-
64
- function alignToString(align) {
65
- switch (align) {
66
- case "Left" :
67
- return "left";
68
- case "Center" :
69
- return "center";
70
- case "Right" :
71
- return "right";
72
- case "Justify" :
73
- return "justify";
74
- }
75
- }
76
-
77
- function Eita__Typography(props) {
78
- let __class = props.class;
79
- let align = props.align;
80
- let __variant = props.variant;
81
- let text = props.text;
82
- let variant = __variant !== undefined ? __variant : "P";
83
- let $$class = __class !== undefined ? __class : "";
84
- let variantClass = variantToClass(variant);
85
- let baseClass = "basefn-typography " + variantClass;
86
- let alignClass = align !== undefined ? " basefn-typography--" + alignToString(align) : "";
87
- let customClass = $$class !== "" ? " " + $$class : "";
88
- let $$class$1 = baseClass + alignClass + customClass;
89
- switch (variant) {
90
- case "H1" :
91
- return Xote__JSX.Elements.jsx("h1", {
92
- class: $$class$1,
93
- children: {
94
- TAG: "SignalText",
95
- _0: text
96
- }
97
- });
98
- case "H2" :
99
- return Xote__JSX.Elements.jsx("h2", {
100
- class: $$class$1,
101
- children: {
102
- TAG: "SignalText",
103
- _0: text
104
- }
105
- });
106
- case "H3" :
107
- return Xote__JSX.Elements.jsx("h3", {
108
- class: $$class$1,
109
- children: {
110
- TAG: "SignalText",
111
- _0: text
112
- }
113
- });
114
- case "H4" :
115
- return Xote__JSX.Elements.jsx("h4", {
116
- class: $$class$1,
117
- children: {
118
- TAG: "SignalText",
119
- _0: text
120
- }
121
- });
122
- case "H5" :
123
- return Xote__JSX.Elements.jsx("h5", {
124
- class: $$class$1,
125
- children: {
126
- TAG: "SignalText",
127
- _0: text
128
- }
129
- });
130
- case "H6" :
131
- return Xote__JSX.Elements.jsx("h6", {
132
- class: $$class$1,
133
- children: {
134
- TAG: "SignalText",
135
- _0: text
136
- }
137
- });
138
- case "Small" :
139
- return Xote__JSX.Elements.jsx("small", {
140
- class: $$class$1,
141
- children: {
142
- TAG: "SignalText",
143
- _0: text
144
- }
145
- });
146
- case "P" :
147
- case "Lead" :
148
- case "Muted" :
149
- return Xote__JSX.Elements.jsx("p", {
150
- class: $$class$1,
151
- children: {
152
- TAG: "SignalText",
153
- _0: text
154
- }
155
- });
156
- case "Code" :
157
- return Xote__JSX.Elements.jsx("code", {
158
- class: $$class$1,
159
- children: {
160
- TAG: "SignalText",
161
- _0: text
162
- }
163
- });
164
- case "Unstyled" :
165
- return Xote__JSX.Elements.jsx("div", {
166
- class: $$class$1,
167
- children: {
168
- TAG: "SignalText",
169
- _0: text
170
- }
171
- });
172
- }
173
- }
174
-
175
- let make = Eita__Typography;
176
-
177
- export {
178
- variantToTag,
179
- variantToClass,
180
- alignToString,
181
- make,
182
- }
183
- /* Not a pure module */
@@ -1,32 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Signals from "rescript-signals/src/Signals.res.mjs";
4
-
5
- function getValue(reactive) {
6
- if (reactive.TAG === "Value") {
7
- return reactive._0;
8
- } else {
9
- return Signals.Signal.get(reactive._0);
10
- }
11
- }
12
-
13
- function makeReactive(value) {
14
- return {
15
- TAG: "Value",
16
- _0: value
17
- };
18
- }
19
-
20
- function makeReactiveFromSignal(signal) {
21
- return {
22
- TAG: "SignalValue",
23
- _0: signal
24
- };
25
- }
26
-
27
- export {
28
- getValue,
29
- makeReactive,
30
- makeReactiveFromSignal,
31
- }
32
- /* Signals Not a pure module */