mogh_ui 1.2.9 → 1.2.10

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.
@@ -120,8 +120,23 @@ function EntityHeader({
120
120
  }
121
121
  ),
122
122
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_core.Group, { fz: "md", tt: "uppercase", mt: "-8", gap: "sm", children: [
123
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Text, { c: color, fw: "600", children: state }),
124
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Text, { c: "dimmed", children: status })
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
+ import_core.Text,
125
+ {
126
+ component: typeof state === "string" ? void 0 : "div",
127
+ c: color,
128
+ fw: "600",
129
+ children: state
130
+ }
131
+ ),
132
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
133
+ import_core.Text,
134
+ {
135
+ component: typeof status === "string" ? void 0 : "div",
136
+ c: "dimmed",
137
+ children: status
138
+ }
139
+ )
125
140
  ] })
126
141
  ] })
127
142
  ] }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/entity-header.tsx"],"sourcesContent":["import { ActionIcon, Group, Stack, Text, TextInput } from \"@mantine/core\";\nimport { FC, ReactNode, useEffect, useState } from \"react\";\nimport { Edit, Save, X } from \"lucide-react\";\nimport { ColorIntention, hexColorByIntention } from \"../color\";\n\nexport interface EntityHeaderProps {\n name?: string;\n icon: FC<{ size?: string | number; color?: string }>;\n intent: ColorIntention;\n state?: ReactNode;\n status?: ReactNode;\n action?: ReactNode;\n onRename?: (name: string) => Promise<unknown>;\n renamePending?: boolean;\n}\n\nexport function EntityHeader({\n name,\n icon: Icon,\n intent,\n state,\n status,\n action,\n onRename: _onRename,\n renamePending,\n}: EntityHeaderProps) {\n const [editingName, setEditingName] = useState(false);\n const [newName, setNewName] = useState(name);\n useEffect(() => {\n setNewName(name);\n }, [name]);\n const color = hexColorByIntention(intent);\n const background = color ? color + \"25\" : undefined;\n const onRename =\n _onRename &&\n (() => {\n if (!newName) return;\n if (name === newName) {\n setEditingName(false);\n } else {\n _onRename(newName).then(() => setEditingName(false));\n }\n });\n return (\n <Group\n justify=\"space-between\"\n gap=\"lg\"\n px=\"xl\"\n py=\"md\"\n style={{\n background,\n borderTopLeftRadius: \"var(--mantine-radius-md)\",\n borderTopRightRadius: \"var(--mantine-radius-md)\",\n }}\n >\n <Group gap=\"lg\">\n <Icon size=\"2rem\" color={color} />\n <Stack gap=\"0\">\n {name && !onRename && (\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n )}\n {onRename && (\n <Group\n mb={editingName ? \"xs\" : undefined}\n gap=\"xs\"\n onClick={editingName ? undefined : () => setEditingName(true)}\n style={{ cursor: editingName ? undefined : \"pointer\" }}\n >\n {!editingName && (\n <>\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n <ActionIcon title=\"Rename\">\n <Edit size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n {editingName && (\n <>\n <TextInput\n placeholder=\"Enter name\"\n value={newName}\n onChange={(e) => setNewName(e.target.value)}\n onKeyDown={(e) => e.key === \"Enter\" && onRename()}\n disabled={renamePending}\n size=\"lg\"\n autoFocus\n />\n <ActionIcon\n variant=\"filled\"\n color=\"blue\"\n onClick={onRename}\n loading={renamePending}\n >\n <Save size=\"1rem\" />\n </ActionIcon>\n <ActionIcon\n variant=\"filled\"\n color=\"red\"\n onClick={() => {\n setNewName(name);\n setEditingName(false);\n }}\n >\n <X size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n </Group>\n )}\n <Group fz=\"md\" tt=\"uppercase\" mt=\"-8\" gap=\"sm\">\n <Text c={color} fw=\"600\">\n {state}\n </Text>\n <Text c=\"dimmed\">{status}</Text>\n </Group>\n </Stack>\n </Group>\n {action}\n </Group>\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/components/entity-header.tsx"],"sourcesContent":["import { ActionIcon, Group, Stack, Text, TextInput } from \"@mantine/core\";\nimport { FC, ReactNode, useEffect, useState } from \"react\";\nimport { Edit, Save, X } from \"lucide-react\";\nimport { ColorIntention, hexColorByIntention } from \"../color\";\n\nexport interface EntityHeaderProps {\n name?: string;\n icon: FC<{ size?: string | number; color?: string }>;\n intent: ColorIntention;\n state?: ReactNode;\n status?: ReactNode;\n action?: ReactNode;\n onRename?: (name: string) => Promise<unknown>;\n renamePending?: boolean;\n}\n\nexport function EntityHeader({\n name,\n icon: Icon,\n intent,\n state,\n status,\n action,\n onRename: _onRename,\n renamePending,\n}: EntityHeaderProps) {\n const [editingName, setEditingName] = useState(false);\n const [newName, setNewName] = useState(name);\n useEffect(() => {\n setNewName(name);\n }, [name]);\n const color = hexColorByIntention(intent);\n const background = color ? color + \"25\" : undefined;\n const onRename =\n _onRename &&\n (() => {\n if (!newName) return;\n if (name === newName) {\n setEditingName(false);\n } else {\n _onRename(newName).then(() => setEditingName(false));\n }\n });\n return (\n <Group\n justify=\"space-between\"\n gap=\"lg\"\n px=\"xl\"\n py=\"md\"\n style={{\n background,\n borderTopLeftRadius: \"var(--mantine-radius-md)\",\n borderTopRightRadius: \"var(--mantine-radius-md)\",\n }}\n >\n <Group gap=\"lg\">\n <Icon size=\"2rem\" color={color} />\n <Stack gap=\"0\">\n {name && !onRename && (\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n )}\n {onRename && (\n <Group\n mb={editingName ? \"xs\" : undefined}\n gap=\"xs\"\n onClick={editingName ? undefined : () => setEditingName(true)}\n style={{ cursor: editingName ? undefined : \"pointer\" }}\n >\n {!editingName && (\n <>\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n <ActionIcon title=\"Rename\">\n <Edit size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n {editingName && (\n <>\n <TextInput\n placeholder=\"Enter name\"\n value={newName}\n onChange={(e) => setNewName(e.target.value)}\n onKeyDown={(e) => e.key === \"Enter\" && onRename()}\n disabled={renamePending}\n size=\"lg\"\n autoFocus\n />\n <ActionIcon\n variant=\"filled\"\n color=\"blue\"\n onClick={onRename}\n loading={renamePending}\n >\n <Save size=\"1rem\" />\n </ActionIcon>\n <ActionIcon\n variant=\"filled\"\n color=\"red\"\n onClick={() => {\n setNewName(name);\n setEditingName(false);\n }}\n >\n <X size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n </Group>\n )}\n <Group fz=\"md\" tt=\"uppercase\" mt=\"-8\" gap=\"sm\">\n <Text\n component={typeof state === \"string\" ? undefined : \"div\"}\n c={color}\n fw=\"600\"\n >\n {state}\n </Text>\n <Text\n component={typeof status === \"string\" ? undefined : \"div\"}\n c=\"dimmed\"\n >\n {status}\n </Text>\n </Group>\n </Stack>\n </Group>\n {action}\n </Group>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-header.d.ts","sourceRoot":"","sources":["../../src/components/entity-header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAuB,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EAAE,SAAS,EACnB,aAAa,GACd,EAAE,iBAAiB,+BAmGnB"}
1
+ {"version":3,"file":"entity-header.d.ts","sourceRoot":"","sources":["../../src/components/entity-header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAuB,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EAAE,SAAS,EACnB,aAAa,GACd,EAAE,iBAAiB,+BA4GnB"}
@@ -97,8 +97,23 @@ function EntityHeader({
97
97
  }
98
98
  ),
99
99
  /* @__PURE__ */ jsxs(Group, { fz: "md", tt: "uppercase", mt: "-8", gap: "sm", children: [
100
- /* @__PURE__ */ jsx(Text, { c: color, fw: "600", children: state }),
101
- /* @__PURE__ */ jsx(Text, { c: "dimmed", children: status })
100
+ /* @__PURE__ */ jsx(
101
+ Text,
102
+ {
103
+ component: typeof state === "string" ? void 0 : "div",
104
+ c: color,
105
+ fw: "600",
106
+ children: state
107
+ }
108
+ ),
109
+ /* @__PURE__ */ jsx(
110
+ Text,
111
+ {
112
+ component: typeof status === "string" ? void 0 : "div",
113
+ c: "dimmed",
114
+ children: status
115
+ }
116
+ )
102
117
  ] })
103
118
  ] })
104
119
  ] }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/entity-header.tsx"],"sourcesContent":["import { ActionIcon, Group, Stack, Text, TextInput } from \"@mantine/core\";\nimport { FC, ReactNode, useEffect, useState } from \"react\";\nimport { Edit, Save, X } from \"lucide-react\";\nimport { ColorIntention, hexColorByIntention } from \"../color\";\n\nexport interface EntityHeaderProps {\n name?: string;\n icon: FC<{ size?: string | number; color?: string }>;\n intent: ColorIntention;\n state?: ReactNode;\n status?: ReactNode;\n action?: ReactNode;\n onRename?: (name: string) => Promise<unknown>;\n renamePending?: boolean;\n}\n\nexport function EntityHeader({\n name,\n icon: Icon,\n intent,\n state,\n status,\n action,\n onRename: _onRename,\n renamePending,\n}: EntityHeaderProps) {\n const [editingName, setEditingName] = useState(false);\n const [newName, setNewName] = useState(name);\n useEffect(() => {\n setNewName(name);\n }, [name]);\n const color = hexColorByIntention(intent);\n const background = color ? color + \"25\" : undefined;\n const onRename =\n _onRename &&\n (() => {\n if (!newName) return;\n if (name === newName) {\n setEditingName(false);\n } else {\n _onRename(newName).then(() => setEditingName(false));\n }\n });\n return (\n <Group\n justify=\"space-between\"\n gap=\"lg\"\n px=\"xl\"\n py=\"md\"\n style={{\n background,\n borderTopLeftRadius: \"var(--mantine-radius-md)\",\n borderTopRightRadius: \"var(--mantine-radius-md)\",\n }}\n >\n <Group gap=\"lg\">\n <Icon size=\"2rem\" color={color} />\n <Stack gap=\"0\">\n {name && !onRename && (\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n )}\n {onRename && (\n <Group\n mb={editingName ? \"xs\" : undefined}\n gap=\"xs\"\n onClick={editingName ? undefined : () => setEditingName(true)}\n style={{ cursor: editingName ? undefined : \"pointer\" }}\n >\n {!editingName && (\n <>\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n <ActionIcon title=\"Rename\">\n <Edit size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n {editingName && (\n <>\n <TextInput\n placeholder=\"Enter name\"\n value={newName}\n onChange={(e) => setNewName(e.target.value)}\n onKeyDown={(e) => e.key === \"Enter\" && onRename()}\n disabled={renamePending}\n size=\"lg\"\n autoFocus\n />\n <ActionIcon\n variant=\"filled\"\n color=\"blue\"\n onClick={onRename}\n loading={renamePending}\n >\n <Save size=\"1rem\" />\n </ActionIcon>\n <ActionIcon\n variant=\"filled\"\n color=\"red\"\n onClick={() => {\n setNewName(name);\n setEditingName(false);\n }}\n >\n <X size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n </Group>\n )}\n <Group fz=\"md\" tt=\"uppercase\" mt=\"-8\" gap=\"sm\">\n <Text c={color} fw=\"600\">\n {state}\n </Text>\n <Text c=\"dimmed\">{status}</Text>\n </Group>\n </Stack>\n </Group>\n {action}\n </Group>\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/components/entity-header.tsx"],"sourcesContent":["import { ActionIcon, Group, Stack, Text, TextInput } from \"@mantine/core\";\nimport { FC, ReactNode, useEffect, useState } from \"react\";\nimport { Edit, Save, X } from \"lucide-react\";\nimport { ColorIntention, hexColorByIntention } from \"../color\";\n\nexport interface EntityHeaderProps {\n name?: string;\n icon: FC<{ size?: string | number; color?: string }>;\n intent: ColorIntention;\n state?: ReactNode;\n status?: ReactNode;\n action?: ReactNode;\n onRename?: (name: string) => Promise<unknown>;\n renamePending?: boolean;\n}\n\nexport function EntityHeader({\n name,\n icon: Icon,\n intent,\n state,\n status,\n action,\n onRename: _onRename,\n renamePending,\n}: EntityHeaderProps) {\n const [editingName, setEditingName] = useState(false);\n const [newName, setNewName] = useState(name);\n useEffect(() => {\n setNewName(name);\n }, [name]);\n const color = hexColorByIntention(intent);\n const background = color ? color + \"25\" : undefined;\n const onRename =\n _onRename &&\n (() => {\n if (!newName) return;\n if (name === newName) {\n setEditingName(false);\n } else {\n _onRename(newName).then(() => setEditingName(false));\n }\n });\n return (\n <Group\n justify=\"space-between\"\n gap=\"lg\"\n px=\"xl\"\n py=\"md\"\n style={{\n background,\n borderTopLeftRadius: \"var(--mantine-radius-md)\",\n borderTopRightRadius: \"var(--mantine-radius-md)\",\n }}\n >\n <Group gap=\"lg\">\n <Icon size=\"2rem\" color={color} />\n <Stack gap=\"0\">\n {name && !onRename && (\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n )}\n {onRename && (\n <Group\n mb={editingName ? \"xs\" : undefined}\n gap=\"xs\"\n onClick={editingName ? undefined : () => setEditingName(true)}\n style={{ cursor: editingName ? undefined : \"pointer\" }}\n >\n {!editingName && (\n <>\n <Text fz=\"h1\" fw=\"bolder\">\n {name}\n </Text>\n <ActionIcon title=\"Rename\">\n <Edit size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n {editingName && (\n <>\n <TextInput\n placeholder=\"Enter name\"\n value={newName}\n onChange={(e) => setNewName(e.target.value)}\n onKeyDown={(e) => e.key === \"Enter\" && onRename()}\n disabled={renamePending}\n size=\"lg\"\n autoFocus\n />\n <ActionIcon\n variant=\"filled\"\n color=\"blue\"\n onClick={onRename}\n loading={renamePending}\n >\n <Save size=\"1rem\" />\n </ActionIcon>\n <ActionIcon\n variant=\"filled\"\n color=\"red\"\n onClick={() => {\n setNewName(name);\n setEditingName(false);\n }}\n >\n <X size=\"1rem\" />\n </ActionIcon>\n </>\n )}\n </Group>\n )}\n <Group fz=\"md\" tt=\"uppercase\" mt=\"-8\" gap=\"sm\">\n <Text\n component={typeof state === \"string\" ? undefined : \"div\"}\n c={color}\n fw=\"600\"\n >\n {state}\n </Text>\n <Text\n component={typeof status === \"string\" ? undefined : \"div\"}\n c=\"dimmed\"\n >\n {status}\n </Text>\n </Group>\n </Stack>\n </Group>\n {action}\n </Group>\n );\n}\n"],"mappings":"AAwDQ,SAeQ,UAfR,KAeQ,YAfR;AAxDR,SAAS,YAAY,OAAO,OAAO,MAAM,iBAAiB;AAC1D,SAAwB,WAAW,gBAAgB;AACnD,SAAS,MAAM,MAAM,SAAS;AAC9B,SAAyB,2BAA2B;AAa7C,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AACF,GAAsB;AACpB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,IAAI;AAC3C,YAAU,MAAM;AACd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,IAAI,CAAC;AACT,QAAM,QAAQ,oBAAoB,MAAM;AACxC,QAAM,aAAa,QAAQ,QAAQ,OAAO;AAC1C,QAAM,WACJ,cACC,MAAM;AACL,QAAI,CAAC,QAAS;AACd,QAAI,SAAS,SAAS;AACpB,qBAAe,KAAK;AAAA,IACtB,OAAO;AACL,gBAAU,OAAO,EAAE,KAAK,MAAM,eAAe,KAAK,CAAC;AAAA,IACrD;AAAA,EACF;AACF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,KAAI;AAAA,MACJ,IAAG;AAAA,MACH,IAAG;AAAA,MACH,OAAO;AAAA,QACL;AAAA,QACA,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,MACxB;AAAA,MAEA;AAAA,6BAAC,SAAM,KAAI,MACT;AAAA,8BAAC,QAAK,MAAK,QAAO,OAAc;AAAA,UAChC,qBAAC,SAAM,KAAI,KACR;AAAA,oBAAQ,CAAC,YACR,oBAAC,QAAK,IAAG,MAAK,IAAG,UACd,gBACH;AAAA,YAED,YACC;AAAA,cAAC;AAAA;AAAA,gBACC,IAAI,cAAc,OAAO;AAAA,gBACzB,KAAI;AAAA,gBACJ,SAAS,cAAc,SAAY,MAAM,eAAe,IAAI;AAAA,gBAC5D,OAAO,EAAE,QAAQ,cAAc,SAAY,UAAU;AAAA,gBAEpD;AAAA,mBAAC,eACA,iCACE;AAAA,wCAAC,QAAK,IAAG,MAAK,IAAG,UACd,gBACH;AAAA,oBACA,oBAAC,cAAW,OAAM,UAChB,8BAAC,QAAK,MAAK,QAAO,GACpB;AAAA,qBACF;AAAA,kBAED,eACC,iCACE;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,aAAY;AAAA,wBACZ,OAAO;AAAA,wBACP,UAAU,CAAC,MAAM,WAAW,EAAE,OAAO,KAAK;AAAA,wBAC1C,WAAW,CAAC,MAAM,EAAE,QAAQ,WAAW,SAAS;AAAA,wBAChD,UAAU;AAAA,wBACV,MAAK;AAAA,wBACL,WAAS;AAAA;AAAA,oBACX;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,OAAM;AAAA,wBACN,SAAS;AAAA,wBACT,SAAS;AAAA,wBAET,8BAAC,QAAK,MAAK,QAAO;AAAA;AAAA,oBACpB;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,OAAM;AAAA,wBACN,SAAS,MAAM;AACb,qCAAW,IAAI;AACf,yCAAe,KAAK;AAAA,wBACtB;AAAA,wBAEA,8BAAC,KAAE,MAAK,QAAO;AAAA;AAAA,oBACjB;AAAA,qBACF;AAAA;AAAA;AAAA,YAEJ;AAAA,YAEF,qBAAC,SAAM,IAAG,MAAK,IAAG,aAAY,IAAG,MAAK,KAAI,MACxC;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,OAAO,UAAU,WAAW,SAAY;AAAA,kBACnD,GAAG;AAAA,kBACH,IAAG;AAAA,kBAEF;AAAA;AAAA,cACH;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,OAAO,WAAW,WAAW,SAAY;AAAA,kBACpD,GAAE;AAAA,kBAED;AAAA;AAAA,cACH;AAAA,eACF;AAAA,aACF;AAAA,WACF;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mogh_ui",
3
- "version": "1.2.9",
3
+ "version": "1.2.10",
4
4
  "description": "Common UI components and styling used across Mogh apps.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",