basefn 1.0.0 → 1.1.1

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 (41) hide show
  1. package/README.md +61 -65
  2. package/package.json +1 -1
  3. package/src/Basefn.res +105 -35
  4. package/src/Basefn.res.mjs +70 -35
  5. package/src/Demo.res.mjs +199 -230
  6. package/src/Example.res.mjs +12 -17
  7. package/src/Eita.res.mjs +0 -105
  8. package/src/Eita__Accordion.res.mjs +0 -77
  9. package/src/Eita__Alert.res.mjs +0 -81
  10. package/src/Eita__AppLayout.res.mjs +0 -100
  11. package/src/Eita__Avatar.res.mjs +0 -40
  12. package/src/Eita__Badge.res.mjs +0 -65
  13. package/src/Eita__Breadcrumb.res.mjs +0 -53
  14. package/src/Eita__Button.res.mjs +0 -47
  15. package/src/Eita__Card.res.mjs +0 -60
  16. package/src/Eita__Checkbox.res.mjs +0 -36
  17. package/src/Eita__Dom.res.mjs +0 -16
  18. package/src/Eita__Drawer.res.mjs +0 -112
  19. package/src/Eita__Dropdown.res.mjs +0 -96
  20. package/src/Eita__Grid.res.mjs +0 -24
  21. package/src/Eita__Input.res.mjs +0 -54
  22. package/src/Eita__Kbd.res.mjs +0 -42
  23. package/src/Eita__Label.res.mjs +0 -24
  24. package/src/Eita__Modal.res.mjs +0 -93
  25. package/src/Eita__Progress.res.mjs +0 -101
  26. package/src/Eita__Radio.res.mjs +0 -38
  27. package/src/Eita__Select.res.mjs +0 -40
  28. package/src/Eita__Separator.res.mjs +0 -70
  29. package/src/Eita__Sidebar.res.mjs +0 -103
  30. package/src/Eita__Slider.res.mjs +0 -89
  31. package/src/Eita__Spinner.res.mjs +0 -69
  32. package/src/Eita__Stepper.res.mjs +0 -114
  33. package/src/Eita__Switch.res.mjs +0 -84
  34. package/src/Eita__Tabs.res.mjs +0 -57
  35. package/src/Eita__Textarea.res.mjs +0 -39
  36. package/src/Eita__Timeline.res.mjs +0 -86
  37. package/src/Eita__Toast.res.mjs +0 -112
  38. package/src/Eita__Tooltip.res.mjs +0 -60
  39. package/src/Eita__Topbar.res.mjs +0 -96
  40. package/src/Eita__Typography.res.mjs +0 -183
  41. package/src/Eita__Utils.res.mjs +0 -32
@@ -1,13 +1,8 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
3
  import * as Xote from "xote/src/Xote.res.mjs";
4
+ import * as Basefn from "./Basefn.res.mjs";
4
5
  import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
5
- import * as Basefn__Input from "./components/Basefn__Input.res.mjs";
6
- import * as Basefn__Label from "./components/Basefn__Label.res.mjs";
7
- import * as Basefn__Button from "./components/Basefn__Button.res.mjs";
8
- import * as Basefn__Select from "./components/Basefn__Select.res.mjs";
9
- import * as Basefn__Checkbox from "./components/Basefn__Checkbox.res.mjs";
10
- import * as Basefn__Textarea from "./components/Basefn__Textarea.res.mjs";
11
6
 
12
7
  function Example$ExampleForm(props) {
13
8
  let name = Xote.Signal.make("", undefined, undefined);
@@ -62,11 +57,11 @@ function Example$ExampleForm(props) {
62
57
  Xote__JSX.Elements.jsxs("div", {
63
58
  style: "margin-bottom: 1rem;",
64
59
  children: Xote__JSX.array([
65
- Xote__JSX.jsx(Basefn__Label.make, {
60
+ Xote__JSX.jsx(Basefn.Label.make, {
66
61
  text: "Name",
67
62
  required: true
68
63
  }),
69
- Xote__JSX.jsx(Basefn__Input.make, {
64
+ Xote__JSX.jsx(Basefn.Input.make, {
70
65
  value: {
71
66
  TAG: "Reactive",
72
67
  _0: name
@@ -80,11 +75,11 @@ function Example$ExampleForm(props) {
80
75
  Xote__JSX.Elements.jsxs("div", {
81
76
  style: "margin-bottom: 1rem;",
82
77
  children: Xote__JSX.array([
83
- Xote__JSX.jsx(Basefn__Label.make, {
78
+ Xote__JSX.jsx(Basefn.Label.make, {
84
79
  text: "Email",
85
80
  required: true
86
81
  }),
87
- Xote__JSX.jsx(Basefn__Input.make, {
82
+ Xote__JSX.jsx(Basefn.Input.make, {
88
83
  value: {
89
84
  TAG: "Reactive",
90
85
  _0: email
@@ -98,11 +93,11 @@ function Example$ExampleForm(props) {
98
93
  Xote__JSX.Elements.jsxs("div", {
99
94
  style: "margin-bottom: 1rem;",
100
95
  children: Xote__JSX.array([
101
- Xote__JSX.jsx(Basefn__Label.make, {
96
+ Xote__JSX.jsx(Basefn.Label.make, {
102
97
  text: "Choose an option",
103
98
  required: false
104
99
  }),
105
- Xote__JSX.jsx(Basefn__Select.make, {
100
+ Xote__JSX.jsx(Basefn.Select.make, {
106
101
  value: selectedOption,
107
102
  options: selectOptions
108
103
  })
@@ -111,11 +106,11 @@ function Example$ExampleForm(props) {
111
106
  Xote__JSX.Elements.jsxs("div", {
112
107
  style: "margin-bottom: 1rem;",
113
108
  children: Xote__JSX.array([
114
- Xote__JSX.jsx(Basefn__Label.make, {
109
+ Xote__JSX.jsx(Basefn.Label.make, {
115
110
  text: "Message",
116
111
  required: false
117
112
  }),
118
- Xote__JSX.jsx(Basefn__Textarea.make, {
113
+ Xote__JSX.jsx(Basefn.Textarea.make, {
119
114
  value: {
120
115
  TAG: "Reactive",
121
116
  _0: message
@@ -127,7 +122,7 @@ function Example$ExampleForm(props) {
127
122
  }),
128
123
  Xote__JSX.Elements.jsx("div", {
129
124
  style: "margin-bottom: 1rem;",
130
- children: Xote__JSX.jsx(Basefn__Checkbox.make, {
125
+ children: Xote__JSX.jsx(Basefn.Checkbox.make, {
131
126
  checked: agreeToTerms,
132
127
  onChange: handleCheckboxChange,
133
128
  label: "I agree to the terms and conditions"
@@ -136,7 +131,7 @@ function Example$ExampleForm(props) {
136
131
  Xote__JSX.Elements.jsxs("div", {
137
132
  style: "display: flex; gap: 1rem;",
138
133
  children: Xote__JSX.array([
139
- Xote__JSX.jsx(Basefn__Button.make, {
134
+ Xote__JSX.jsx(Basefn.Button.make, {
140
135
  children: Xote.Component.textSignal(() => {
141
136
  if (Xote.Signal.get(isSubmitting)) {
142
137
  return "Submitting...";
@@ -151,7 +146,7 @@ function Example$ExampleForm(props) {
151
146
  onClick: handleSubmit,
152
147
  variant: "Primary"
153
148
  }),
154
- Xote__JSX.jsx(Basefn__Button.make, {
149
+ Xote__JSX.jsx(Basefn.Button.make, {
155
150
  label: {
156
151
  TAG: "Static",
157
152
  _0: "Cancel"
package/src/Eita.res.mjs DELETED
@@ -1,105 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
-
4
- import './basefn.css'
5
- ;
6
-
7
- let Button;
8
-
9
- let Input;
10
-
11
- let Textarea;
12
-
13
- let Select;
14
-
15
- let Checkbox;
16
-
17
- let Radio;
18
-
19
- let Label;
20
-
21
- let Badge;
22
-
23
- let Spinner;
24
-
25
- let Separator;
26
-
27
- let Kbd;
28
-
29
- let Typography;
30
-
31
- let Card;
32
-
33
- let Avatar;
34
-
35
- let Grid;
36
-
37
- let Alert;
38
-
39
- let Progress;
40
-
41
- let Tabs;
42
-
43
- let Accordion;
44
-
45
- let Breadcrumb;
46
-
47
- let Modal;
48
-
49
- let Tooltip;
50
-
51
- let Switch;
52
-
53
- let Slider;
54
-
55
- let Dropdown;
56
-
57
- let Toast;
58
-
59
- let Stepper;
60
-
61
- let Drawer;
62
-
63
- let Timeline;
64
-
65
- let Sidebar;
66
-
67
- let Topbar;
68
-
69
- let AppLayout;
70
-
71
- export {
72
- Button,
73
- Input,
74
- Textarea,
75
- Select,
76
- Checkbox,
77
- Radio,
78
- Label,
79
- Badge,
80
- Spinner,
81
- Separator,
82
- Kbd,
83
- Typography,
84
- Card,
85
- Avatar,
86
- Grid,
87
- Alert,
88
- Progress,
89
- Tabs,
90
- Accordion,
91
- Breadcrumb,
92
- Modal,
93
- Tooltip,
94
- Switch,
95
- Slider,
96
- Dropdown,
97
- Toast,
98
- Stepper,
99
- Drawer,
100
- Timeline,
101
- Sidebar,
102
- Topbar,
103
- AppLayout,
104
- }
105
- /* Not a pure module */
@@ -1,77 +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
- import * as Core__Option from "@rescript/core/src/Core__Option.res.mjs";
6
-
7
- import './Eita__Accordion.css'
8
- ;
9
-
10
- function Eita__Accordion(props) {
11
- let __multiple = props.multiple;
12
- let multiple = __multiple !== undefined ? __multiple : false;
13
- let openItems = Xote.Signal.make(Core__Option.getOr(props.defaultOpen, []), undefined, undefined);
14
- return Xote__JSX.Elements.jsx("div", {
15
- class: "basefn-accordion",
16
- children: Xote.Component.fragment(props.items.map(item => {
17
- let itemIsOpen = Xote.Computed.make(() => {
18
- let value = item.value;
19
- return Xote.Signal.get(openItems).includes(value);
20
- }, undefined);
21
- return Xote__JSX.Elements.jsxsKeyed("div", {
22
- class: "basefn-accordion__item",
23
- children: Xote__JSX.array([
24
- Xote__JSX.Elements.jsxs("button", {
25
- class: "basefn-accordion__trigger",
26
- disabled: Core__Option.getOr(item.disabled, false),
27
- onClick: param => {
28
- let value = item.value;
29
- let disabled = item.disabled;
30
- if (disabled !== undefined && disabled) {
31
- return;
32
- }
33
- Xote.Signal.update(openItems, current => {
34
- if (current.includes(value)) {
35
- return current.filter(item => item !== value);
36
- } else if (multiple) {
37
- return current.concat([value]);
38
- } else {
39
- return [value];
40
- }
41
- });
42
- },
43
- children: Xote__JSX.array([
44
- Xote__JSX.Elements.jsx("span", {
45
- children: Xote.Component.text(item.title)
46
- }),
47
- Xote__JSX.Elements.jsx("span", {
48
- class: Xote.Computed.make(() => {
49
- let openClass = Xote.Signal.get(itemIsOpen) ? " basefn-accordion__icon--open" : "";
50
- return "basefn-accordion__icon" + openClass;
51
- }, undefined),
52
- children: Xote.Component.text("\u25bc")
53
- })
54
- ])
55
- }),
56
- Xote__JSX.Elements.jsx("div", {
57
- class: Xote.Computed.make(() => {
58
- let stateClass = Xote.Signal.get(itemIsOpen) ? " basefn-accordion__content--expanded" : " basefn-accordion__content--collapsed";
59
- return "basefn-accordion__content" + stateClass;
60
- }, undefined),
61
- children: Xote__JSX.Elements.jsx("div", {
62
- class: "basefn-accordion__content-inner",
63
- children: item.content
64
- })
65
- })
66
- ])
67
- }, item.value, undefined);
68
- }))
69
- });
70
- }
71
-
72
- let make = Eita__Accordion;
73
-
74
- export {
75
- make,
76
- }
77
- /* Not a pure module */
@@ -1,81 +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__Alert.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 Eita__Alert(props) {
23
- let onDismiss = props.onDismiss;
24
- let __dismissible = props.dismissible;
25
- let __variant = props.variant;
26
- let message = props.message;
27
- let title = props.title;
28
- let variant = __variant !== undefined ? __variant : "Info";
29
- let dismissible = __dismissible !== undefined ? __dismissible : false;
30
- let isVisible = Xote.Signal.make(true, undefined, undefined);
31
- Xote.Effect.run(() => {
32
- console.log(Xote.Signal.get(isVisible));
33
- }, undefined);
34
- let handleDismiss = () => {
35
- Xote.Signal.set(isVisible, false);
36
- if (onDismiss !== undefined) {
37
- return onDismiss();
38
- }
39
- };
40
- let getClassName = () => {
41
- let variantClass = "basefn-alert--" + variantToString(variant);
42
- return "basefn-alert " + variantClass;
43
- };
44
- return Xote.Component.signalFragment(Xote.Computed.make(() => {
45
- if (Xote.Signal.get(isVisible)) {
46
- return [Xote__JSX.Elements.jsxs("div", {
47
- class: getClassName(),
48
- children: Xote__JSX.array([
49
- Xote__JSX.Elements.jsxs("div", {
50
- class: "basefn-alert__content",
51
- children: Xote__JSX.array([
52
- title !== undefined ? Xote__JSX.Elements.jsx("div", {
53
- class: "basefn-alert__title",
54
- children: Xote.Component.text(title)
55
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
56
- Xote__JSX.Elements.jsx("div", {
57
- class: "basefn-alert__message",
58
- children: Xote.Component.textSignal(() => Xote.Signal.get(message))
59
- })
60
- ])
61
- }),
62
- dismissible ? Xote__JSX.Elements.jsx("button", {
63
- class: "basefn-alert__dismiss",
64
- onClick: param => handleDismiss(),
65
- children: Xote.Component.text("\u00d7")
66
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {})
67
- ])
68
- })];
69
- } else {
70
- return [];
71
- }
72
- }, undefined));
73
- }
74
-
75
- let make = Eita__Alert;
76
-
77
- export {
78
- variantToString,
79
- make,
80
- }
81
- /* Not a pure module */
@@ -1,100 +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
- import * as Core__Option from "@rescript/core/src/Core__Option.res.mjs";
6
-
7
- import './Eita__AppLayout.css'
8
- ;
9
-
10
- function Eita__AppLayout(props) {
11
- let __sidebarCollapsed = props.sidebarCollapsed;
12
- let sidebarSize = props.sidebarSize;
13
- let __noPadding = props.noPadding;
14
- let __contentWidth = props.contentWidth;
15
- let topbar = props.topbar;
16
- let sidebar = props.sidebar;
17
- let contentWidth = __contentWidth !== undefined ? __contentWidth : "FullWidth";
18
- let noPadding = __noPadding !== undefined ? __noPadding : false;
19
- let sidebarCollapsed = __sidebarCollapsed !== undefined ? __sidebarCollapsed : false;
20
- let sidebarOpen = Xote.Signal.make(false, undefined, undefined);
21
- let getLayoutClass = () => {
22
- let hasSidebar = Core__Option.isSome(sidebar) ? " basefn-app-layout--has-sidebar" : "";
23
- let sidebarSizeClass;
24
- if (sidebarSize !== undefined) {
25
- switch (sidebarSize) {
26
- case "lg" :
27
- sidebarSizeClass = " basefn-app-layout--sidebar-lg";
28
- break;
29
- case "sm" :
30
- sidebarSizeClass = " basefn-app-layout--sidebar-sm";
31
- break;
32
- default:
33
- sidebarSizeClass = "";
34
- }
35
- } else {
36
- sidebarSizeClass = "";
37
- }
38
- let collapsedClass = sidebarCollapsed ? " basefn-app-layout--sidebar-collapsed" : "";
39
- Xote.Computed.make(() => {
40
- if (Xote.Signal.get(sidebarOpen)) {
41
- return " basefn-app-layout--sidebar-open";
42
- } else {
43
- return "";
44
- }
45
- }, undefined);
46
- return "basefn-app-layout" + hasSidebar + sidebarSizeClass + collapsedClass;
47
- };
48
- let getContentClass = () => {
49
- let widthClass;
50
- widthClass = contentWidth === "FullWidth" ? " basefn-app-layout--full-width" : " basefn-app-layout--contained";
51
- let paddingClass = noPadding ? " basefn-app-layout__content-inner--no-padding" : "";
52
- return "basefn-app-layout__content-inner" + widthClass + paddingClass;
53
- };
54
- return Xote__JSX.Elements.jsxs("div", {
55
- class: Xote.Computed.make(() => getLayoutClass() + Xote.Signal.get(Xote.Computed.make(() => {
56
- if (Xote.Signal.get(sidebarOpen)) {
57
- return " basefn-app-layout--sidebar-open";
58
- } else {
59
- return "";
60
- }
61
- }, undefined)), undefined),
62
- children: Xote__JSX.array([
63
- sidebar !== undefined ? Xote__JSX.jsxs(Xote__JSX.jsxFragment, {
64
- children: Xote__JSX.array([
65
- Xote__JSX.Elements.jsx("div", {
66
- class: "basefn-app-layout__sidebar",
67
- children: sidebar
68
- }),
69
- Xote__JSX.Elements.jsx("div", {
70
- class: "basefn-app-layout__sidebar-backdrop",
71
- onClick: param => Xote.Signal.set(sidebarOpen, false)
72
- })
73
- ])
74
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
75
- Xote__JSX.Elements.jsxs("div", {
76
- class: "basefn-app-layout__main-wrapper",
77
- children: Xote__JSX.array([
78
- topbar !== undefined ? Xote__JSX.Elements.jsx("div", {
79
- class: "basefn-app-layout__topbar",
80
- children: topbar
81
- }) : Xote__JSX.jsx(Xote__JSX.jsxFragment, {}),
82
- Xote__JSX.Elements.jsx("main", {
83
- class: "basefn-app-layout__content",
84
- children: Xote__JSX.Elements.jsx("div", {
85
- class: getContentClass(),
86
- children: props.children
87
- })
88
- })
89
- ])
90
- })
91
- ])
92
- });
93
- }
94
-
95
- let make = Eita__AppLayout;
96
-
97
- export {
98
- make,
99
- }
100
- /* Not a pure module */
@@ -1,40 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as Xote__JSX from "xote/src/Xote__JSX.res.mjs";
4
- import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
5
-
6
- import './Eita__Avatar.css'
7
- ;
8
-
9
- function sizeToString(size) {
10
- switch (size) {
11
- case "Sm" :
12
- return "sm";
13
- case "Md" :
14
- return "md";
15
- case "Lg" :
16
- return "lg";
17
- }
18
- }
19
-
20
- function Eita__Avatar(props) {
21
- let __size = props.size;
22
- let size = __size !== undefined ? __size : "Md";
23
- let sizeClass = "basefn-avatar--" + sizeToString(size);
24
- let $$class = "basefn-avatar " + sizeClass;
25
- return Xote__JSX.Elements.jsx("div", {
26
- class: $$class,
27
- children: Xote__JSX.Elements.jsx("img", {
28
- src: Primitive_option.some(props.src),
29
- alt: Primitive_option.some(props.name)
30
- })
31
- });
32
- }
33
-
34
- let make = Eita__Avatar;
35
-
36
- export {
37
- sizeToString,
38
- make,
39
- }
40
- /* Not a pure module */
@@ -1,65 +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__Badge.css'
6
- ;
7
-
8
- function variantToString(variant) {
9
- switch (variant) {
10
- case "Default" :
11
- return "default";
12
- case "Primary" :
13
- return "primary";
14
- case "Secondary" :
15
- return "secondary";
16
- case "Success" :
17
- return "success";
18
- case "Warning" :
19
- return "warning";
20
- case "Error" :
21
- return "error";
22
- }
23
- }
24
-
25
- function sizeToString(size) {
26
- switch (size) {
27
- case "Sm" :
28
- return "sm";
29
- case "Md" :
30
- return "md";
31
- case "Lg" :
32
- return "lg";
33
- }
34
- }
35
-
36
- function Eita__Badge(props) {
37
- let __dot = props.dot;
38
- let __size = props.size;
39
- let __variant = props.variant;
40
- let variant = __variant !== undefined ? __variant : "Default";
41
- let size = __size !== undefined ? __size : "Md";
42
- let dot = __dot !== undefined ? __dot : false;
43
- let getClassName = () => {
44
- let variantClass = "basefn-badge--" + variantToString(variant);
45
- let sizeClass = "basefn-badge--" + sizeToString(size);
46
- let dotClass = dot ? " basefn-badge--dot" : "";
47
- return "basefn-badge " + variantClass + " " + sizeClass + dotClass;
48
- };
49
- return Xote__JSX.Elements.jsx("span", {
50
- class: getClassName(),
51
- children: {
52
- TAG: "SignalText",
53
- _0: props.label
54
- }
55
- });
56
- }
57
-
58
- let make = Eita__Badge;
59
-
60
- export {
61
- variantToString,
62
- sizeToString,
63
- make,
64
- }
65
- /* Not a pure module */
@@ -1,53 +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__Breadcrumb.css'
7
- ;
8
-
9
- function Eita__Breadcrumb(props) {
10
- let __separator = props.separator;
11
- let items = props.items;
12
- let separator = __separator !== undefined ? __separator : "/";
13
- return Xote__JSX.Elements.jsx("nav", {
14
- class: "basefn-breadcrumb",
15
- children: Xote.Component.fragment(items.map((item, index) => {
16
- let isLast = index === (items.length - 1 | 0);
17
- let className = isLast ? "basefn-breadcrumb__link--active" : "";
18
- let match = item.href;
19
- let match$1 = item.onClick;
20
- return Xote__JSX.Elements.jsxsKeyed("div", {
21
- class: "basefn-breadcrumb__item",
22
- children: Xote__JSX.array([
23
- match !== undefined ? Xote__JSX.Elements.jsx("a", {
24
- class: "basefn-breadcrumb__link " + className,
25
- href: match,
26
- children: Xote.Component.text(item.label)
27
- }) : (
28
- match$1 !== undefined ? Xote__JSX.Elements.jsx("button", {
29
- class: "basefn-breadcrumb__link " + className,
30
- style: "background: none; border: none; padding: 0; font: inherit;",
31
- onClick: param => match$1(),
32
- children: Xote.Component.text(item.label)
33
- }) : Xote__JSX.Elements.jsx("span", {
34
- class: "basefn-breadcrumb__link " + className,
35
- children: Xote.Component.text(item.label)
36
- })
37
- ),
38
- isLast ? Xote__JSX.jsx(Xote__JSX.jsxFragment, {}) : Xote__JSX.Elements.jsx("span", {
39
- class: "basefn-breadcrumb__separator",
40
- children: Xote.Component.text(separator)
41
- })
42
- ])
43
- }, index.toString(), undefined);
44
- }))
45
- });
46
- }
47
-
48
- let make = Eita__Breadcrumb;
49
-
50
- export {
51
- make,
52
- }
53
- /* Not a pure module */
@@ -1,47 +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__Button.css'
7
- ;
8
-
9
- function variantToString(variant) {
10
- switch (variant) {
11
- case "Primary" :
12
- return "primary";
13
- case "Secondary" :
14
- return "secondary";
15
- case "Ghost" :
16
- return "ghost";
17
- }
18
- }
19
-
20
- function Eita__Button(props) {
21
- let __class = props.class;
22
- let __children = props.children;
23
- let __disabled = props.disabled;
24
- let __variant = props.variant;
25
- let variant = __variant !== undefined ? __variant : "Primary";
26
- let disabled = __disabled !== undefined ? __disabled : Xote.Signal.make(false, undefined, undefined);
27
- let children = __children !== undefined ? __children : Xote__JSX.$$null();
28
- let $$class = __class !== undefined ? __class : Xote.Signal.make("", undefined, undefined);
29
- let $$class$1 = Xote.Computed.make(() => {
30
- let variantClass = "basefn-button--" + variantToString(variant);
31
- return "basefn-button " + variantClass + " " + Xote.Signal.get($$class);
32
- }, undefined);
33
- return Xote__JSX.Elements.jsx("button", {
34
- class: $$class$1,
35
- disabled: disabled,
36
- onClick: props.onClick,
37
- children: children
38
- });
39
- }
40
-
41
- let make = Eita__Button;
42
-
43
- export {
44
- variantToString,
45
- make,
46
- }
47
- /* Not a pure module */