@dimasbaguspm/versaur 0.0.0 → 0.0.2

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 (72) hide show
  1. package/dist/components/bottom-bar/bottom-bar.atoms.d.ts +1 -1
  2. package/dist/components/bottom-bar/bottom-bar.d.ts +1 -1
  3. package/dist/components/bottom-bar/types.d.ts +3 -2
  4. package/dist/components/index.d.ts +1 -0
  5. package/dist/index.js +6996 -66
  6. package/package.json +2 -10
  7. package/dist/alert-DzSPXqwS.js +0 -167
  8. package/dist/app-bar-B4nQkgdL.js +0 -92
  9. package/dist/avatar-Bsn24V6g.js +0 -91
  10. package/dist/badge-DqLCHm9q.js +0 -184
  11. package/dist/bottom-bar-DOQ3gVwW.js +0 -73
  12. package/dist/breadcrumbs-PJV3izUu.js +0 -59
  13. package/dist/button-C8OibEPE.js +0 -81
  14. package/dist/button-float-B8tdLJkX.js +0 -107
  15. package/dist/button-icon-CWji4cBA.js +0 -89
  16. package/dist/calendar-CkLj89o2.js +0 -112
  17. package/dist/checkbox-input-CSboebwt.js +0 -167
  18. package/dist/chip-input-C1PJPDFq.js +0 -189
  19. package/dist/cn-Ca4KprQ1.js +0 -2730
  20. package/dist/components/alert.js +0 -4
  21. package/dist/components/app-bar.js +0 -4
  22. package/dist/components/avatar.js +0 -4
  23. package/dist/components/badge.js +0 -4
  24. package/dist/components/bottom-bar.js +0 -4
  25. package/dist/components/breadcrumbs.js +0 -4
  26. package/dist/components/button-float.js +0 -4
  27. package/dist/components/button-icon.js +0 -4
  28. package/dist/components/button.js +0 -4
  29. package/dist/components/calendar.js +0 -4
  30. package/dist/components/checkbox-input.js +0 -4
  31. package/dist/components/chip-input.js +0 -4
  32. package/dist/components/date-single-picker-input.js +0 -4
  33. package/dist/components/drawer.js +0 -9
  34. package/dist/components/icon.js +0 -4
  35. package/dist/components/loading-indicator.js +0 -4
  36. package/dist/components/menu.js +0 -4
  37. package/dist/components/modal.js +0 -4
  38. package/dist/components/radio-input.js +0 -4
  39. package/dist/components/segment-multiple-input.js +0 -4
  40. package/dist/components/segment-single-input.js +0 -4
  41. package/dist/components/select-input.js +0 -4
  42. package/dist/components/skeleton.js +0 -4
  43. package/dist/components/snackbar.js +0 -4
  44. package/dist/components/switch-input.js +0 -7
  45. package/dist/components/tabs.js +0 -4
  46. package/dist/components/text-input.js +0 -4
  47. package/dist/components/text.js +0 -4
  48. package/dist/components/textarea-input.js +0 -4
  49. package/dist/components/tile.js +0 -4
  50. package/dist/components/top-bar.js +0 -4
  51. package/dist/date-single-picker-input--Ew0O9NQ.js +0 -252
  52. package/dist/drawer-DrnAR2a4.js +0 -218
  53. package/dist/helpers-CEDtBUGM.js +0 -37
  54. package/dist/hooks/index.js +0 -1
  55. package/dist/icon-D-lTZMHY.js +0 -44
  56. package/dist/index-DU1SCUkk.js +0 -329
  57. package/dist/loading-indicator-BZMnT5PA.js +0 -168
  58. package/dist/menu-BZvilMF7.js +0 -174
  59. package/dist/modal-BGAtqMl9.js +0 -149
  60. package/dist/radio-input-BRGoevZY.js +0 -173
  61. package/dist/segment-multiple-input-VwHCqFd6.js +0 -229
  62. package/dist/segment-single-input-Cqoo7-C2.js +0 -228
  63. package/dist/select-input-DCb0usvK.js +0 -108
  64. package/dist/skeleton-D4X5USf_.js +0 -59
  65. package/dist/snackbar-CYias-fJ.js +0 -79
  66. package/dist/switch-input-C5s1lvYh.js +0 -186
  67. package/dist/tabs-C8aRKfxS.js +0 -216
  68. package/dist/text-B7e-au41.js +0 -120
  69. package/dist/text-input-BsWvUk_H.js +0 -73
  70. package/dist/textarea-input-DZExXEE8.js +0 -102
  71. package/dist/tile-Du7YciCG.js +0 -51
  72. package/dist/top-bar-ErHvwR4K.js +0 -62
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dimasbaguspm/versaur",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "description": "React UI library with Tailwind CSS",
5
5
  "author": "Dimas Bagus Prayogo Mukti<dimas.bagus.pm@gmail.com>",
6
6
  "license": "MIT",
@@ -14,15 +14,7 @@
14
14
  "import": "./dist/index.js",
15
15
  "types": "./dist/index.d.ts"
16
16
  },
17
- "./components/*": {
18
- "import": "./dist/components/*.js",
19
- "types": "./dist/components/*/index.d.ts"
20
- },
21
- "./hooks/*": {
22
- "import": "./dist/hooks/*.js",
23
- "types": "./dist/hooks/*/index.d.ts"
24
- },
25
- "./styles": "./dist/styles.css"
17
+ "./styles.css": "./dist/styles.css"
26
18
  },
27
19
  "files": [
28
20
  "dist"
@@ -1,167 +0,0 @@
1
- import { c as o, j as a } from "./index-DU1SCUkk.js";
2
- import { forwardRef as n } from "react";
3
- import { c as l } from "./cn-Ca4KprQ1.js";
4
- const g = o(
5
- "relative flex items-center gap-1 rounded-md p-2 text-sm transition-all duration-200",
6
- {
7
- variants: {
8
- variant: {
9
- default: "",
10
- outline: "border"
11
- },
12
- color: {
13
- // Core colors
14
- primary: "",
15
- secondary: "",
16
- tertiary: "",
17
- ghost: "",
18
- neutral: "",
19
- // Semantic colors
20
- success: "",
21
- info: "",
22
- warning: "",
23
- danger: ""
24
- }
25
- },
26
- compoundVariants: [
27
- // Default variant styles (soft backgrounds)
28
- {
29
- variant: "default",
30
- color: "primary",
31
- class: "bg-coral/10 text-coral border border-coral/20"
32
- },
33
- {
34
- variant: "default",
35
- color: "secondary",
36
- class: "bg-sage/10 text-sage border border-sage/20"
37
- },
38
- {
39
- variant: "default",
40
- color: "tertiary",
41
- class: "bg-mist/10 text-mist border border-mist/20"
42
- },
43
- {
44
- variant: "default",
45
- color: "ghost",
46
- class: "bg-slate/10 text-slate border border-slate/20"
47
- },
48
- {
49
- variant: "default",
50
- color: "neutral",
51
- class: "bg-neutral/50 text-foreground border border-border"
52
- },
53
- {
54
- variant: "default",
55
- color: "success",
56
- class: "bg-success/10 text-success border border-success/20"
57
- },
58
- {
59
- variant: "default",
60
- color: "info",
61
- class: "bg-info/10 text-info border border-info/20"
62
- },
63
- {
64
- variant: "default",
65
- color: "warning",
66
- class: "bg-warning/10 text-warning border border-warning/20"
67
- },
68
- {
69
- variant: "default",
70
- color: "danger",
71
- class: "bg-danger/10 text-danger border border-danger/20"
72
- },
73
- // Outline variant styles
74
- {
75
- variant: "outline",
76
- color: "primary",
77
- class: "bg-transparent text-coral border-coral"
78
- },
79
- {
80
- variant: "outline",
81
- color: "secondary",
82
- class: "bg-transparent text-sage border-sage"
83
- },
84
- {
85
- variant: "outline",
86
- color: "tertiary",
87
- class: "bg-transparent text-mist border-mist"
88
- },
89
- {
90
- variant: "outline",
91
- color: "ghost",
92
- class: "bg-transparent text-slate border-slate"
93
- },
94
- {
95
- variant: "outline",
96
- color: "neutral",
97
- class: "bg-transparent text-foreground border-border"
98
- },
99
- {
100
- variant: "outline",
101
- color: "success",
102
- class: "bg-transparent text-success border-success"
103
- },
104
- {
105
- variant: "outline",
106
- color: "info",
107
- class: "bg-transparent text-info border-info"
108
- },
109
- {
110
- variant: "outline",
111
- color: "warning",
112
- class: "bg-transparent text-warning border-warning"
113
- },
114
- {
115
- variant: "outline",
116
- color: "danger",
117
- class: "bg-transparent text-danger border-danger"
118
- }
119
- ],
120
- defaultVariants: {
121
- variant: "default",
122
- color: "neutral"
123
- }
124
- }
125
- ), u = o(
126
- "flex-shrink-0 flex justify-center items-center ",
127
- {
128
- variants: {
129
- size: {
130
- sm: "w-4 h-4",
131
- md: "w-5 h-5",
132
- lg: "w-6 h-6"
133
- }
134
- },
135
- defaultVariants: {
136
- size: "md"
137
- }
138
- }
139
- ), c = n(
140
- ({ className: t, children: e, ...r }, s) => /* @__PURE__ */ a.jsx("div", { ref: s, className: l(u(), t), ...r, children: e })
141
- ), f = n(
142
- ({
143
- variant: t = "default",
144
- color: e = "neutral",
145
- icon: r,
146
- className: s,
147
- children: i,
148
- ...d
149
- }, b) => /* @__PURE__ */ a.jsxs(
150
- "div",
151
- {
152
- ref: b,
153
- role: "alert",
154
- className: l(g({ variant: t, color: e }), s),
155
- ...d,
156
- children: [
157
- r && /* @__PURE__ */ a.jsx(c, { children: r }),
158
- /* @__PURE__ */ a.jsx("div", { className: "flex-1", children: i })
159
- ]
160
- }
161
- )
162
- ), p = Object.assign(f, {
163
- Icon: c
164
- });
165
- export {
166
- p as A
167
- };
@@ -1,92 +0,0 @@
1
- import { c as i, j as r } from "./index-DU1SCUkk.js";
2
- import { c as s } from "./cn-Ca4KprQ1.js";
3
- import { forwardRef as n } from "react";
4
- const l = i(
5
- "w-full flex items-center px-4 py-3 gap-2 bg-white",
6
- {
7
- variants: {
8
- variant: {
9
- primary: "",
10
- secondary: "",
11
- tertiary: "",
12
- ghost: "",
13
- neutral: ""
14
- }
15
- },
16
- defaultVariants: {
17
- variant: "primary"
18
- }
19
- }
20
- ), p = i(
21
- "flex flex-col justify-center w-full min-w-0 ",
22
- {
23
- variants: {
24
- placement: {
25
- start: "items-start",
26
- center: "items-center",
27
- end: "items-end"
28
- }
29
- },
30
- defaultVariants: {
31
- placement: "start"
32
- }
33
- }
34
- ), m = n(
35
- ({ children: t, className: a }, e) => /* @__PURE__ */ r.jsx("div", { ref: e, className: s("flex items-center", a), children: t })
36
- ), o = n(
37
- ({ children: t, className: a }, e) => /* @__PURE__ */ r.jsx(
38
- "div",
39
- {
40
- ref: e,
41
- className: s("font-semibold text-lg truncate min-w-0", a),
42
- children: t
43
- }
44
- )
45
- ), x = n(
46
- ({ children: t, className: a }, e) => /* @__PURE__ */ r.jsx(
47
- "div",
48
- {
49
- ref: e,
50
- className: s("text-xs text-slate-400 truncate min-w-0", a),
51
- children: t
52
- }
53
- )
54
- ), d = n(
55
- ({ children: t, className: a }, e) => /* @__PURE__ */ r.jsx(
56
- "div",
57
- {
58
- ref: e,
59
- className: s("flex items-center flex-grow justify-end gap-2", a),
60
- children: t
61
- }
62
- )
63
- ), f = n(
64
- ({ children: t, className: a, placement: e }, c) => /* @__PURE__ */ r.jsx(
65
- "div",
66
- {
67
- ref: c,
68
- className: s(p({ placement: e }), a),
69
- children: t
70
- }
71
- )
72
- ), u = ({
73
- children: t,
74
- className: a,
75
- variant: e = "primary"
76
- }) => /* @__PURE__ */ r.jsx(
77
- "header",
78
- {
79
- className: s(l({ variant: e }), a),
80
- role: "banner",
81
- children: t
82
- }
83
- ), B = Object.assign(u, {
84
- Leading: m,
85
- Headline: o,
86
- Subtitle: x,
87
- Trailing: d,
88
- Center: f
89
- });
90
- export {
91
- B as A
92
- };
@@ -1,91 +0,0 @@
1
- import { c as l, j as c } from "./index-DU1SCUkk.js";
2
- import { forwardRef as d, useState as g, useEffect as f, useCallback as h } from "react";
3
- import { c as u } from "./cn-Ca4KprQ1.js";
4
- const w = l(
5
- "inline-flex items-center justify-center font-medium text-white overflow-hidden transition-all duration-200 select-none relative",
6
- {
7
- variants: {
8
- variant: {
9
- // Core variants using Versaur color system
10
- primary: "bg-coral text-white",
11
- secondary: "bg-sage text-white",
12
- tertiary: "bg-mist text-white",
13
- ghost: "bg-slate text-white",
14
- neutral: "bg-neutral text-foreground border border-border",
15
- // Semantic variants
16
- success: "bg-success text-white",
17
- info: "bg-info text-white",
18
- warning: "bg-warning text-white",
19
- danger: "bg-danger text-white"
20
- },
21
- size: {
22
- xs: "h-6 w-6 text-xs",
23
- sm: "h-8 w-8 text-sm",
24
- md: "h-10 w-10 text-base",
25
- lg: "h-12 w-12 text-lg",
26
- xl: "h-16 w-16 text-xl"
27
- },
28
- shape: {
29
- circle: "rounded-full",
30
- square: "rounded-none",
31
- rounded: "rounded-md"
32
- }
33
- },
34
- defaultVariants: {
35
- variant: "primary",
36
- size: "md",
37
- shape: "circle"
38
- }
39
- }
40
- ), b = l(
41
- "absolute inset-0 h-full w-full object-cover"
42
- ), v = d(
43
- ({
44
- variant: e = "primary",
45
- size: r = "md",
46
- shape: a = "circle",
47
- className: t,
48
- children: s,
49
- ...n
50
- }, i) => /* @__PURE__ */ c.jsx(
51
- "div",
52
- {
53
- ref: i,
54
- className: u(w({ variant: e, size: r, shape: a }), t),
55
- ...n,
56
- children: s
57
- }
58
- )
59
- ), p = d(
60
- ({ src: e, alt: r, className: a, onError: t, ...s }, n) => {
61
- const [i, o] = g(!1);
62
- f(() => {
63
- o(!1);
64
- }, [e]);
65
- const m = h(
66
- (x) => {
67
- o(!0), t?.(x);
68
- },
69
- [t]
70
- );
71
- return i ? null : /* @__PURE__ */ c.jsx(
72
- "img",
73
- {
74
- ref: n,
75
- src: e,
76
- alt: r,
77
- className: u(b(), a),
78
- onError: m,
79
- ...s
80
- }
81
- );
82
- }
83
- ), A = Object.assign(v, {
84
- /**
85
- * AvatarImage sub-component for displaying images with fallback behavior
86
- */
87
- Image: p
88
- });
89
- export {
90
- A
91
- };
@@ -1,184 +0,0 @@
1
- import { c as d, j as t } from "./index-DU1SCUkk.js";
2
- import { forwardRef as m } from "react";
3
- import { c as g } from "./cn-Ca4KprQ1.js";
4
- const f = d(
5
- "inline-flex items-center justify-center font-medium transition-all duration-200 select-none text-xs px-2 py-0.5 gap-1 min-h-[1.25rem]",
6
- {
7
- variants: {
8
- variant: {
9
- default: "",
10
- outline: "border bg-transparent"
11
- },
12
- color: {
13
- // Core colors
14
- primary: "",
15
- secondary: "",
16
- tertiary: "",
17
- ghost: "",
18
- neutral: "",
19
- // Semantic colors
20
- success: "",
21
- info: "",
22
- warning: "",
23
- danger: ""
24
- },
25
- shape: {
26
- rounded: "rounded-full",
27
- square: "rounded-md"
28
- },
29
- iconOnly: {
30
- true: "",
31
- false: ""
32
- }
33
- },
34
- compoundVariants: [
35
- // Default variant color combinations - using light/soft backgrounds
36
- {
37
- variant: "default",
38
- color: "primary",
39
- className: "bg-coral/15 text-coral"
40
- },
41
- {
42
- variant: "default",
43
- color: "secondary",
44
- className: "bg-sage/15 text-sage"
45
- },
46
- {
47
- variant: "default",
48
- color: "tertiary",
49
- className: "bg-mist/15 text-mist"
50
- },
51
- {
52
- variant: "default",
53
- color: "ghost",
54
- className: "bg-slate/15 text-slate"
55
- },
56
- {
57
- variant: "default",
58
- color: "neutral",
59
- className: "bg-neutral text-foreground"
60
- },
61
- {
62
- variant: "default",
63
- color: "success",
64
- className: "bg-success/15 text-success"
65
- },
66
- {
67
- variant: "default",
68
- color: "info",
69
- className: "bg-info/15 text-info"
70
- },
71
- {
72
- variant: "default",
73
- color: "warning",
74
- className: "bg-warning/15 text-warning"
75
- },
76
- {
77
- variant: "default",
78
- color: "danger",
79
- className: "bg-danger/15 text-danger"
80
- },
81
- // Outline variant color combinations
82
- {
83
- variant: "outline",
84
- color: "primary",
85
- className: "border-coral text-coral"
86
- },
87
- {
88
- variant: "outline",
89
- color: "secondary",
90
- className: "border-sage text-sage"
91
- },
92
- {
93
- variant: "outline",
94
- color: "tertiary",
95
- className: "border-mist text-mist"
96
- },
97
- {
98
- variant: "outline",
99
- color: "ghost",
100
- className: "border-slate text-slate"
101
- },
102
- {
103
- variant: "outline",
104
- color: "neutral",
105
- className: "border-neutral text-foreground"
106
- },
107
- {
108
- variant: "outline",
109
- color: "success",
110
- className: "border-success text-success"
111
- },
112
- {
113
- variant: "outline",
114
- color: "info",
115
- className: "border-info text-info"
116
- },
117
- {
118
- variant: "outline",
119
- color: "warning",
120
- className: "border-warning text-warning"
121
- },
122
- {
123
- variant: "outline",
124
- color: "danger",
125
- className: "border-danger text-danger"
126
- },
127
- // Icon-only size adjustments
128
- {
129
- iconOnly: !0,
130
- className: "px-1 py-1 w-5 h-5"
131
- }
132
- ],
133
- defaultVariants: {
134
- variant: "default",
135
- color: "primary",
136
- shape: "square",
137
- iconOnly: !1
138
- }
139
- }
140
- ), x = m(
141
- ({
142
- variant: n = "default",
143
- shape: o = "square",
144
- color: l = "primary",
145
- iconLeft: e,
146
- iconRight: r,
147
- className: c,
148
- children: a,
149
- ...i
150
- }, u) => {
151
- const s = !(a != null && a !== "") && !!(e || r);
152
- return /* @__PURE__ */ t.jsx(
153
- "span",
154
- {
155
- ref: u,
156
- className: g(
157
- f({
158
- variant: n,
159
- color: l,
160
- shape: o,
161
- iconOnly: s
162
- }),
163
- c
164
- ),
165
- ...i,
166
- children: s ? (
167
- // Icon-only mode: display only the icon
168
- e || r
169
- ) : (
170
- // Normal mode: display icon(s) and text
171
- /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
172
- e,
173
- a,
174
- r
175
- ] })
176
- )
177
- }
178
- );
179
- }
180
- );
181
- x.displayName = "Badge";
182
- export {
183
- x as B
184
- };
@@ -1,73 +0,0 @@
1
- import { c as i, j as s } from "./index-DU1SCUkk.js";
2
- import { forwardRef as m } from "react";
3
- const l = i(
4
- "absolute bottom-0 left-0 w-full flex justify-between items-center bg-white border-t border-coral/10 z-40 safe-bottom px-6 py-1",
5
- {
6
- variants: {
7
- variant: {
8
- primary: "",
9
- secondary: "",
10
- ghost: "",
11
- neutral: "",
12
- tertiary: ""
13
- },
14
- size: {
15
- sm: "h-12 text-sm",
16
- md: "h-16 text-base",
17
- lg: "h-20 text-lg"
18
- }
19
- },
20
- defaultVariants: {
21
- variant: "primary",
22
- size: "md"
23
- }
24
- }
25
- ), c = i(
26
- "flex flex-col items-center justify-center gap-1 px-2 py-1 rounded transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-primary",
27
- {
28
- variants: {
29
- active: {
30
- true: "font-semibold text-coral",
31
- false: "text-slate"
32
- }
33
- },
34
- defaultVariants: {
35
- active: !1
36
- }
37
- }
38
- ), f = m(
39
- ({ icon: e, label: t, active: a = !1, className: o, ...r }, n) => /* @__PURE__ */ s.jsxs(
40
- "button",
41
- {
42
- ref: n,
43
- type: "button",
44
- "aria-current": a ? "page" : void 0,
45
- className: c({ active: a, className: o }),
46
- ...r,
47
- children: [
48
- e,
49
- t && /* @__PURE__ */ s.jsx("span", { className: "text-xs mt-0.5", children: t })
50
- ]
51
- }
52
- )
53
- ), x = ({
54
- children: e,
55
- variant: t = "primary",
56
- size: a = "md",
57
- className: o,
58
- ...r
59
- }) => /* @__PURE__ */ s.jsx(
60
- "nav",
61
- {
62
- role: "navigation",
63
- "aria-label": "Bottom navigation",
64
- className: l({ variant: t, size: a, className: o }),
65
- ...r,
66
- children: e
67
- }
68
- ), p = Object.assign(x, {
69
- Item: f
70
- });
71
- export {
72
- p as B
73
- };
@@ -1,59 +0,0 @@
1
- import { c as n, j as a } from "./index-DU1SCUkk.js";
2
- import { forwardRef as c } from "react";
3
- import { c as m } from "./cn-Ca4KprQ1.js";
4
- const d = n(
5
- "flex items-center gap-2 text-sm text-slate-700 dark:text-slate-200",
6
- {
7
- variants: {
8
- separator: {
9
- default: "gap-2",
10
- compact: "gap-1"
11
- }
12
- },
13
- defaultVariants: {
14
- separator: "default"
15
- }
16
- }
17
- ), u = n(
18
- "inline-flex items-center gap-1 transition-colors",
19
- {
20
- variants: {
21
- isCurrent: {
22
- true: "font-semibold text-slate-900 dark:text-white cursor-default",
23
- false: "hover:text-primary focus:text-primary text-slate-700 dark:text-slate-200"
24
- }
25
- },
26
- defaultVariants: {
27
- isCurrent: !1
28
- }
29
- }
30
- ), x = "mx-1 text-slate-400 dark:text-slate-500 select-none", f = c(function({ children: r, icon: t, isCurrent: e, className: s, ...o }, i) {
31
- return /* @__PURE__ */ a.jsx("li", { className: "flex items-center", children: /* @__PURE__ */ a.jsxs(
32
- "a",
33
- {
34
- ref: i,
35
- "aria-current": e ? "page" : void 0,
36
- tabIndex: e ? -1 : 0,
37
- className: m(u({ isCurrent: e }) + s),
38
- ...o,
39
- children: [
40
- t && /* @__PURE__ */ a.jsx("span", { className: "mr-1 inline-flex", children: t }),
41
- r
42
- ]
43
- }
44
- ) });
45
- });
46
- function p() {
47
- return /* @__PURE__ */ a.jsx("span", { className: x, "aria-hidden": "true", children: "/" });
48
- }
49
- const b = c(
50
- function({ children: r, "aria-label": t = "Breadcrumb", ...e }, s) {
51
- return /* @__PURE__ */ a.jsx("nav", { "aria-label": t, ...e, children: /* @__PURE__ */ a.jsx("ol", { ref: s, className: d(), children: r }) });
52
- }
53
- ), g = Object.assign(b, {
54
- Item: f,
55
- Separator: p
56
- });
57
- export {
58
- g as B
59
- };