@micro-cms/admin-ui 1.0.13 → 1.0.15
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.
- package/dist/index.css +1 -1
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -2
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\[9998\]{z-index:9998}.mcms-z-\[9999\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.mcms-bg-black\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover\:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.disabled\:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md\:mcms-inset-8{inset:2rem}.md\:mcms-block{display:block}.md\:mcms-p-12{padding:3rem}}
|
|
1
|
+
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\[9998\]{z-index:9998}.mcms-z-\[9999\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-4{height:1rem}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-4{width:1rem}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-cursor-pointer{cursor:pointer}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.mcms-bg-black\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-outline-none{outline:2px solid #0000;outline-offset:2px}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:mcms-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover\:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.focus\:mcms-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:mcms-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.disabled\:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md\:mcms-inset-8{inset:2rem}.md\:mcms-block{display:block}.md\:mcms-inline{display:inline}.md\:mcms-p-12{padding:3rem}}
|
package/dist/index.d.mts
CHANGED
|
@@ -38,6 +38,12 @@ interface AutoTableProps {
|
|
|
38
38
|
onDelete?: (item: any) => void;
|
|
39
39
|
onPageChange?: (page: number) => void;
|
|
40
40
|
onLimitChange?: (limit: number) => void;
|
|
41
|
+
onSearch?: (query: string) => void;
|
|
42
|
+
onSort?: (field: string, direction: 'asc' | 'desc') => void;
|
|
43
|
+
currentSort?: {
|
|
44
|
+
field: string;
|
|
45
|
+
direction: 'asc' | 'desc';
|
|
46
|
+
};
|
|
41
47
|
}
|
|
42
48
|
declare const AutoTable: React.FC<AutoTableProps>;
|
|
43
49
|
|
package/dist/index.d.ts
CHANGED
|
@@ -38,6 +38,12 @@ interface AutoTableProps {
|
|
|
38
38
|
onDelete?: (item: any) => void;
|
|
39
39
|
onPageChange?: (page: number) => void;
|
|
40
40
|
onLimitChange?: (limit: number) => void;
|
|
41
|
+
onSearch?: (query: string) => void;
|
|
42
|
+
onSort?: (field: string, direction: 'asc' | 'desc') => void;
|
|
43
|
+
currentSort?: {
|
|
44
|
+
field: string;
|
|
45
|
+
direction: 'asc' | 'desc';
|
|
46
|
+
};
|
|
41
47
|
}
|
|
42
48
|
declare const AutoTable: React.FC<AutoTableProps>;
|
|
43
49
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var L=Object.create;var h=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var G=(t,m)=>{for(var r in m)h(t,r,{get:m[r],enumerable:!0})},z=(t,m,r,o)=>{if(m&&typeof m=="object"||typeof m=="function")for(let c of j(m))!D.call(t,c)&&c!==r&&h(t,c,{get:()=>m[c],enumerable:!(o=V(m,c))||o.enumerable});return t};var v=(t,m,r)=>(r=t!=null?L(I(t)):{},z(m||!t||!t.__esModule?h(r,"default",{value:t,enumerable:!0}):r,t)),B=t=>z(h({},"__esModule",{value:!0}),t);var Z={};G(Z,{AutoForm:()=>q,AutoTable:()=>W,ComponentRegistry:()=>l,DefaultBooleanInput:()=>k,DefaultNumberInput:()=>f,DefaultTextInput:()=>w,MinimizeSquareMinimalisticLinear:()=>P,OffCanvas:()=>X,WindowMaximize:()=>E,default:()=>U,injectStyles:()=>u});module.exports=B(Z);var d=v(require("react")),C=class{constructor(){this.components=new Map}register(m,r){this.components.set(m,r)}get(m){return this.components.get(m)}},l=new C,w=({field:t,value:m,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name),d.default.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"text",value:m||"",onChange:o=>r(o.target.value),required:t.constraints?.required})),f=({field:t,value:m,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name),d.default.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"number",value:m||"",onChange:o=>r(Number(o.target.value))})),k=({field:t,value:m,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-2"},d.default.createElement("input",{type:"checkbox",checked:!!m,onChange:o=>r(o.target.checked)}),d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name));l.register("text",w);l.register("number",f);l.register("boolean",k);var p=v(require("react"));var q=({entity:t,initialData:m={},onSubmit:r})=>{let[o,c]=(0,p.useState)(m||{});(0,p.useEffect)(()=>{u()},[]),(0,p.useEffect)(()=>{c(m||{})},[m]);let x=(a,g)=>{c(n=>({...n,[a]:g}))};return p.default.createElement("form",{onSubmit:a=>{a.preventDefault(),r(o)},className:"mcms-space-y-6"},t.fields.map(a=>{let g=l.get(a.type)||w;return p.default.createElement("div",{key:a.name,className:"mcms-mb-2"},p.default.createElement(g,{field:a,value:o[a.name],onChange:n=>x(a.name,n)}))}),p.default.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-blue-600 mcms-text-white mcms-rounded hover:mcms-bg-blue-700 mcms-transition-colors"},"Save ",t.name))};var s=v(require("react"));var W=({entity:t,data:m,onEdit:r,onDelete:o,onPageChange:c,onLimitChange:x})=>{(0,s.useEffect)(()=>{u()},[]);let b=!Array.isArray(m)&&m&&"total"in m,a=b?m.data:m,g=b?m.total:a.length,n=b?m.page:1,N=b?m.limit:a.length;if(!a||a.length===0)return s.default.createElement("div",{className:"mcms-p-4 mcms-text-gray-500 mcms-text-center mcms-border mcms-rounded mcms-bg-white"},"No records found for ",t.name);let S=Math.ceil(g/N);return s.default.createElement("div",{className:"mcms-space-y-4"},s.default.createElement("div",{className:"mcms-overflow-x-auto mcms-border mcms-rounded mcms-bg-white mcms-shadow-sm"},s.default.createElement("table",{className:"mcms-min-w-full mcms-divide-y mcms-divide-gray-200"},s.default.createElement("thead",{className:"mcms-bg-gray-50"},s.default.createElement("tr",null,t.fields.map(i=>s.default.createElement("th",{key:i.name,className:"mcms-px-6 mcms-py-3 mcms-text-left mcms-text-xs mcms-font-medium mcms-text-gray-500 mcms-uppercase mcms-tracking-wider"},i.label||i.name)),(r||o)&&s.default.createElement("th",{className:"mcms-px-6 mcms-py-3 mcms-text-right"},"Actions"))),s.default.createElement("tbody",{className:"mcms-bg-white mcms-divide-y mcms-divide-gray-200"},a.map((i,T)=>s.default.createElement("tr",{key:i.id||T,className:"hover:mcms-bg-gray-50 mcms-transition-colors"},t.fields.map(y=>s.default.createElement("td",{key:y.name,className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-sm mcms-text-gray-900"},typeof i[y.name]=="boolean"?i[y.name]?"\u2705":"\u274C":String(i[y.name]??"-"))),(r||o)&&s.default.createElement("td",{className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-right mcms-text-sm mcms-font-medium"},r&&s.default.createElement("button",{onClick:()=>r(i),className:"mcms-text-blue-600 hover:mcms-text-blue-900 mcms-mr-4 mcms-font-semibold"},"Edit"),o&&s.default.createElement("button",{onClick:()=>o(i),className:"mcms-text-red-600 hover:mcms-text-red-900 mcms-font-semibold"},"Delete"))))))),b&&s.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-justify-between mcms-px-4 mcms-py-3 mcms-bg-white mcms-border mcms-rounded mcms-shadow-sm"},s.default.createElement("div",{className:"mcms-text-sm mcms-text-gray-700"},"Showing ",s.default.createElement("span",{className:"mcms-font-medium"},(n-1)*N+1)," to ",s.default.createElement("span",{className:"mcms-font-medium"},Math.min(n*N,g))," of ",s.default.createElement("span",{className:"mcms-font-medium"},g)," results"),s.default.createElement("div",{className:"mcms-flex mcms-gap-2"},s.default.createElement("button",{onClick:()=>c?.(n-1),disabled:n<=1,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Previous"),s.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-px-2 mcms-text-sm"},"Page ",n," of ",S),s.default.createElement("button",{onClick:()=>c?.(n+1),disabled:n>=S,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Next"))))};var e=v(require("react")),A=require("clsx"),F=require("tailwind-merge");function M(...t){return(0,F.twMerge)((0,A.clsx)(t))}function P(t){return e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...t},e.default.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.5"},e.default.createElement("path",{d:"M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22s-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12Z"}),e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 13.5h-3m3 0v3m0-3L7 17m6.5-6.5h3m-3 0v-3m0 3L17 7"})))}function E(t){return e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...t},e.default.createElement("path",{fill:"currentColor",d:"M18 20.75h-6a.75.75 0 0 1 0-1.5h6A1.25 1.25 0 0 0 19.25 18V6A1.25 1.25 0 0 0 18 4.75H6A1.25 1.25 0 0 0 4.75 6v6a.75.75 0 0 1-1.5 0V6A2.75 2.75 0 0 1 6 3.25h12A2.75 2.75 0 0 1 20.75 6v12A2.75 2.75 0 0 1 18 20.75"}),e.default.createElement("path",{fill:"currentColor",d:"M16 12.75a.76.76 0 0 1-.75-.75V8.75H12a.75.75 0 0 1 0-1.5h4a.76.76 0 0 1 .75.75v4a.76.76 0 0 1-.75.75"}),e.default.createElement("path",{fill:"currentColor",d:"M11.5 13.25A.74.74 0 0 1 11 13a.75.75 0 0 1 0-1l4.5-4.5a.75.75 0 0 1 1.06 1.06L12 13a.74.74 0 0 1-.5.25M8 20.75H5A1.76 1.76 0 0 1 3.25 19v-3A1.76 1.76 0 0 1 5 14.25h3A1.76 1.76 0 0 1 9.75 16v3A1.76 1.76 0 0 1 8 20.75m-3-5a.25.25 0 0 0-.25.25v3a.25.25 0 0 0 .25.25h3a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"}))}var X=({isOpen:t,onClose:m,title:r,children:o})=>{let[c,x]=(0,e.useState)(!1);(0,e.useEffect)(()=>{u()},[]),(0,e.useEffect)(()=>{let a=g=>{g.key==="Escape"&&m()};return t&&(document.addEventListener("keydown",a),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",a),document.body.style.overflow="auto"}},[t,m]),(0,e.useEffect)(()=>{t||setTimeout(()=>x(!1),300)},[t]);let b=()=>x(!c);return e.default.createElement(e.default.Fragment,null,e.default.createElement("div",{className:M("mcms-fixed mcms-inset-0 mcms-bg-black/40 mcms-backdrop-blur-sm mcms-transition-opacity mcms-z-[9998]",t?"mcms-opacity-100":"mcms-opacity-0 mcms-pointer-events-none")}),e.default.createElement("div",{className:M("mcms-fixed mcms-z-[9999] mcms-bg-white mcms-shadow-2xl mcms-transform mcms-transition-all mcms-duration-300 mcms-ease-in-out mcms-flex mcms-flex-col",t?"mcms-translate-x-0 mcms-opacity-100":"mcms-translate-x-full mcms-opacity-0",c?"mcms-inset-4 md:mcms-inset-8 mcms-rounded-2xl":"mcms-top-0 mcms-right-0 mcms-h-full mcms-w-full mcms-max-w-md mcms-border-l")},e.default.createElement("header",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-px-6 mcms-py-4 mcms-border-b mcms-bg-white mcms-rounded-t-2xl"},e.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-4"},e.default.createElement("h2",{className:"mcms-text-xl mcms-font-bold mcms-text-gray-900 mcms-truncate"},r)),e.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},e.default.createElement("button",{onClick:b,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500 mcms-hidden md:mcms-block",title:c?"Minimize":"Maximize"},c?e.default.createElement(E,null):e.default.createElement(P,null)),e.default.createElement("button",{onClick:m,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500","aria-label":"Close"},e.default.createElement("svg",{className:"mcms-w-6 mcms-h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}))))),e.default.createElement("div",{className:"mcms-flex-1 mcms-overflow-y-auto mcms-bg-gray-50/50"},e.default.createElement("div",{className:M("mcms-mx-auto mcms-transition-all mcms-duration-300",c?"mcms-max-w-4xl mcms-p-8 md:mcms-p-12":"mcms-p-6")},o))))};var Y="*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\\[9998\\]{z-index:9998}.mcms-z-\\[9999\\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black\\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.disabled:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md:mcms-inset-8{inset:2rem}.md:mcms-block{display:block}.md:mcms-p-12{padding:3rem}}",u=()=>{if(typeof document>"u"||document.getElementById("mcms-styles"))return;let t=document.createElement("style");t.id="mcms-styles",t.textContent=Y,document.head.appendChild(t)},H={manifest:{name:"@micro-cms/admin-ui",version:"0.0.1",provides:["admin-interface"],requires:["introspection"],pairsWith:{"@micro-cms/mock-db":{reason:"Admin needs data to display",strength:"recommended"}}},async load({context:t}){u(),l.register("text",w),l.register("number",f),l.register("boolean",k),t.subscribe("database.schema",m=>{console.log("Admin UI detected schema update",m)})}},U=H;0&&(module.exports={AutoForm,AutoTable,ComponentRegistry,DefaultBooleanInput,DefaultNumberInput,DefaultTextInput,MinimizeSquareMinimalisticLinear,OffCanvas,WindowMaximize,injectStyles});
|
|
1
|
+
"use strict";var G=Object.create;var C=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var U=(m,t)=>{for(var r in t)C(m,r,{get:t[r],enumerable:!0})},L=(m,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of H(t))!X.call(m,c)&&c!==r&&C(m,c,{get:()=>t[c],enumerable:!(a=q(t,c))||a.enumerable});return m};var f=(m,t,r)=>(r=m!=null?G(W(m)):{},L(t||!m||!m.__esModule?C(r,"default",{value:m,enumerable:!0}):r,m)),Z=m=>L(C({},"__esModule",{value:!0}),m);var mm={};U(mm,{AutoForm:()=>K,AutoTable:()=>Q,ComponentRegistry:()=>l,DefaultBooleanInput:()=>M,DefaultNumberInput:()=>S,DefaultTextInput:()=>w,MinimizeSquareMinimalisticLinear:()=>D,OffCanvas:()=>$,WindowMaximize:()=>I,default:()=>R,injectStyles:()=>g});module.exports=Z(mm);var d=f(require("react")),F=class{constructor(){this.components=new Map}register(t,r){this.components.set(t,r)}get(t){return this.components.get(t)}},l=new F,w=({field:m,value:t,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name),d.default.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"text",value:t||"",onChange:a=>r(a.target.value),required:m.constraints?.required})),S=({field:m,value:t,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name),d.default.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"number",value:t||"",onChange:a=>r(Number(a.target.value))})),M=({field:m,value:t,onChange:r})=>d.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-2"},d.default.createElement("input",{type:"checkbox",checked:!!t,onChange:a=>r(a.target.checked)}),d.default.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name));l.register("text",w);l.register("number",S);l.register("boolean",M);var p=f(require("react"));var K=({entity:m,initialData:t={},onSubmit:r})=>{let[a,c]=(0,p.useState)(t||{});(0,p.useEffect)(()=>{g()},[]),(0,p.useEffect)(()=>{c(t||{})},[t]);let x=(n,i)=>{c(b=>({...b,[n]:i}))};return p.default.createElement("form",{onSubmit:n=>{n.preventDefault(),r(a)},className:"mcms-space-y-6"},m.fields.map(n=>{let i=l.get(n.type)||w;return p.default.createElement("div",{key:n.name,className:"mcms-mb-2"},p.default.createElement(i,{field:n,value:a[n.name],onChange:b=>x(n.name,b)}))}),p.default.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-blue-600 mcms-text-white mcms-rounded hover:mcms-bg-blue-700 mcms-transition-colors"},"Save ",m.name))};var e=f(require("react"));var T=f(require("moment")),Q=({entity:m,data:t,onEdit:r,onDelete:a,onPageChange:c,onLimitChange:x,onSearch:h,onSort:n,currentSort:i})=>{let[b,B]=(0,e.useState)("");(0,e.useEffect)(()=>{g()},[]);let y=!Array.isArray(t)&&t&&"total"in t,v=y?t.data:t,k=y?t.total:v.length,u=y?t.page:1,z=y?t.limit:v.length,E=Math.ceil(k/z),Y=(o,N)=>o==null?"-":N==="boolean"?o?"\u2705":"\u274C":N==="date"||typeof o=="string"&&/^\d{4}-\d{2}-\d{2}/.test(o)?(0,T.default)(o).format("MMM DD, YYYY HH:mm"):String(o);return e.default.createElement("div",{className:"mcms-space-y-4"},e.default.createElement("div",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-gap-4"},h&&e.default.createElement("form",{onSubmit:o=>{o.preventDefault(),h?.(b)},className:"mcms-flex mcms-flex-1 mcms-max-w-md mcms-gap-2"},e.default.createElement("input",{type:"text",placeholder:`Search ${m.name}...`,value:b,onChange:o=>B(o.target.value),className:"mcms-flex-1 mcms-px-4 mcms-py-2 mcms-border mcms-rounded-lg mcms-text-sm focus:mcms-ring-2 focus:mcms-ring-blue-500 mcms-outline-none"}),e.default.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-gray-100 mcms-text-gray-700 mcms-rounded-lg mcms-font-semibold mcms-text-sm hover:mcms-bg-gray-200 mcms-transition-all mcms-flex mcms-items-center mcms-gap-2"},e.default.createElement("svg",{className:"mcms-w-4 mcms-h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})),e.default.createElement("span",{className:"mcms-hidden md:mcms-inline"},"Search")))),e.default.createElement("div",{className:"mcms-overflow-x-auto mcms-border mcms-rounded mcms-bg-white mcms-shadow-sm"},e.default.createElement("table",{className:"mcms-min-w-full mcms-divide-y mcms-divide-gray-200"},e.default.createElement("thead",{className:"mcms-bg-gray-50"},e.default.createElement("tr",null,m.fields.map(o=>e.default.createElement("th",{key:o.name,onClick:()=>n?.(o.name,i?.field===o.name&&i.direction==="asc"?"desc":"asc"),className:_("mcms-px-6 mcms-py-3 mcms-text-left mcms-text-xs mcms-font-medium mcms-text-gray-500 mcms-uppercase mcms-tracking-wider",n?"mcms-cursor-pointer hover:mcms-bg-gray-100":"")},e.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},o.label||o.name,n&&i?.field===o.name&&e.default.createElement("span",{className:"mcms-text-blue-600"},i.direction==="asc"?"\u2191":"\u2193")))),(r||a)&&e.default.createElement("th",{className:"mcms-px-6 mcms-py-3 mcms-text-right"},"Actions"))),e.default.createElement("tbody",{className:"mcms-bg-white mcms-divide-y mcms-divide-gray-200"},v.length===0?e.default.createElement("tr",null,e.default.createElement("td",{colSpan:m.fields.length+1,className:"mcms-px-6 mcms-py-10 mcms-text-center mcms-text-gray-500"},"No records found for ",m.name)):v.map((o,N)=>e.default.createElement("tr",{key:o.id||N,className:"hover:mcms-bg-gray-50 mcms-transition-colors"},m.fields.map(A=>e.default.createElement("td",{key:A.name,className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-sm mcms-text-gray-900"},Y(o[A.name],A.type))),(r||a)&&e.default.createElement("td",{className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-right mcms-text-sm mcms-font-medium"},r&&e.default.createElement("button",{onClick:()=>r(o),className:"mcms-text-blue-600 hover:mcms-text-blue-900 mcms-mr-4 mcms-font-semibold"},"Edit"),a&&e.default.createElement("button",{onClick:()=>a(o),className:"mcms-text-red-600 hover:mcms-text-red-900 mcms-font-semibold"},"Delete"))))))),y&&k>0&&e.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-justify-between mcms-px-4 mcms-py-3 mcms-bg-white mcms-border mcms-rounded mcms-shadow-sm"},e.default.createElement("div",{className:"mcms-text-sm mcms-text-gray-700"},"Showing ",e.default.createElement("span",{className:"mcms-font-medium"},(u-1)*z+1)," to ",e.default.createElement("span",{className:"mcms-font-medium"},Math.min(u*z,k))," of ",e.default.createElement("span",{className:"mcms-font-medium"},k)," results"),e.default.createElement("div",{className:"mcms-flex mcms-gap-2"},e.default.createElement("button",{onClick:()=>c?.(u-1),disabled:u<=1,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Previous"),e.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-px-2 mcms-text-sm"},"Page ",u," of ",E),e.default.createElement("button",{onClick:()=>c?.(u+1),disabled:u>=E,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Next"))))};function _(...m){return m.filter(Boolean).join(" ")}var s=f(require("react")),j=require("clsx"),V=require("tailwind-merge");function P(...m){return(0,V.twMerge)((0,j.clsx)(m))}function D(m){return s.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...m},s.default.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.5"},s.default.createElement("path",{d:"M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22s-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12Z"}),s.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 13.5h-3m3 0v3m0-3L7 17m6.5-6.5h3m-3 0v-3m0 3L17 7"})))}function I(m){return s.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...m},s.default.createElement("path",{fill:"currentColor",d:"M18 20.75h-6a.75.75 0 0 1 0-1.5h6A1.25 1.25 0 0 0 19.25 18V6A1.25 1.25 0 0 0 18 4.75H6A1.25 1.25 0 0 0 4.75 6v6a.75.75 0 0 1-1.5 0V6A2.75 2.75 0 0 1 6 3.25h12A2.75 2.75 0 0 1 20.75 6v12A2.75 2.75 0 0 1 18 20.75"}),s.default.createElement("path",{fill:"currentColor",d:"M16 12.75a.76.76 0 0 1-.75-.75V8.75H12a.75.75 0 0 1 0-1.5h4a.76.76 0 0 1 .75.75v4a.76.76 0 0 1-.75.75"}),s.default.createElement("path",{fill:"currentColor",d:"M11.5 13.25A.74.74 0 0 1 11 13a.75.75 0 0 1 0-1l4.5-4.5a.75.75 0 0 1 1.06 1.06L12 13a.74.74 0 0 1-.5.25M8 20.75H5A1.76 1.76 0 0 1 3.25 19v-3A1.76 1.76 0 0 1 5 14.25h3A1.76 1.76 0 0 1 9.75 16v3A1.76 1.76 0 0 1 8 20.75m-3-5a.25.25 0 0 0-.25.25v3a.25.25 0 0 0 .25.25h3a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"}))}var $=({isOpen:m,onClose:t,title:r,children:a})=>{let[c,x]=(0,s.useState)(!1);(0,s.useEffect)(()=>{g()},[]),(0,s.useEffect)(()=>{let n=i=>{i.key==="Escape"&&t()};return m&&(document.addEventListener("keydown",n),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",n),document.body.style.overflow="auto"}},[m,t]),(0,s.useEffect)(()=>{m||setTimeout(()=>x(!1),300)},[m]);let h=()=>x(!c);return s.default.createElement(s.default.Fragment,null,s.default.createElement("div",{className:P("mcms-fixed mcms-inset-0 mcms-bg-black/40 mcms-backdrop-blur-sm mcms-transition-opacity mcms-z-[9998]",m?"mcms-opacity-100":"mcms-opacity-0 mcms-pointer-events-none")}),s.default.createElement("div",{className:P("mcms-fixed mcms-z-[9999] mcms-bg-white mcms-shadow-2xl mcms-transform mcms-transition-all mcms-duration-300 mcms-ease-in-out mcms-flex mcms-flex-col",m?"mcms-translate-x-0 mcms-opacity-100":"mcms-translate-x-full mcms-opacity-0",c?"mcms-inset-4 md:mcms-inset-8 mcms-rounded-2xl":"mcms-top-0 mcms-right-0 mcms-h-full mcms-w-full mcms-max-w-md mcms-border-l")},s.default.createElement("header",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-px-6 mcms-py-4 mcms-border-b mcms-bg-white mcms-rounded-t-2xl"},s.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-4"},s.default.createElement("h2",{className:"mcms-text-xl mcms-font-bold mcms-text-gray-900 mcms-truncate"},r)),s.default.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},s.default.createElement("button",{onClick:h,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500 mcms-hidden md:mcms-block",title:c?"Minimize":"Maximize"},c?s.default.createElement(I,null):s.default.createElement(D,null)),s.default.createElement("button",{onClick:t,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500","aria-label":"Close"},s.default.createElement("svg",{className:"mcms-w-6 mcms-h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},s.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}))))),s.default.createElement("div",{className:"mcms-flex-1 mcms-overflow-y-auto mcms-bg-gray-50/50"},s.default.createElement("div",{className:P("mcms-mx-auto mcms-transition-all mcms-duration-300",c?"mcms-max-w-4xl mcms-p-8 md:mcms-p-12":"mcms-p-6")},a))))};var J="*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\\[9998\\]{z-index:9998}.mcms-z-\\[9999\\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black\\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.disabled:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md:mcms-inset-8{inset:2rem}.md:mcms-block{display:block}.md:mcms-p-12{padding:3rem}}",g=()=>{if(typeof document>"u"||document.getElementById("mcms-styles"))return;let m=document.createElement("style");m.id="mcms-styles",m.textContent=J,document.head.appendChild(m)},O={manifest:{name:"@micro-cms/admin-ui",version:"0.0.1",provides:["admin-interface"],requires:["introspection"],pairsWith:{"@micro-cms/mock-db":{reason:"Admin needs data to display",strength:"recommended"}}},async load({context:m}){g(),l.register("text",w),l.register("number",S),l.register("boolean",M),m.subscribe("database.schema",t=>{console.log("Admin UI detected schema update",t)})}},R=O;0&&(module.exports={AutoForm,AutoTable,ComponentRegistry,DefaultBooleanInput,DefaultNumberInput,DefaultTextInput,MinimizeSquareMinimalisticLinear,OffCanvas,WindowMaximize,injectStyles});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import l from"react";var v=class{constructor(){this.components=new Map}register(m,o){this.components.set(m,o)}get(m){return this.components.get(m)}},p=new v,w=({field:t,value:m,onChange:o})=>l.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},l.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name),l.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"text",value:m||"",onChange:a=>o(a.target.value),required:t.constraints?.required})),f=({field:t,value:m,onChange:o})=>l.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},l.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name),l.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"number",value:m||"",onChange:a=>o(Number(a.target.value))})),k=({field:t,value:m,onChange:o})=>l.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-2"},l.createElement("input",{type:"checkbox",checked:!!m,onChange:a=>o(a.target.checked)}),l.createElement("label",{className:"mcms-text-sm mcms-font-medium"},t.label||t.name));p.register("text",w);p.register("number",f);p.register("boolean",k);import y,{useState as A,useEffect as S}from"react";var X=({entity:t,initialData:m={},onSubmit:o})=>{let[a,c]=A(m||{});S(()=>{b()},[]),S(()=>{c(m||{})},[m]);let u=(r,d)=>{c(n=>({...n,[r]:d}))};return y.createElement("form",{onSubmit:r=>{r.preventDefault(),o(a)},className:"mcms-space-y-6"},t.fields.map(r=>{let d=p.get(r.type)||w;return y.createElement("div",{key:r.name,className:"mcms-mb-2"},y.createElement(d,{field:r,value:a[r.name],onChange:n=>u(r.name,n)}))}),y.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-blue-600 mcms-text-white mcms-rounded hover:mcms-bg-blue-700 mcms-transition-colors"},"Save ",t.name))};import s,{useEffect as F}from"react";var Z=({entity:t,data:m,onEdit:o,onDelete:a,onPageChange:c,onLimitChange:u})=>{F(()=>{b()},[]);let g=!Array.isArray(m)&&m&&"total"in m,r=g?m.data:m,d=g?m.total:r.length,n=g?m.page:1,h=g?m.limit:r.length;if(!r||r.length===0)return s.createElement("div",{className:"mcms-p-4 mcms-text-gray-500 mcms-text-center mcms-border mcms-rounded mcms-bg-white"},"No records found for ",t.name);let M=Math.ceil(d/h);return s.createElement("div",{className:"mcms-space-y-4"},s.createElement("div",{className:"mcms-overflow-x-auto mcms-border mcms-rounded mcms-bg-white mcms-shadow-sm"},s.createElement("table",{className:"mcms-min-w-full mcms-divide-y mcms-divide-gray-200"},s.createElement("thead",{className:"mcms-bg-gray-50"},s.createElement("tr",null,t.fields.map(i=>s.createElement("th",{key:i.name,className:"mcms-px-6 mcms-py-3 mcms-text-left mcms-text-xs mcms-font-medium mcms-text-gray-500 mcms-uppercase mcms-tracking-wider"},i.label||i.name)),(o||a)&&s.createElement("th",{className:"mcms-px-6 mcms-py-3 mcms-text-right"},"Actions"))),s.createElement("tbody",{className:"mcms-bg-white mcms-divide-y mcms-divide-gray-200"},r.map((i,z)=>s.createElement("tr",{key:i.id||z,className:"hover:mcms-bg-gray-50 mcms-transition-colors"},t.fields.map(x=>s.createElement("td",{key:x.name,className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-sm mcms-text-gray-900"},typeof i[x.name]=="boolean"?i[x.name]?"\u2705":"\u274C":String(i[x.name]??"-"))),(o||a)&&s.createElement("td",{className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-right mcms-text-sm mcms-font-medium"},o&&s.createElement("button",{onClick:()=>o(i),className:"mcms-text-blue-600 hover:mcms-text-blue-900 mcms-mr-4 mcms-font-semibold"},"Edit"),a&&s.createElement("button",{onClick:()=>a(i),className:"mcms-text-red-600 hover:mcms-text-red-900 mcms-font-semibold"},"Delete"))))))),g&&s.createElement("div",{className:"mcms-flex mcms-items-center mcms-justify-between mcms-px-4 mcms-py-3 mcms-bg-white mcms-border mcms-rounded mcms-shadow-sm"},s.createElement("div",{className:"mcms-text-sm mcms-text-gray-700"},"Showing ",s.createElement("span",{className:"mcms-font-medium"},(n-1)*h+1)," to ",s.createElement("span",{className:"mcms-font-medium"},Math.min(n*h,d))," of ",s.createElement("span",{className:"mcms-font-medium"},d)," results"),s.createElement("div",{className:"mcms-flex mcms-gap-2"},s.createElement("button",{onClick:()=>c?.(n-1),disabled:n<=1,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Previous"),s.createElement("div",{className:"mcms-flex mcms-items-center mcms-px-2 mcms-text-sm"},"Page ",n," of ",M),s.createElement("button",{onClick:()=>c?.(n+1),disabled:n>=M,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Next"))))};import e,{useEffect as N,useState as P}from"react";import{clsx as E}from"clsx";import{twMerge as T}from"tailwind-merge";function C(...t){return T(E(t))}function L(t){return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...t},e.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.5"},e.createElement("path",{d:"M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22s-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12Z"}),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 13.5h-3m3 0v3m0-3L7 17m6.5-6.5h3m-3 0v-3m0 3L17 7"})))}function V(t){return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...t},e.createElement("path",{fill:"currentColor",d:"M18 20.75h-6a.75.75 0 0 1 0-1.5h6A1.25 1.25 0 0 0 19.25 18V6A1.25 1.25 0 0 0 18 4.75H6A1.25 1.25 0 0 0 4.75 6v6a.75.75 0 0 1-1.5 0V6A2.75 2.75 0 0 1 6 3.25h12A2.75 2.75 0 0 1 20.75 6v12A2.75 2.75 0 0 1 18 20.75"}),e.createElement("path",{fill:"currentColor",d:"M16 12.75a.76.76 0 0 1-.75-.75V8.75H12a.75.75 0 0 1 0-1.5h4a.76.76 0 0 1 .75.75v4a.76.76 0 0 1-.75.75"}),e.createElement("path",{fill:"currentColor",d:"M11.5 13.25A.74.74 0 0 1 11 13a.75.75 0 0 1 0-1l4.5-4.5a.75.75 0 0 1 1.06 1.06L12 13a.74.74 0 0 1-.5.25M8 20.75H5A1.76 1.76 0 0 1 3.25 19v-3A1.76 1.76 0 0 1 5 14.25h3A1.76 1.76 0 0 1 9.75 16v3A1.76 1.76 0 0 1 8 20.75m-3-5a.25.25 0 0 0-.25.25v3a.25.25 0 0 0 .25.25h3a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"}))}var R=({isOpen:t,onClose:m,title:o,children:a})=>{let[c,u]=P(!1);N(()=>{b()},[]),N(()=>{let r=d=>{d.key==="Escape"&&m()};return t&&(document.addEventListener("keydown",r),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",r),document.body.style.overflow="auto"}},[t,m]),N(()=>{t||setTimeout(()=>u(!1),300)},[t]);let g=()=>u(!c);return e.createElement(e.Fragment,null,e.createElement("div",{className:C("mcms-fixed mcms-inset-0 mcms-bg-black/40 mcms-backdrop-blur-sm mcms-transition-opacity mcms-z-[9998]",t?"mcms-opacity-100":"mcms-opacity-0 mcms-pointer-events-none")}),e.createElement("div",{className:C("mcms-fixed mcms-z-[9999] mcms-bg-white mcms-shadow-2xl mcms-transform mcms-transition-all mcms-duration-300 mcms-ease-in-out mcms-flex mcms-flex-col",t?"mcms-translate-x-0 mcms-opacity-100":"mcms-translate-x-full mcms-opacity-0",c?"mcms-inset-4 md:mcms-inset-8 mcms-rounded-2xl":"mcms-top-0 mcms-right-0 mcms-h-full mcms-w-full mcms-max-w-md mcms-border-l")},e.createElement("header",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-px-6 mcms-py-4 mcms-border-b mcms-bg-white mcms-rounded-t-2xl"},e.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-4"},e.createElement("h2",{className:"mcms-text-xl mcms-font-bold mcms-text-gray-900 mcms-truncate"},o)),e.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},e.createElement("button",{onClick:g,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500 mcms-hidden md:mcms-block",title:c?"Minimize":"Maximize"},c?e.createElement(V,null):e.createElement(L,null)),e.createElement("button",{onClick:m,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500","aria-label":"Close"},e.createElement("svg",{className:"mcms-w-6 mcms-h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}))))),e.createElement("div",{className:"mcms-flex-1 mcms-overflow-y-auto mcms-bg-gray-50/50"},e.createElement("div",{className:C("mcms-mx-auto mcms-transition-all mcms-duration-300",c?"mcms-max-w-4xl mcms-p-8 md:mcms-p-12":"mcms-p-6")},a))))};var j="*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\\[9998\\]{z-index:9998}.mcms-z-\\[9999\\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black\\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.disabled:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md:mcms-inset-8{inset:2rem}.md:mcms-block{display:block}.md:mcms-p-12{padding:3rem}}",b=()=>{if(typeof document>"u"||document.getElementById("mcms-styles"))return;let t=document.createElement("style");t.id="mcms-styles",t.textContent=j,document.head.appendChild(t)},I={manifest:{name:"@micro-cms/admin-ui",version:"0.0.1",provides:["admin-interface"],requires:["introspection"],pairsWith:{"@micro-cms/mock-db":{reason:"Admin needs data to display",strength:"recommended"}}},async load({context:t}){b(),p.register("text",w),p.register("number",f),p.register("boolean",k),t.subscribe("database.schema",m=>{console.log("Admin UI detected schema update",m)})}},et=I;export{X as AutoForm,Z as AutoTable,p as ComponentRegistry,k as DefaultBooleanInput,f as DefaultNumberInput,w as DefaultTextInput,L as MinimizeSquareMinimalisticLinear,R as OffCanvas,V as WindowMaximize,et as default,b as injectStyles};
|
|
1
|
+
import d from"react";var S=class{constructor(){this.components=new Map}register(e,o){this.components.set(e,o)}get(e){return this.components.get(e)}},l=new S,h=({field:m,value:e,onChange:o})=>d.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name),d.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"text",value:e||"",onChange:c=>o(c.target.value),required:m.constraints?.required})),M=({field:m,value:e,onChange:o})=>d.createElement("div",{className:"mcms-flex mcms-flex-col mcms-gap-1"},d.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name),d.createElement("input",{className:"mcms-border mcms-rounded mcms-px-2 mcms-py-1",type:"number",value:e||"",onChange:c=>o(Number(c.target.value))})),z=({field:m,value:e,onChange:o})=>d.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-2"},d.createElement("input",{type:"checkbox",checked:!!e,onChange:c=>o(c.target.checked)}),d.createElement("label",{className:"mcms-text-sm mcms-font-medium"},m.label||m.name));l.register("text",h);l.register("number",M);l.register("boolean",z);import k,{useState as j,useEffect as E}from"react";var O=({entity:m,initialData:e={},onSubmit:o})=>{let[c,n]=j(e||{});E(()=>{g()},[]),E(()=>{n(e||{})},[e]);let b=(a,i)=>{n(u=>({...u,[a]:i}))};return k.createElement("form",{onSubmit:a=>{a.preventDefault(),o(c)},className:"mcms-space-y-6"},m.fields.map(a=>{let i=l.get(a.type)||h;return k.createElement("div",{key:a.name,className:"mcms-mb-2"},k.createElement(i,{field:a,value:c[a.name],onChange:u=>b(a.name,u)}))}),k.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-blue-600 mcms-text-white mcms-rounded hover:mcms-bg-blue-700 mcms-transition-colors"},"Save ",m.name))};import t,{useEffect as V,useState as D}from"react";import I from"moment";var sm=({entity:m,data:e,onEdit:o,onDelete:c,onPageChange:n,onLimitChange:b,onSearch:w,onSort:a,currentSort:i})=>{let[u,L]=D("");V(()=>{g()},[]);let x=!Array.isArray(e)&&e&&"total"in e,y=x?e.data:e,f=x?e.total:y.length,p=x?e.page:1,N=x?e.limit:y.length,P=Math.ceil(f/N),T=(r,v)=>r==null?"-":v==="boolean"?r?"\u2705":"\u274C":v==="date"||typeof r=="string"&&/^\d{4}-\d{2}-\d{2}/.test(r)?I(r).format("MMM DD, YYYY HH:mm"):String(r);return t.createElement("div",{className:"mcms-space-y-4"},t.createElement("div",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-gap-4"},w&&t.createElement("form",{onSubmit:r=>{r.preventDefault(),w?.(u)},className:"mcms-flex mcms-flex-1 mcms-max-w-md mcms-gap-2"},t.createElement("input",{type:"text",placeholder:`Search ${m.name}...`,value:u,onChange:r=>L(r.target.value),className:"mcms-flex-1 mcms-px-4 mcms-py-2 mcms-border mcms-rounded-lg mcms-text-sm focus:mcms-ring-2 focus:mcms-ring-blue-500 mcms-outline-none"}),t.createElement("button",{type:"submit",className:"mcms-px-4 mcms-py-2 mcms-bg-gray-100 mcms-text-gray-700 mcms-rounded-lg mcms-font-semibold mcms-text-sm hover:mcms-bg-gray-200 mcms-transition-all mcms-flex mcms-items-center mcms-gap-2"},t.createElement("svg",{className:"mcms-w-4 mcms-h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},t.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})),t.createElement("span",{className:"mcms-hidden md:mcms-inline"},"Search")))),t.createElement("div",{className:"mcms-overflow-x-auto mcms-border mcms-rounded mcms-bg-white mcms-shadow-sm"},t.createElement("table",{className:"mcms-min-w-full mcms-divide-y mcms-divide-gray-200"},t.createElement("thead",{className:"mcms-bg-gray-50"},t.createElement("tr",null,m.fields.map(r=>t.createElement("th",{key:r.name,onClick:()=>a?.(r.name,i?.field===r.name&&i.direction==="asc"?"desc":"asc"),className:B("mcms-px-6 mcms-py-3 mcms-text-left mcms-text-xs mcms-font-medium mcms-text-gray-500 mcms-uppercase mcms-tracking-wider",a?"mcms-cursor-pointer hover:mcms-bg-gray-100":"")},t.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},r.label||r.name,a&&i?.field===r.name&&t.createElement("span",{className:"mcms-text-blue-600"},i.direction==="asc"?"\u2191":"\u2193")))),(o||c)&&t.createElement("th",{className:"mcms-px-6 mcms-py-3 mcms-text-right"},"Actions"))),t.createElement("tbody",{className:"mcms-bg-white mcms-divide-y mcms-divide-gray-200"},y.length===0?t.createElement("tr",null,t.createElement("td",{colSpan:m.fields.length+1,className:"mcms-px-6 mcms-py-10 mcms-text-center mcms-text-gray-500"},"No records found for ",m.name)):y.map((r,v)=>t.createElement("tr",{key:r.id||v,className:"hover:mcms-bg-gray-50 mcms-transition-colors"},m.fields.map(C=>t.createElement("td",{key:C.name,className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-sm mcms-text-gray-900"},T(r[C.name],C.type))),(o||c)&&t.createElement("td",{className:"mcms-px-6 mcms-py-4 mcms-whitespace-nowrap mcms-text-right mcms-text-sm mcms-font-medium"},o&&t.createElement("button",{onClick:()=>o(r),className:"mcms-text-blue-600 hover:mcms-text-blue-900 mcms-mr-4 mcms-font-semibold"},"Edit"),c&&t.createElement("button",{onClick:()=>c(r),className:"mcms-text-red-600 hover:mcms-text-red-900 mcms-font-semibold"},"Delete"))))))),x&&f>0&&t.createElement("div",{className:"mcms-flex mcms-items-center mcms-justify-between mcms-px-4 mcms-py-3 mcms-bg-white mcms-border mcms-rounded mcms-shadow-sm"},t.createElement("div",{className:"mcms-text-sm mcms-text-gray-700"},"Showing ",t.createElement("span",{className:"mcms-font-medium"},(p-1)*N+1)," to ",t.createElement("span",{className:"mcms-font-medium"},Math.min(p*N,f))," of ",t.createElement("span",{className:"mcms-font-medium"},f)," results"),t.createElement("div",{className:"mcms-flex mcms-gap-2"},t.createElement("button",{onClick:()=>n?.(p-1),disabled:p<=1,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Previous"),t.createElement("div",{className:"mcms-flex mcms-items-center mcms-px-2 mcms-text-sm"},"Page ",p," of ",P),t.createElement("button",{onClick:()=>n?.(p+1),disabled:p>=P,className:"mcms-px-3 mcms-py-1 mcms-border mcms-rounded mcms-text-sm disabled:mcms-opacity-50 hover:mcms-bg-gray-50"},"Next"))))};function B(...m){return m.filter(Boolean).join(" ")}import s,{useEffect as A,useState as Y}from"react";import{clsx as G}from"clsx";import{twMerge as q}from"tailwind-merge";function F(...m){return q(G(m))}function H(m){return s.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...m},s.createElement("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.5"},s.createElement("path",{d:"M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22s-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12Z"}),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 13.5h-3m3 0v3m0-3L7 17m6.5-6.5h3m-3 0v-3m0 3L17 7"})))}function W(m){return s.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em",...m},s.createElement("path",{fill:"currentColor",d:"M18 20.75h-6a.75.75 0 0 1 0-1.5h6A1.25 1.25 0 0 0 19.25 18V6A1.25 1.25 0 0 0 18 4.75H6A1.25 1.25 0 0 0 4.75 6v6a.75.75 0 0 1-1.5 0V6A2.75 2.75 0 0 1 6 3.25h12A2.75 2.75 0 0 1 20.75 6v12A2.75 2.75 0 0 1 18 20.75"}),s.createElement("path",{fill:"currentColor",d:"M16 12.75a.76.76 0 0 1-.75-.75V8.75H12a.75.75 0 0 1 0-1.5h4a.76.76 0 0 1 .75.75v4a.76.76 0 0 1-.75.75"}),s.createElement("path",{fill:"currentColor",d:"M11.5 13.25A.74.74 0 0 1 11 13a.75.75 0 0 1 0-1l4.5-4.5a.75.75 0 0 1 1.06 1.06L12 13a.74.74 0 0 1-.5.25M8 20.75H5A1.76 1.76 0 0 1 3.25 19v-3A1.76 1.76 0 0 1 5 14.25h3A1.76 1.76 0 0 1 9.75 16v3A1.76 1.76 0 0 1 8 20.75m-3-5a.25.25 0 0 0-.25.25v3a.25.25 0 0 0 .25.25h3a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"}))}var dm=({isOpen:m,onClose:e,title:o,children:c})=>{let[n,b]=Y(!1);A(()=>{g()},[]),A(()=>{let a=i=>{i.key==="Escape"&&e()};return m&&(document.addEventListener("keydown",a),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",a),document.body.style.overflow="auto"}},[m,e]),A(()=>{m||setTimeout(()=>b(!1),300)},[m]);let w=()=>b(!n);return s.createElement(s.Fragment,null,s.createElement("div",{className:F("mcms-fixed mcms-inset-0 mcms-bg-black/40 mcms-backdrop-blur-sm mcms-transition-opacity mcms-z-[9998]",m?"mcms-opacity-100":"mcms-opacity-0 mcms-pointer-events-none")}),s.createElement("div",{className:F("mcms-fixed mcms-z-[9999] mcms-bg-white mcms-shadow-2xl mcms-transform mcms-transition-all mcms-duration-300 mcms-ease-in-out mcms-flex mcms-flex-col",m?"mcms-translate-x-0 mcms-opacity-100":"mcms-translate-x-full mcms-opacity-0",n?"mcms-inset-4 md:mcms-inset-8 mcms-rounded-2xl":"mcms-top-0 mcms-right-0 mcms-h-full mcms-w-full mcms-max-w-md mcms-border-l")},s.createElement("header",{className:"mcms-flex mcms-justify-between mcms-items-center mcms-px-6 mcms-py-4 mcms-border-b mcms-bg-white mcms-rounded-t-2xl"},s.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-4"},s.createElement("h2",{className:"mcms-text-xl mcms-font-bold mcms-text-gray-900 mcms-truncate"},o)),s.createElement("div",{className:"mcms-flex mcms-items-center mcms-gap-1"},s.createElement("button",{onClick:w,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500 mcms-hidden md:mcms-block",title:n?"Minimize":"Maximize"},n?s.createElement(W,null):s.createElement(H,null)),s.createElement("button",{onClick:e,type:"button",className:"mcms-p-2 hover:mcms-bg-gray-100 mcms-rounded-lg mcms-transition-colors mcms-text-gray-500","aria-label":"Close"},s.createElement("svg",{className:"mcms-w-6 mcms-h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"}))))),s.createElement("div",{className:"mcms-flex-1 mcms-overflow-y-auto mcms-bg-gray-50/50"},s.createElement("div",{className:F("mcms-mx-auto mcms-transition-all mcms-duration-300",n?"mcms-max-w-4xl mcms-p-8 md:mcms-p-12":"mcms-p-6")},c))))};var X="*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mcms-pointer-events-none{pointer-events:none}.mcms-fixed{position:fixed}.mcms-inset-0{inset:0}.mcms-inset-4{inset:1rem}.mcms-right-0{right:0}.mcms-top-0{top:0}.mcms-z-\\[9998\\]{z-index:9998}.mcms-z-\\[9999\\]{z-index:9999}.mcms-mx-auto{margin-left:auto;margin-right:auto}.mcms-mb-2{margin-bottom:.5rem}.mcms-mr-4{margin-right:1rem}.mcms-flex{display:flex}.mcms-hidden{display:none}.mcms-h-6{height:1.5rem}.mcms-h-full{height:100%}.mcms-w-6{width:1.5rem}.mcms-w-full{width:100%}.mcms-min-w-full{min-width:100%}.mcms-max-w-4xl{max-width:56rem}.mcms-max-w-md{max-width:28rem}.mcms-flex-1{flex:1 1 0%}.mcms-translate-x-0{--tw-translate-x:0px}.mcms-translate-x-0,.mcms-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-translate-x-full{--tw-translate-x:100%}.mcms-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.mcms-flex-col{flex-direction:column}.mcms-items-center{align-items:center}.mcms-justify-between{justify-content:space-between}.mcms-gap-1{gap:.25rem}.mcms-gap-2{gap:.5rem}.mcms-gap-4{gap:1rem}.mcms-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.mcms-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.mcms-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.mcms-divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.mcms-overflow-x-auto{overflow-x:auto}.mcms-overflow-y-auto{overflow-y:auto}.mcms-truncate{overflow:hidden;text-overflow:ellipsis}.mcms-truncate,.mcms-whitespace-nowrap{white-space:nowrap}.mcms-rounded{border-radius:.25rem}.mcms-rounded-2xl{border-radius:1rem}.mcms-rounded-lg{border-radius:.5rem}.mcms-rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.mcms-border{border-width:1px}.mcms-border-b{border-bottom-width:1px}.mcms-border-l{border-left-width:1px}.mcms-bg-black\\/40{background-color:#0006}.mcms-bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.mcms-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.mcms-bg-gray-50\\/50{background-color:#f9fafb80}.mcms-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.mcms-p-2{padding:.5rem}.mcms-p-4{padding:1rem}.mcms-p-6{padding:1.5rem}.mcms-p-8{padding:2rem}.mcms-px-2{padding-left:.5rem;padding-right:.5rem}.mcms-px-3{padding-left:.75rem;padding-right:.75rem}.mcms-px-4{padding-left:1rem;padding-right:1rem}.mcms-px-6{padding-left:1.5rem;padding-right:1.5rem}.mcms-py-1{padding-top:.25rem;padding-bottom:.25rem}.mcms-py-2{padding-top:.5rem;padding-bottom:.5rem}.mcms-py-3{padding-top:.75rem;padding-bottom:.75rem}.mcms-py-4{padding-top:1rem;padding-bottom:1rem}.mcms-text-left{text-align:left}.mcms-text-center{text-align:center}.mcms-text-right{text-align:right}.mcms-text-sm{font-size:.875rem;line-height:1.25rem}.mcms-text-xl{font-size:1.25rem;line-height:1.75rem}.mcms-text-xs{font-size:.75rem;line-height:1rem}.mcms-font-bold{font-weight:700}.mcms-font-medium{font-weight:500}.mcms-font-semibold{font-weight:600}.mcms-uppercase{text-transform:uppercase}.mcms-tracking-wider{letter-spacing:.05em}.mcms-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.mcms-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.mcms-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.mcms-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.mcms-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.mcms-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.mcms-opacity-0{opacity:0}.mcms-opacity-100{opacity:1}.mcms-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.mcms-shadow-2xl,.mcms-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.mcms-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.mcms-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.mcms-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mcms-duration-300{transition-duration:.3s}.mcms-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover:mcms-bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover:mcms-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover:mcms-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover:mcms-text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover:mcms-text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.disabled:mcms-opacity-50:disabled{opacity:.5}@media (min-width:768px){.md:mcms-inset-8{inset:2rem}.md:mcms-block{display:block}.md:mcms-p-12{padding:3rem}}",g=()=>{if(typeof document>"u"||document.getElementById("mcms-styles"))return;let m=document.createElement("style");m.id="mcms-styles",m.textContent=X,document.head.appendChild(m)},U={manifest:{name:"@micro-cms/admin-ui",version:"0.0.1",provides:["admin-interface"],requires:["introspection"],pairsWith:{"@micro-cms/mock-db":{reason:"Admin needs data to display",strength:"recommended"}}},async load({context:m}){g(),l.register("text",h),l.register("number",M),l.register("boolean",z),m.subscribe("database.schema",e=>{console.log("Admin UI detected schema update",e)})}},gm=U;export{O as AutoForm,sm as AutoTable,l as ComponentRegistry,z as DefaultBooleanInput,M as DefaultNumberInput,h as DefaultTextInput,H as MinimizeSquareMinimalisticLinear,dm as OffCanvas,W as WindowMaximize,gm as default,g as injectStyles};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micro-cms/admin-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,8 +20,9 @@
|
|
|
20
20
|
"react": ">=18"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@micro-cms/types": "^1.0.
|
|
23
|
+
"@micro-cms/types": "^1.0.15",
|
|
24
24
|
"clsx": "^2.1.0",
|
|
25
|
+
"moment": "^2.30.1",
|
|
25
26
|
"tailwind-merge": "^2.2.0"
|
|
26
27
|
},
|
|
27
28
|
"scripts": {
|