@coffer-org/web 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ExtendReasonInfo--21FkkoL.js +1 -0
- package/dist/assets/GeoMap-BQkjLI1p.js +1 -0
- package/dist/assets/MarkdownEditor-DojqYLfa.js +1059 -0
- package/dist/assets/NewRecordView-d9dzfC7R.js +1 -0
- package/dist/assets/NoMac-BhpqH06Q.js +1 -0
- package/dist/assets/PageBody-DXEdPT8C.js +1 -0
- package/dist/assets/PluginSettingsPage-BzNvTqpx.js +1 -0
- package/dist/assets/ScanSummary-CmBQJkl4.js +1 -0
- package/dist/assets/SettingsForm-Bhsv5BEu.js +1 -0
- package/dist/assets/SettingsPage-Dxv3eZrP.js +1 -0
- package/dist/assets/Toolbar-CXro4MxC.js +1 -0
- package/dist/assets/api-gSu-mjEH.js +1 -0
- package/dist/assets/auth-context-BLh4J0hg.js +1 -0
- package/dist/assets/button-CbB4uqRh.js +5 -0
- package/dist/assets/chunk-6CSD65Y2-FavEEIOj.js +3 -0
- package/dist/assets/chunk-QTnfLwEv.js +1 -0
- package/dist/assets/color-names-CKKZbleV.js +1 -0
- package/dist/assets/countries-BSm8PNWW.js +1 -0
- package/dist/assets/data-size-D-ZPRlPP.js +1 -0
- package/dist/assets/development-C9_TDKdP.js +1 -0
- package/dist/assets/dist-C-RcoeMS.js +1 -0
- package/dist/assets/dist-CdBkAqXL.js +1 -0
- package/dist/assets/dist-iFwZyFpC.js +1 -0
- package/dist/assets/{esm-ZmB8_rY0.js → esm-Bpmih92m.js} +11 -11
- package/dist/assets/esm-C4bBicMr.js +1 -0
- package/dist/assets/extend-DLMSdMhy.js +1 -0
- package/dist/assets/field-frame-BY_3TvHn.js +1 -0
- package/dist/assets/fields-DVMUyXbG.js +64 -0
- package/dist/assets/index-BWdgp_qe.js +318 -0
- package/dist/assets/json-Dm-WBmNs.js +41 -0
- package/dist/assets/jsx-dev-runtime-BMBl2lag.js +6 -0
- package/dist/assets/jsx-runtime-DV9KAPzc.js +6 -0
- package/dist/assets/lib-CMoTMQza.js +1 -0
- package/dist/assets/lib-lakrpPuj.js +1 -0
- package/dist/assets/micromark-extension-gfm-BCNbxHdH.js +3 -0
- package/dist/assets/module-DytlXfXo.js +1 -0
- package/dist/assets/plugin-b0fDTTXJ.js +1 -0
- package/dist/assets/react-D4J6PwTK.js +13 -0
- package/dist/assets/settings-Dfvzj6n2.js +1 -0
- package/dist/assets/shared-QzShdLB7.js +1 -0
- package/dist/assets/src-29EVe5AR.js +4 -0
- package/dist/assets/src-791s3ufb.js +1 -0
- package/dist/assets/src-7ex3j1NP.js +1 -0
- package/dist/assets/src-B8iacye4.js +1 -0
- package/dist/assets/src-BiPG5Wj0.js +1 -0
- package/dist/assets/src-BljX5hzg.js +1 -0
- package/dist/assets/src-C-Dv1uXg.js +1 -0
- package/dist/assets/src-C2Pe7TE7.js +1 -0
- package/dist/assets/src-CEDC2fUY.js +2 -0
- package/dist/assets/src-CLRRfAdi2.js +1 -0
- package/dist/assets/src-CSA8Ms7c.js +1 -0
- package/dist/assets/src-CVUcsaPt.js +1 -0
- package/dist/assets/src-CXN5nPkW.js +1 -0
- package/dist/assets/src-CsYFDJmY.js +1 -0
- package/dist/assets/src-CuLO2WBn2.js +1 -0
- package/dist/assets/src-D6UndSMF.js +1 -0
- package/dist/assets/src-D8ptIyqZ.js +1 -0
- package/dist/assets/src-DLcSAptE.js +1 -0
- package/dist/assets/src-DW-wOHmI.js +1 -0
- package/dist/assets/src-DiUhYfl4.js +1 -0
- package/dist/assets/src-Do7Z4dhu.js +4 -0
- package/dist/assets/src-YMuIAAH1.js +1 -0
- package/dist/assets/src-pd92-ym6.js +1 -0
- package/dist/assets/src-zakS1nJb.js +7 -0
- package/dist/assets/ui-Bl7rNE-K.js +2 -0
- package/dist/index.html +27 -13
- package/package.json +1 -1
- package/dist/assets/ExtendReasonInfo-BWE0jB4G.js +0 -41
- package/dist/assets/GeoMap-jaP2nIfo.js +0 -1
- package/dist/assets/MarkdownEditor-CX6oZ_kg.js +0 -1052
- package/dist/assets/NewRecordView-B-RqnN-Y.js +0 -1
- package/dist/assets/PageBody-vqdN-RMp.js +0 -1
- package/dist/assets/PluginSettingsPage-B31gFT22.js +0 -1
- package/dist/assets/SettingsForm-DDnhqBSj.js +0 -1
- package/dist/assets/SettingsPage-BV9UTEDe.js +0 -1
- package/dist/assets/Toolbar-BoxzX8xT.js +0 -64
- package/dist/assets/api-DkQSqUPw.js +0 -1
- package/dist/assets/auth-context-B_qjXnPP.js +0 -1
- package/dist/assets/button-kcc5r5Us.js +0 -3
- package/dist/assets/dist-BH3_IOMm.js +0 -1
- package/dist/assets/esm-CqGX0Bpt.js +0 -1
- package/dist/assets/index-a1UeYh9b.js +0 -104
- package/dist/assets/index.dom-DUzxw5W6.js +0 -1
- package/dist/assets/jsx-runtime-fBfwind-.js +0 -1
- package/dist/assets/lib-CypA9mh5.js +0 -1
- package/dist/assets/lib-DE723i2V.js +0 -1
- package/dist/assets/micromark-extension-gfm-BHHqR65A.js +0 -4
- package/dist/assets/react-B8IZ02wI.js +0 -1
- /package/dist/assets/{dist-DchZ6_p1.js → dist-DchZ6_p12.js} +0 -0
- /package/dist/assets/{dist-IN8WN7NI.js → dist-IN8WN7NI2.js} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{t as e}from"./chunk-QTnfLwEv.js";var t=e(((e,t)=>{(function(){function n(e,t){Object.defineProperty(a.prototype,e,{get:function(){console.warn(`%s(...) is deprecated in plain JavaScript React classes. %s`,t[0],t[1])}})}function r(e){return typeof e!=`object`||!e?null:(e=L&&e[L]||e[`@@iterator`],typeof e==`function`?e:null)}function i(e,t){e=(e=e.constructor)&&(e.displayName||e.name)||`ReactClass`;var n=e+`.`+t;R[n]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,e),R[n]=!0)}function a(e,t,n){this.props=e,this.context=t,this.refs=V,this.updater=n||z}function o(){}function s(e,t,n){this.props=e,this.context=t,this.refs=V,this.updater=n||z}function c(){}function l(e){return``+e}function u(e){try{l(e);var t=!1}catch{t=!0}if(t){t=console;var n=t.error,r=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return n.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,r),l(e)}}function d(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===fe?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case D:return`Fragment`;case k:return`Profiler`;case O:return`StrictMode`;case N:return`Suspense`;case ue:return`SuspenseList`;case I:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case le:return`Portal`;case j:return e.displayName||`Context`;case A:return(e._context.displayName||`Context`)+`.Consumer`;case M:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case P:return t=e.displayName||null,t===null?d(e.type)||`Memo`:t;case F:t=e._payload,e=e._init;try{return d(e(t))}catch{}}return null}function f(e){if(e===D)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===F)return`<...>`;try{var t=d(e);return t?`<`+t+`>`:`<...>`}catch{return`<...>`}}function ee(){var e=U.A;return e===null?null:e.getOwner()}function te(){return Error(`react-stack-top-frame`)}function p(e){if(W.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function ne(e,t){function n(){K||(K=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function re(){var e=d(this.type);return pe[e]||(pe[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function m(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:E,type:e,key:t,props:n,_owner:r},(o===void 0?null:o)===null?Object.defineProperty(e,"ref",{enumerable:!1,value:null}):Object.defineProperty(e,"ref",{enumerable:!1,get:re}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function ie(e,t){return t=m(e.type,t,e.props,e._owner,e._debugStack,e._debugTask),e._store&&(t._store.validated=e._store.validated),t}function ae(e){h(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===F&&(e._payload.status===`fulfilled`?h(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function h(e){return typeof e==`object`&&!!e&&e.$$typeof===E}function oe(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}function g(e,t){return typeof e==`object`&&e&&e.key!=null?(u(e.key),oe(``+e.key)):t.toString(36)}function se(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(c,c):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function _(e,t,n,i,a){var o=typeof e;(o===`undefined`||o===`boolean`)&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case`bigint`:case`string`:case`number`:s=!0;break;case`object`:switch(e.$$typeof){case E:case le:s=!0;break;case F:return s=e._init,_(s(e._payload),t,n,i,a)}}if(s){s=e,a=a(s);var c=i===``?`.`+g(s,0):i;return de(a)?(n=``,c!=null&&(n=c.replace(_e,`$&/`)+`/`),_(a,t,n,``,function(e){return e})):a!=null&&(h(a)&&(a.key!=null&&(s&&s.key===a.key||u(a.key)),n=ie(a,n+(a.key==null||s&&s.key===a.key?``:(``+a.key).replace(_e,`$&/`)+`/`)+c),i!==``&&s!=null&&h(s)&&s.key==null&&s._store&&!s._store.validated&&(n._store.validated=2),a=n),t.push(a)),1}if(s=0,c=i===``?`.`:i+`:`,de(e))for(var l=0;l<e.length;l++)i=e[l],o=c+g(i,l),s+=_(i,t,n,o,a);else if(l=r(e),typeof l==`function`)for(l===e.entries&&(ge||console.warn(`Using Maps as children is not supported. Use an array of keyed ReactElements instead.`),ge=!0),e=l.call(e),l=0;!(i=e.next()).done;)i=i.value,o=c+g(i,l++),s+=_(i,t,n,o,a);else if(o===`object`){if(typeof e.then==`function`)return _(se(e),t,n,i,a);throw t=String(e),Error(`Objects are not valid as a React child (found: `+(t===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:t)+`). If you meant to render a collection of children, use an array instead.`)}return s}function v(e,t,n){if(e==null)return e;var r=[],i=0;return _(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ce(e){if(e._status===-1){var t=e._ioInfo;t!=null&&(t.start=t.end=performance.now()),t=e._result;var n=t();if(n.then(function(t){if(e._status===0||e._status===-1){e._status=1,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`fulfilled`,n.value=t)}},function(t){if(e._status===0||e._status===-1){e._status=2,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`rejected`,n.reason=t)}}),t=e._ioInfo,t!=null){t.value=n;var r=n.displayName;typeof r==`string`&&(t.name=r)}e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return t=e._result,t===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
2
|
+
|
|
3
|
+
Your code should look like:
|
|
4
|
+
const MyComponent = lazy(() => import('./MyComponent'))
|
|
5
|
+
|
|
6
|
+
Did you accidentally put curly braces around the import?`,t),`default`in t||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
7
|
+
|
|
8
|
+
Your code should look like:
|
|
9
|
+
const MyComponent = lazy(() => import('./MyComponent'))`,t),t.default;throw e._result}function y(){var e=U.H;return e===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
10
|
+
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
11
|
+
2. You might be breaking the Rules of Hooks
|
|
12
|
+
3. You might have more than one copy of React in the same app
|
|
13
|
+
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),e}function b(){U.asyncTransitions--}function x(e){if(Y===null)try{var n=(`require`+Math.random()).slice(0,7);Y=(t&&t[n]).call(t,`timers`).setImmediate}catch{Y=function(e){!1===J&&(J=!0,typeof MessageChannel>`u`&&console.error(`This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.`));var t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(void 0)}}return Y(e)}function S(e){return 1<e.length&&typeof AggregateError==`function`?AggregateError(e):e[0]}function C(e,t){t!==X-1&&console.error(`You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. `),X=t}function w(e,t,n){var r=U.actQueue;if(r!==null)if(r.length!==0)try{T(r),x(function(){return w(e,t,n)});return}catch(e){U.thrownErrors.push(e)}else U.actQueue=null;0<U.thrownErrors.length?(r=S(U.thrownErrors),U.thrownErrors.length=0,n(r)):t(e)}function T(e){if(!Q){Q=!0;var t=0;try{for(;t<e.length;t++){var n=e[t];do{U.didUsePromise=!1;var r=n(!1);if(r!==null){if(U.didUsePromise){e[t]=n,e.splice(0,t);return}n=r}else break}while(1)}e.length=0}catch(n){e.splice(0,t+1),U.thrownErrors.push(n)}finally{Q=!1}}}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var E=Symbol.for(`react.transitional.element`),le=Symbol.for(`react.portal`),D=Symbol.for(`react.fragment`),O=Symbol.for(`react.strict_mode`),k=Symbol.for(`react.profiler`),A=Symbol.for(`react.consumer`),j=Symbol.for(`react.context`),M=Symbol.for(`react.forward_ref`),N=Symbol.for(`react.suspense`),ue=Symbol.for(`react.suspense_list`),P=Symbol.for(`react.memo`),F=Symbol.for(`react.lazy`),I=Symbol.for(`react.activity`),L=Symbol.iterator,R={},z={isMounted:function(){return!1},enqueueForceUpdate:function(e){i(e,`forceUpdate`)},enqueueReplaceState:function(e){i(e,`replaceState`)},enqueueSetState:function(e){i(e,`setState`)}},B=Object.assign,V={};Object.freeze(V),a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};var H={isMounted:[`isMounted`,`Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.`],replaceState:[`replaceState`,`Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).`]};for($ in H)H.hasOwnProperty($)&&n($,H[$]);o.prototype=a.prototype,H=s.prototype=new o,H.constructor=s,B(H,a.prototype),H.isPureReactComponent=!0;var de=Array.isArray,fe=Symbol.for(`react.client.reference`),U={H:null,A:null,T:null,S:null,actQueue:null,asyncTransitions:0,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},W=Object.prototype.hasOwnProperty,G=console.createTask?console.createTask:function(){return null};H={react_stack_bottom_frame:function(e){return e()}};var K,q,pe={},me=H.react_stack_bottom_frame.bind(H,te)(),he=G(f(te)),ge=!1,_e=/\/+/g,ve=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},J=!1,Y=null,X=0,Z=!1,Q=!1,ye=typeof queueMicrotask==`function`?function(e){queueMicrotask(function(){return queueMicrotask(e)})}:x;H=Object.freeze({__proto__:null,c:function(e){return y().useMemoCache(e)}});var $={map:v,forEach:function(e,t,n){v(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return v(e,function(){t++}),t},toArray:function(e){return v(e,function(e){return e})||[]},only:function(e){if(!h(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=I,e.Children=$,e.Component=a,e.Fragment=D,e.Profiler=k,e.PureComponent=s,e.StrictMode=O,e.Suspense=N,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=U,e.__COMPILER_RUNTIME=H,e.act=function(e){var t=U.actQueue,n=X;X++;var r=U.actQueue=t===null?[]:t,i=!1;try{var a=e()}catch(e){U.thrownErrors.push(e)}if(0<U.thrownErrors.length)throw C(t,n),e=S(U.thrownErrors),U.thrownErrors.length=0,e;if(typeof a==`object`&&a&&typeof a.then==`function`){var o=a;return ye(function(){i||Z||(Z=!0,console.error(`You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);`))}),{then:function(e,a){i=!0,o.then(function(i){if(C(t,n),n===0){try{T(r),x(function(){return w(i,e,a)})}catch(e){U.thrownErrors.push(e)}if(0<U.thrownErrors.length){var o=S(U.thrownErrors);U.thrownErrors.length=0,a(o)}}else e(i)},function(e){C(t,n),0<U.thrownErrors.length?(e=S(U.thrownErrors),U.thrownErrors.length=0,a(e)):a(e)})}}}var s=a;if(C(t,n),n===0&&(T(r),r.length!==0&&ye(function(){i||Z||(Z=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),U.actQueue=null),0<U.thrownErrors.length)throw e=S(U.thrownErrors),U.thrownErrors.length=0,e;return{then:function(e,t){i=!0,n===0?(U.actQueue=r,x(function(){return w(s,e,t)})):e(s)}}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.captureOwnerStack=function(){var e=U.getCurrentStack;return e===null?null:e()},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=B({},e.props),i=e.key,a=e._owner;if(t!=null){var o;a:{if(W.call(t,`ref`)&&(o=Object.getOwnPropertyDescriptor(t,`ref`).get)&&o.isReactWarning){o=!1;break a}o=t.ref!==void 0}for(s in o&&(a=ee()),p(t)&&(u(t.key),i=``+t.key),t)!W.call(t,s)||s===`key`||s===`__self`||s===`__source`||s===`ref`&&t.ref===void 0||(r[s]=t[s])}var s=arguments.length-2;if(s===1)r.children=n;else if(1<s){o=Array(s);for(var c=0;c<s;c++)o[c]=arguments[c+2];r.children=o}for(r=m(e.type,i,r,a,e._debugStack,e._debugTask),i=2;i<arguments.length;i++)ae(arguments[i]);return r},e.createContext=function(e){return e={$$typeof:j,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:A,_context:e},e._currentRenderer=null,e._currentRenderer2=null,e},e.createElement=function(e,t,n){for(var r=2;r<arguments.length;r++)ae(arguments[r]);r={};var i=null;if(t!=null)for(c in q||!(`__self`in t)||`key`in t||(q=!0,console.warn(`Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform`)),p(t)&&(u(t.key),i=``+t.key),t)W.call(t,c)&&c!==`key`&&c!==`__self`&&c!==`__source`&&(r[c]=t[c]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];Object.freeze&&Object.freeze(o),r.children=o}if(e&&e.defaultProps)for(c in a=e.defaultProps,a)r[c]===void 0&&(r[c]=a[c]);i&&ne(r,typeof e==`function`?e.displayName||e.name||`Unknown`:e);var c=1e4>U.recentlyCreatedOwnerStacks++;return m(e,i,r,ee(),c?Error(`react-stack-top-frame`):me,c?G(f(e)):he)},e.createRef=function(){var e={current:null};return Object.seal(e),e},e.forwardRef=function(e){e!=null&&e.$$typeof===P?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof e==`function`?e.length!==0&&e.length!==2&&console.error(`forwardRef render functions accept exactly two parameters: props and ref. %s`,e.length===1?`Did you forget to use the ref parameter?`:`Any additional parameter will be undefined.`):console.error(`forwardRef requires a render function but was given %s.`,e===null?`null`:typeof e),e!=null&&e.defaultProps!=null&&console.error(`forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?`);var t={$$typeof:M,render:e},n;return Object.defineProperty(t,"displayName",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,"name",{value:t}),e.displayName=t)}}),t},e.isValidElement=h,e.lazy=function(e){e={_status:-1,_result:e};var t={$$typeof:F,_payload:e,_init:ce},n={name:`lazy`,start:-1,end:-1,value:null,owner:null,debugStack:Error(`react-stack-top-frame`),debugTask:console.createTask?console.createTask(`lazy()`):null};return e._ioInfo=n,t._debugInfo=[{awaited:n}],t},e.memo=function(e,t){e??console.error(`memo: The first argument must be a component. Instead received: %s`,e===null?`null`:typeof e),t={$$typeof:P,type:e,compare:t===void 0?null:t};var n;return Object.defineProperty(t,"displayName",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,"name",{value:t}),e.displayName=t)}}),t},e.startTransition=function(e){var t=U.T,n={};n._updatedFibers=new Set,U.T=n;try{var r=e(),i=U.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&(U.asyncTransitions++,r.then(b,b),r.then(c,ve))}catch(e){ve(e)}finally{t===null&&n._updatedFibers&&(e=n._updatedFibers.size,n._updatedFibers.clear(),10<e&&console.warn(`Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.`)),t!==null&&n.types!==null&&(t.types!==null&&t.types!==n.types&&console.error(`We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.`),t.types=n.types),U.T=t}},e.unstable_useCacheRefresh=function(){return y().useCacheRefresh()},e.use=function(e){return y().use(e)},e.useActionState=function(e,t,n){return y().useActionState(e,t,n)},e.useCallback=function(e,t){return y().useCallback(e,t)},e.useContext=function(e){var t=y();return e.$$typeof===A&&console.error(`Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?`),t.useContext(e)},e.useDebugValue=function(e,t){return y().useDebugValue(e,t)},e.useDeferredValue=function(e,t){return y().useDeferredValue(e,t)},e.useEffect=function(e,t){return e??console.warn(`React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?`),y().useEffect(e,t)},e.useEffectEvent=function(e){return y().useEffectEvent(e)},e.useId=function(){return y().useId()},e.useImperativeHandle=function(e,t,n){return y().useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return e??console.warn(`React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?`),y().useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return e??console.warn(`React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?`),y().useLayoutEffect(e,t)},e.useMemo=function(e,t){return y().useMemo(e,t)},e.useOptimistic=function(e,t){return y().useOptimistic(e,t)},e.useReducer=function(e,t,n){return y().useReducer(e,t,n)},e.useRef=function(e){return y().useRef(e)},e.useState=function(e){return y().useState(e)},e.useSyncExternalStore=function(e,t,n){return y().useSyncExternalStore(e,t,n)},e.useTransition=function(){return y().useTransition()},e.version=`19.2.7`,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),n=e(((e,n)=>{n.exports=t()}));export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return e}export{e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-D4J6PwTK.js";import{C as n,O as r,T as i,a,l as o,r as s,t as c,v as l,w as u,x as d,y as f}from"./button-CbB4uqRh.js";import{t as p}from"./jsx-dev-runtime-BMBl2lag.js";import{c as m,i as h,r as g,s as _,t as v}from"./dist-CdBkAqXL.js";import{t as y}from"./jsx-runtime-DV9KAPzc.js";import{S as b,a as x,b as S,c as C,i as w,l as ee,n as T,o as E,r as D,s as O,t as k,u as A,v as te,x as ne,y as re}from"./json-Dm-WBmNs.js";import{t as j}from"./dist-iFwZyFpC.js";var M=e(t(),1),N=p(),ie=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/input.tsx`,P=M.forwardRef(({className:e,type:t,...n},r)=>(0,N.jsxDEV)(`input`,{type:t,ref:r,className:u(`flex h-9 w-full rounded-lg border border-input bg-background px-2 py-1 text-sm text-foreground transition-colors`,`placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e),...n},void 0,!1,{fileName:ie,lineNumber:6,columnNumber:5},void 0));P.displayName=`Input`;var F=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/textarea.tsx`,I=M.forwardRef(({className:e,...t},n)=>(0,N.jsxDEV)(`textarea`,{ref:n,className:u(`flex min-h-20 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm text-foreground transition-colors`,`placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`,e),...t},void 0,!1,{fileName:F,lineNumber:6,columnNumber:5},void 0));I.displayName=`Textarea`;var L=f(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),R=f(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ae=f(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),oe=f(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),se=f(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/input-group.tsx`;function ce({className:e,...t}){return(0,N.jsxDEV)(`div`,{"data-slot":`input-group`,role:`group`,className:u(`group/input-group relative flex w-full items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none dark:bg-input/30`,`h-9 min-w-0 has-[>textarea]:h-auto`,`has-[>[data-align=inline-start]]:[&>input]:pl-2`,`has-[>[data-align=inline-end]]:[&>input]:pr-2`,`has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3`,`has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3`,`has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50`,`has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40`,e),...t},void 0,!1,{fileName:z,lineNumber:11,columnNumber:5},this)}var le=s(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]`,"inline-end":`order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]`,"block-start":`order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3`,"block-end":`order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3`}},defaultVariants:{align:`inline-start`}});function ue({className:e,align:t=`inline-start`,...n}){return(0,N.jsxDEV)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:u(le({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n},void 0,!1,{fileName:z,lineNumber:61,columnNumber:5},this)}var de=s(`flex items-center gap-2 text-sm shadow-none`,{variants:{size:{xs:`h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5`,sm:`h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5`,"icon-xs":`size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0`,"icon-sm":`size-8 p-0 has-[>svg]:p-0`}},defaultVariants:{size:`xs`}});function fe({className:e,type:t=`button`,variant:n=`ghost`,size:r=`xs`,...i}){return(0,N.jsxDEV)(c,{type:t,"data-size":r,variant:n,className:u(de({size:r}),e),...i},void 0,!1,{fileName:z,lineNumber:99,columnNumber:5},this)}function pe({className:e,...t}){return(0,N.jsxDEV)(`span`,{className:u(`flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,e),...t},void 0,!1,{fileName:z,lineNumber:111,columnNumber:5},this)}function me({className:e,...t}){return(0,N.jsxDEV)(P,{"data-slot":`input-group-control`,className:u(`flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent`,e),...t},void 0,!1,{fileName:z,lineNumber:123,columnNumber:5},this)}var he=e(r(),1),B=y(),ge=M.createContext(void 0);function _e(e){let t=M.useContext(ge);return e||t||`ltr`}function ve(e,[t,n]){return Math.min(n,Math.max(t,e))}function ye(e){let t=e+`CollectionProvider`,[r,i]=_(t),[a,o]=r(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,r=M.useRef(null),i=M.useRef(new Map).current;return(0,B.jsx)(a,{scope:t,itemMap:i,collectionRef:r,children:n})};s.displayName=t;let c=e+`CollectionSlot`,l=d(c),u=M.forwardRef((e,t)=>{let{scope:r,children:i}=e;return(0,B.jsx)(l,{ref:n(t,o(c,r).collectionRef),children:i})});u.displayName=c;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=d(f),h=M.forwardRef((e,t)=>{let{scope:r,children:i,...a}=e,s=M.useRef(null),c=n(t,s),l=o(f,r);return M.useEffect(()=>(l.itemMap.set(s,{ref:s,...a}),()=>void l.itemMap.delete(s))),(0,B.jsx)(m,{[p]:``,ref:c,children:i})});h.displayName=f;function g(t){let n=o(e+`CollectionConsumer`,t);return M.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:s,Slot:u,ItemSlot:h},g,i]}var be=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),xe=`VisuallyHidden`,Se=M.forwardRef((e,t)=>(0,B.jsx)(h.span,{...e,ref:t,style:{...be,...e.style}}));Se.displayName=xe;var Ce=[` `,`Enter`,`ArrowUp`,`ArrowDown`],we=[` `,`Enter`],V=`Select`,[H,U,Te]=ye(V),[W,Ee]=_(V,[Te,A]),G=A(),[De,K]=W(V),[Oe,ke]=W(V),Ae=`SelectProvider`;function je(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,g=G(t),[_,y]=M.useState(null),[b,x]=M.useState(null),[S,C]=M.useState(!1),w=_e(l),[T,E]=v({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[D,O]=v({prop:o,defaultProp:s,onChange:c,caller:V}),k=M.useRef(null),A=_?!!m||!!_.closest(`form`):!0,[ne,re]=M.useState(new Set),j=te(),N=Array.from(ne).map(e=>e.props.value).join(`;`),ie=M.useCallback(e=>{re(t=>new Set(t).add(e))},[]),P=M.useCallback(e=>{re(t=>{let n=new Set(t);return n.delete(e),n})},[]),F={required:p,trigger:_,onTriggerChange:y,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:j,value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:ne,nativeSelectKey:N,isFormControl:A};return(0,B.jsx)(ee,{...g,children:(0,B.jsx)(De,{scope:t,...F,children:(0,B.jsx)(H.Provider,{scope:t,children:(0,B.jsx)(Oe,{scope:t,onNativeOptionAdd:ie,onNativeOptionRemove:P,children:Dt(h)?h(F):n})})})})}je.displayName=Ae;var Me=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,B.jsx)(je,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,B.jsxs)(B.Fragment,{children:[n,e?(0,B.jsx)(Et,{__scopeSelect:t}):null]})})};Me.displayName=V;var Ne=`SelectTrigger`,Pe=M.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:i=!1,...a}=e,o=G(r),s=K(Ne,r),c=s.disabled||i,l=n(t,s.onTriggerChange),u=U(r),d=M.useRef(`touch`),[f,p,g]=kt(e=>{let t=u().filter(e=>!e.disabled),n=At(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onValueChange(n.value)}),_=e=>{c||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,B.jsx)(E,{asChild:!0,...o,children:(0,B.jsx)(h.button,{type:`button`,role:`combobox`,"aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":Ot(s.value)?``:void 0,...a,ref:l,onClick:m(a.onClick,e=>{e.currentTarget.focus(),d.current!==`mouse`&&_(e)}),onPointerDown:m(a.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:m(a.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&p(e.key),!(t&&e.key===` `)&&Ce.includes(e.key)&&(_(),e.preventDefault())})})})});Pe.displayName=Ne;var Fe=`SelectValue`,Ie=M.forwardRef((e,t)=>{let{__scopeSelect:r,className:i,style:a,children:o,placeholder:s=``,...c}=e,l=K(Fe,r),{onValueNodeHasChildrenChange:u}=l,d=o!==void 0,f=n(t,l.onValueNodeChange);g(()=>{u(d)},[u,d]);let p=Ot(l.value);return(0,B.jsx)(h.span,{...c,asChild:p?!1:c.asChild,ref:f,style:{pointerEvents:`none`},children:(0,B.jsx)(M.Fragment,{children:p?s:o},p?`placeholder`:`value`)})});Ie.displayName=Fe;var Le=`SelectIcon`,Re=M.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,B.jsx)(h.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});Re.displayName=Le;var ze=`SelectPortal`,[Be,Ve]=W(ze,{forceMount:void 0}),He=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,B.jsx)(Be,{scope:e.__scopeSelect,forceMount:n,children:(0,B.jsx)(x,{asChild:!0,...r})})};He.displayName=ze;var q=`SelectContent`,Ue=M.forwardRef((e,t)=>{let n=Ve(q,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=K(q,e.__scopeSelect),[o,s]=M.useState();return g(()=>{s(new DocumentFragment)},[]),(0,B.jsx)(w,{present:r||a.open,children:({present:e})=>e?(0,B.jsx)(Je,{...i,ref:t}):(0,B.jsx)(We,{...i,fragment:o})})});Ue.displayName=q;var We=M.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?he.createPortal((0,B.jsx)(Ge,{scope:n,children:(0,B.jsx)(H.Slot,{scope:n,children:(0,B.jsx)(`div`,{ref:t,children:r})})}),i):null});We.displayName=`SelectContentFragment`;var J=10,[Ge,Y]=W(q),Ke=`SelectContentImpl`,qe=d(`SelectContent.RemoveScroll`),Je=M.forwardRef((e,t)=>{let{__scopeSelect:r}=e,{position:i=`item-aligned`,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v,...y}=e,b=K(q,r),[x,C]=M.useState(null),[w,ee]=M.useState(null),E=n(t,e=>C(e)),[O,k]=M.useState(null),[A,te]=M.useState(null),j=U(r),[N,ie]=M.useState(!1),P=M.useRef(!1);M.useEffect(()=>{if(x)return D(x)},[x]),S();let F=M.useCallback(e=>{let[t,...n]=j().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&w&&(w.scrollTop=0),n===r&&w&&(w.scrollTop=w.scrollHeight),n?.focus(),document.activeElement!==i))return},[j,w]),I=M.useCallback(()=>F([O,x]),[F,O,x]);M.useEffect(()=>{N&&I()},[N,I]);let{onOpenChange:L,triggerPointerDownPosRef:R}=b;M.useEffect(()=>{if(x){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(R.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(R.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(x)||L(!1),document.removeEventListener(`pointermove`,t),R.current=null};return R.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[x,L,R]),M.useEffect(()=>{let e=()=>L(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[L]);let[ae,oe]=kt(e=>{let t=j().filter(e=>!e.disabled),n=At(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),se=M.useCallback((e,t,n)=>{let r=!P.current&&!n;(b.value!==void 0&&b.value===t||r)&&(k(e),r&&(P.current=!0))},[b.value]),z=M.useCallback(()=>x?.focus(),[x]),ce=M.useCallback((e,t,n)=>{let r=!P.current&&!n;(b.value!==void 0&&b.value===t||r)&&te(e)},[b.value]),le=i===`popper`?Qe:Xe,ue=le===Qe?{side:c,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:_,avoidCollisions:v}:{};return(0,B.jsx)(Ge,{scope:r,content:x,viewport:w,onViewportChange:ee,itemRefCallback:se,selectedItem:O,onItemLeave:z,itemTextRefCallback:ce,focusSelectedItem:I,selectedItemText:A,position:i,isPositioned:N,searchRef:ae,children:(0,B.jsx)(T,{as:qe,allowPinchZoom:!0,children:(0,B.jsx)(re,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:m(a,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,B.jsx)(ne,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,B.jsx)(le,{role:`listbox`,id:b.contentId,"data-state":b.open?`open`:`closed`,dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...ue,onPlaced:()=>ie(!0),ref:E,style:{display:`flex`,flexDirection:`column`,outline:`none`,...y.style},onKeyDown:m(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&oe(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=j().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>F(t)),e.preventDefault()}})})})})})})});Je.displayName=Ke;var Ye=`SelectItemAlignedPosition`,Xe=M.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:i,...a}=e,o=K(q,r),s=Y(q,r),[c,l]=M.useState(null),[u,d]=M.useState(null),f=n(t,e=>d(e)),p=U(r),m=M.useRef(!1),_=M.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=s,S=M.useCallback(()=>{if(o.trigger&&o.valueNode&&c&&u&&v&&y&&b){let e=o.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=o.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(o.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-J,d=ve(a,[J,Math.max(J,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-J,d=ve(a,[J,Math.max(J,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let a=p(),s=window.innerHeight-J*2,l=v.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),g=parseInt(d.borderBottomWidth,10),_=parseInt(d.paddingBottom,10),x=f+h+l+_+g,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),ee=parseInt(C.paddingBottom,10),T=e.top+e.height/2-J,E=s-T,D=y.offsetHeight/2,O=y.offsetTop+D,k=f+h+O,A=x-k;if(k<=T){let e=a.length>0&&y===a[a.length-1].ref.current;c.style.bottom=`0px`;let t=u.clientHeight-v.offsetTop-v.offsetHeight,n=k+Math.max(E,D+(e?ee:0)+t+g);c.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;c.style.top=`0px`;let t=Math.max(T,f+v.offsetTop+(e?w:0)+D)+A;c.style.height=t+`px`,v.scrollTop=k-T+v.offsetTop}c.style.margin=`${J}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,i?.(),requestAnimationFrame(()=>m.current=!0)}},[p,o.trigger,o.valueNode,c,u,v,y,b,o.dir,i]);g(()=>S(),[S]);let[C,w]=M.useState();return g(()=>{u&&w(window.getComputedStyle(u).zIndex)},[u]),(0,B.jsx)($e,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:m,onScrollButtonChange:M.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]),children:(0,B.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,B.jsx)(h.div,{...a,ref:f,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})});Xe.displayName=Ye;var Ze=`SelectPopperPosition`,Qe=M.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=J,...a}=e,o=G(n);return(0,B.jsx)(C,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});Qe.displayName=Ze;var[$e,et]=W(q,{}),tt=`SelectViewport`,nt=M.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:i,...a}=e,o=Y(tt,r),s=et(tt,r),c=n(t,o.onViewportChange),l=M.useRef(0);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,B.jsx)(H.Slot,{scope:r,children:(0,B.jsx)(h.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:m(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-J*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})});nt.displayName=tt;var rt=`SelectGroup`,[it,at]=W(rt),ot=M.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=te();return(0,B.jsx)(it,{scope:n,id:i,children:(0,B.jsx)(h.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});ot.displayName=rt;var st=`SelectLabel`,ct=M.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=at(st,n);return(0,B.jsx)(h.div,{id:i.id,...r,ref:t})});ct.displayName=st;var lt=`SelectItem`,[ut,dt]=W(lt),ft=M.forwardRef((e,t)=>{let{__scopeSelect:r,value:i,disabled:a=!1,textValue:o,...s}=e,c=K(lt,r),l=Y(lt,r),u=c.value===i,[d,f]=M.useState(o??``),[p,g]=M.useState(!1),_=n(t,e=>l.itemRefCallback?.(e,i,a)),v=te(),y=M.useRef(`touch`),b=()=>{a||(c.onValueChange(i),c.onOpenChange(!1))};if(i===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,B.jsx)(ut,{scope:r,value:i,disabled:a,textId:v,isSelected:u,onItemTextChange:M.useCallback(e=>{f(t=>t||(e?.textContent??``).trim())},[]),children:(0,B.jsx)(H.ItemSlot,{scope:r,value:i,disabled:a,textValue:d,children:(0,B.jsx)(h.div,{role:`option`,"aria-labelledby":v,"data-highlighted":p?``:void 0,"aria-selected":u&&p,"data-state":u?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:_,onFocus:m(s.onFocus,()=>g(!0)),onBlur:m(s.onBlur,()=>g(!1)),onClick:m(s.onClick,()=>{y.current!==`mouse`&&b()}),onPointerUp:m(s.onPointerUp,()=>{y.current===`mouse`&&b()}),onPointerDown:m(s.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:m(s.onPointerMove,e=>{y.current=e.pointerType,a?l.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:m(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:m(s.onKeyDown,e=>{l.searchRef?.current!==``&&e.key===` `||(we.includes(e.key)&&b(),e.key===` `&&e.preventDefault())})})})})});ft.displayName=lt;var X=`SelectItemText`,pt=M.forwardRef((e,t)=>{let{__scopeSelect:r,className:i,style:a,...o}=e,s=K(X,r),c=Y(X,r),l=dt(X,r),u=ke(X,r),[d,f]=M.useState(null),p=n(t,e=>f(e),l.onItemTextChange,e=>c.itemTextRefCallback?.(e,l.value,l.disabled)),m=d?.textContent,_=M.useMemo(()=>(0,B.jsx)(`option`,{value:l.value,disabled:l.disabled,children:m},l.value),[l.disabled,l.value,m]),{onNativeOptionAdd:v,onNativeOptionRemove:y}=u;return g(()=>(v(_),()=>y(_)),[v,y,_]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(h.span,{id:l.textId,...o,ref:p}),l.isSelected&&s.valueNode&&!s.valueNodeHasChildren?he.createPortal(o.children,s.valueNode):null]})});pt.displayName=X;var mt=`SelectItemIndicator`,ht=M.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return dt(mt,n).isSelected?(0,B.jsx)(h.span,{"aria-hidden":!0,...r,ref:t}):null});ht.displayName=mt;var gt=`SelectScrollUpButton`,_t=M.forwardRef((e,t)=>{let r=Y(gt,e.__scopeSelect),i=et(gt,e.__scopeSelect),[a,o]=M.useState(!1),s=n(t,i.onScrollButtonChange);return g(()=>{if(r.viewport&&r.isPositioned){let e=function(){o(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[r.viewport,r.isPositioned]),a?(0,B.jsx)(bt,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});_t.displayName=gt;var vt=`SelectScrollDownButton`,yt=M.forwardRef((e,t)=>{let r=Y(vt,e.__scopeSelect),i=et(vt,e.__scopeSelect),[a,o]=M.useState(!1),s=n(t,i.onScrollButtonChange);return g(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[r.viewport,r.isPositioned]),a?(0,B.jsx)(bt,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});yt.displayName=vt;var bt=M.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Y(`SelectScrollButton`,n),o=M.useRef(null),s=U(n),c=M.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return M.useEffect(()=>()=>c(),[c]),g(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,B.jsx)(h.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:m(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:m(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:m(i.onPointerLeave,()=>{c()})})}),xt=`SelectSeparator`,St=M.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,B.jsx)(h.div,{"aria-hidden":!0,...r,ref:t})});St.displayName=xt;var Ct=`SelectArrow`,wt=M.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=G(n);return Y(Ct,n).position===`popper`?(0,B.jsx)(O,{...i,...r,ref:t}):null});wt.displayName=Ct;var Tt=`SelectBubbleInput`,Et=M.forwardRef(({__scopeSelect:e,...t},r)=>{let i=K(Tt,e),{value:a,onValueChange:o,required:s,disabled:c,name:l,autoComplete:u,form:d}=i,{nativeOptions:f,nativeSelectKey:p}=i,m=M.useRef(null),g=n(r,m),_=a??``,v=j(_);return M.useEffect(()=>{let e=m.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(v!==_&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,_),e.dispatchEvent(t)}},[v,_]),(0,B.jsxs)(h.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:l,autoComplete:u,disabled:c,form:d,onChange:e=>o(e.target.value),...t,style:{...be,...t.style},ref:g,defaultValue:_,children:[Ot(a)?(0,B.jsx)(`option`,{value:``}):null,Array.from(f)]},p)});Et.displayName=Tt;function Dt(e){return typeof e==`function`}function Ot(e){return e===``||e===void 0}function kt(e){let t=b(e),n=M.useRef(``),r=M.useRef(0),i=M.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=M.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return M.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function At(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=jt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function jt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select.tsx`,Mt=Me,Nt=Ie,Pt=M.forwardRef(({className:e,children:t,...n},r)=>(0,N.jsxDEV)(Pe,{ref:r,className:u(`flex h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background px-3 py-1 text-sm text-foreground transition-colors`,`data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,N.jsxDEV)(Re,{asChild:!0,children:(0,N.jsxDEV)(L,{className:`h-4 w-4 opacity-60`},void 0,!1,{fileName:Z,lineNumber:26,columnNumber:7},void 0)},void 0,!1,{fileName:Z,lineNumber:25,columnNumber:5},void 0)]},void 0,!0,{fileName:Z,lineNumber:14,columnNumber:3},void 0));Pt.displayName=Pe.displayName;var Ft=M.forwardRef(({className:e,...t},n)=>(0,N.jsxDEV)(_t,{ref:n,className:u(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,N.jsxDEV)(R,{className:`h-4 w-4`},void 0,!1,{fileName:Z,lineNumber:41,columnNumber:5},void 0)},void 0,!1,{fileName:Z,lineNumber:36,columnNumber:3},void 0));Ft.displayName=_t.displayName;var It=M.forwardRef(({className:e,...t},n)=>(0,N.jsxDEV)(yt,{ref:n,className:u(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,N.jsxDEV)(L,{className:`h-4 w-4`},void 0,!1,{fileName:Z,lineNumber:55,columnNumber:5},void 0)},void 0,!1,{fileName:Z,lineNumber:50,columnNumber:3},void 0));It.displayName=yt.displayName;var Lt=M.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,N.jsxDEV)(He,{children:(0,N.jsxDEV)(Ue,{ref:i,className:u(`relative z-50 max-h-96 min-w-32 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,N.jsxDEV)(Ft,{},void 0,!1,{fileName:Z,lineNumber:76,columnNumber:7},void 0),(0,N.jsxDEV)(nt,{className:u(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t},void 0,!1,{fileName:Z,lineNumber:77,columnNumber:7},void 0),(0,N.jsxDEV)(It,{},void 0,!1,{fileName:Z,lineNumber:86,columnNumber:7},void 0)]},void 0,!0,{fileName:Z,lineNumber:65,columnNumber:5},void 0)},void 0,!1,{fileName:Z,lineNumber:64,columnNumber:3},void 0));Lt.displayName=Ue.displayName;var Rt=M.forwardRef(({className:e,...t},n)=>(0,N.jsxDEV)(ct,{ref:n,className:u(`px-2 py-1.5 text-xs font-semibold text-muted-foreground`,e),...t},void 0,!1,{fileName:Z,lineNumber:96,columnNumber:3},void 0));Rt.displayName=ct.displayName;var zt=M.forwardRef(({className:e,children:t,...n},r)=>(0,N.jsxDEV)(ft,{ref:r,className:u(`relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none`,`focus:bg-elevated focus:text-text data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,N.jsxDEV)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,N.jsxDEV)(ht,{children:(0,N.jsxDEV)(l,{className:`h-4 w-4 text-accent`},void 0,!1,{fileName:Z,lineNumber:119,columnNumber:9},void 0)},void 0,!1,{fileName:Z,lineNumber:118,columnNumber:7},void 0)},void 0,!1,{fileName:Z,lineNumber:117,columnNumber:5},void 0),(0,N.jsxDEV)(pt,{children:t},void 0,!1,{fileName:Z,lineNumber:122,columnNumber:5},void 0)]},void 0,!0,{fileName:Z,lineNumber:108,columnNumber:3},void 0));zt.displayName=ft.displayName;var Bt=M.forwardRef(({className:e,...t},n)=>(0,N.jsxDEV)(St,{ref:n,className:u(`-mx-1 my-1 h-px bg-border`,e),...t},void 0,!1,{fileName:Z,lineNumber:131,columnNumber:3},void 0));Bt.displayName=St.displayName;var Vt=`inline-flex items-center gap-1.5 bg-surface text-text border border-border rounded-full px-2.5 py-0.5 text-sm`,Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/multiple-chips.tsx`,Ht=()=>(0,N.jsxDEV)(`span`,{className:`text-sm text-muted/50 select-none`,children:`—`},void 0,!1,{fileName:Q,lineNumber:12,columnNumber:27},void 0);function Ut({onClick:e,className:t}){return(0,N.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":`remove`,className:`inline-flex shrink-0 items-center text-muted transition-colors hover:text-danger ${t??``}`,children:(0,N.jsxDEV)(a,{size:13},void 0,!1,{fileName:Q,lineNumber:23,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:17,columnNumber:5},this)}function Wt({children:e,className:t,style:n,onRemove:r}){return(0,N.jsxDEV)(`span`,{className:`${Vt} ${t??``}`,style:n,children:[e,r?(0,N.jsxDEV)(Ut,{onClick:r},void 0,!1,{fileName:Q,lineNumber:44,columnNumber:9},this):(0,N.jsxDEV)(`span`,{"aria-hidden":!0,className:`invisible inline-flex shrink-0 items-center`,children:(0,N.jsxDEV)(a,{size:13},void 0,!1,{fileName:Q,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:41,columnNumber:5},this)}function Gt({children:e}){return(0,N.jsxDEV)(`div`,{className:`flex flex-wrap gap-1.5`,children:e},void 0,!1,{fileName:Q,lineNumber:58,columnNumber:10},this)}function Kt({items:e,content:t,chipClassName:n,chipStyle:r,onRemove:i,editor:a,reserveEditor:o,emptyDash:s=!0}){return!e.length&&!a?s?(0,N.jsxDEV)(Ht,{},void 0,!1,{fileName:Q,lineNumber:85,columnNumber:52},this):null:(0,N.jsxDEV)(`div`,{className:`flex flex-col gap-2 ${a?`px-2`:``}`,children:[e.length>0&&(0,N.jsxDEV)(Gt,{children:e.map((e,a)=>(0,N.jsxDEV)(Wt,{className:n?.(e,a),style:r?.(e,a),onRemove:i?()=>i(a):void 0,children:t(e,a)},a,!1,{fileName:Q,lineNumber:91,columnNumber:13},this))},void 0,!1,{fileName:Q,lineNumber:89,columnNumber:9},this),a,!a&&o&&e.length>0&&(0,N.jsxDEV)(`div`,{"aria-hidden":!0,className:`invisible h-9`},void 0,!1,{fileName:Q,lineNumber:98,columnNumber:56},this)]},void 0,!0,{fileName:Q,lineNumber:87,columnNumber:5},this)}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/shared.tsx`,qt=e=>Array.isArray(e)?e:k(e,[]);function Jt({onRemove:e,className:t}){let{t:n}=i();return(0,N.jsxDEV)(c,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:n(`actions.delete`),"aria-hidden":e?void 0:!0,tabIndex:e?void 0:-1,className:`shrink-0 rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}${t?` ${t}`:``}`,children:(0,N.jsxDEV)(oe,{size:14},void 0,!1,{fileName:$,lineNumber:42,columnNumber:7},this)},void 0,!1,{fileName:$,lineNumber:32,columnNumber:5},this)}function Yt({onClick:e,children:t,className:n}){return(0,N.jsxDEV)(c,{type:`button`,variant:`outline`,size:`sm`,onClick:e,className:`self-start border-accent/30 text-accent hover:border-accent/60 hover:text-accent2 ${n??``}`,children:[(0,N.jsxDEV)(o,{size:13},void 0,!1,{fileName:$,lineNumber:65,columnNumber:7},this),` `,t]},void 0,!0,{fileName:$,lineNumber:58,columnNumber:5},this)}function Xt({accept:e,busy:t,error:n,onPick:r,compact:a}){let{t:o}=i();return(0,N.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,N.jsxDEV)(`label`,{className:`inline-flex w-fit cursor-pointer items-center gap-1.5 rounded-lg border border-accent/30 text-xs font-medium text-accent hover:border-accent/60 ${a?`px-2.5 py-1`:`px-3 py-2`} ${t?`pointer-events-none opacity-60`:``}`,children:[t?(0,N.jsxDEV)(ae,{size:13,className:`animate-spin`},void 0,!1,{fileName:$,lineNumber:95,columnNumber:17},this):(0,N.jsxDEV)(se,{size:13},void 0,!1,{fileName:$,lineNumber:95,columnNumber:66},this),` `,o(`actions.upload`),(0,N.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>r(e.target.files?.[0]??null)},void 0,!1,{fileName:$,lineNumber:96,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:90,columnNumber:7},this),n&&(0,N.jsxDEV)(`span`,{className:`text-xs text-danger`,children:o(n)},void 0,!1,{fileName:$,lineNumber:104,columnNumber:17},this)]},void 0,!0,{fileName:$,lineNumber:89,columnNumber:5},this)}function Zt(e,t){return e.map(e=>({value:e.value,title:t(e.title),subtitle:e.subtitle,icon:e.icon}))}function Qt(e){return e>=0&&e<20?String.fromCodePoint(9312+e):String(e+1)}function $t(e,t){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n={}}let r=n&&typeof n==`object`?n:{};if(Array.isArray(r.checks)){let e=r.checks;return{text:String(r.text??``),checks:Array.from({length:t},(t,n)=>e[n]===!0)}}return{text:String(r.text??``),checks:Array.from({length:t},(e,t)=>r[`check${t}`]===!0)}}function en(e){let t={text:e.text};return e.checks.forEach((e,n)=>{t[`check${n}`]=e}),t}function tn({slots:e}){let{t}=i();if(e.length<=1||!e.some(e=>e))return null;let n=e.length>3;return(0,N.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs text-muted`,children:e.map((e,r)=>(0,N.jsxDEV)(M.Fragment,{children:[r>0&&(0,N.jsxDEV)(`span`,{className:`opacity-40`,children:`•`},void 0,!1,{fileName:$,lineNumber:196,columnNumber:21},this),(0,N.jsxDEV)(`span`,{children:[n?`${Qt(r)} `:``,e?t(e):`—`]},void 0,!0,{fileName:$,lineNumber:197,columnNumber:11},this)]},r,!0,{fileName:$,lineNumber:195,columnNumber:9},this))},void 0,!1,{fileName:$,lineNumber:193,columnNumber:5},this)}var nn=e=>e>3;function rn({value:e,onChange:t,renderInput:n,validate:r,serialize:i,display:a}){let[s,c]=(0,M.useState)(()=>qt(e)),[l,u]=(0,M.useState)(``);(0,M.useEffect)(()=>{c(qt(e))},[e]);function d(e){c(e),t(e.length>0?e:``)}function f(){let e=l.trim();if(!e||r&&!r(e))return;let t=i?i(e):e;t===null||s.includes(t)||(d([...s,t]),u(``))}return(0,N.jsxDEV)(Kt,{items:s,content:e=>a?a(String(e)):String(e),onRemove:e=>d(s.filter((t,n)=>n!==e)),editor:(0,N.jsxDEV)(ce,{className:`[&>input]:h-auto [&>input]:rounded-none [&>input]:border-0 [&>input]:bg-transparent [&>input]:shadow-none [&>input]:focus-visible:ring-0 focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50`,children:[n(l,u,f),(0,N.jsxDEV)(ue,{align:`inline-end`,children:(0,N.jsxDEV)(fe,{size:`icon-xs`,"aria-label":`add`,onClick:f,children:(0,N.jsxDEV)(o,{},void 0,!1,{fileName:$,lineNumber:267,columnNumber:15},this)},void 0,!1,{fileName:$,lineNumber:266,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:265,columnNumber:11},this)]},void 0,!0,{fileName:$,lineNumber:263,columnNumber:9},this)},void 0,!1,{fileName:$,lineNumber:258,columnNumber:5},this)}function an(e){return e!=null&&e!==``}function on(e){return e.slice(0,8)+`…`}var sn=e=>e.length>60?e.slice(0,57)+`…`:e;function cn(e,t,n){return e.hints.multiple===!0?(0,N.jsxDEV)(Kt,{items:k(t,[]),content:n,reserveEditor:!0},void 0,!1,{fileName:$,lineNumber:299,columnNumber:12},this):an(t)?(0,N.jsxDEV)(N.Fragment,{children:n(t)},void 0,!1,{fileName:$,lineNumber:300,columnNumber:28},this):(0,N.jsxDEV)(Ht,{},void 0,!1,{fileName:$,lineNumber:300,columnNumber:52},this)}function ln(e,t,n=e=>!an(e)){return n(e)?(0,N.jsxDEV)(Ht,{},void 0,!1,{fileName:$,lineNumber:309,columnNumber:27},this):(0,N.jsxDEV)(N.Fragment,{children:t(e)},void 0,!1,{fileName:$,lineNumber:309,columnNumber:38},this)}function un(e){return Object.keys(e).find(t=>e[t]?.kind===`cover`)}export{ue as A,P as B,zt as C,ve as D,ye as E,oe as F,ae as I,R as L,me as M,pe as N,_e as O,se as P,L as R,Lt as S,Nt as T,sn as _,Xt as a,Ut as b,Qt as c,an as d,cn as f,Zt as g,on as h,Jt as i,fe as j,ce as k,$t as l,qt as m,tn as n,nn as o,ln as p,rn as r,en as s,Yt as t,un as u,Ht as v,Pt as w,Mt as x,Kt as y,I as z};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`plant`,vault:`garden`,label:`garden.plant.label`,icon:`lucide:sprout`,claude:`A houseplant. title — name. variety — cultivar/subspecies. location — where it stands.
|
|
2
|
+
wateringDays — watering interval (days). lastWatered — date of last watering.
|
|
3
|
+
fertilizerDays — fertilizing interval. lastFertilized — last date.
|
|
4
|
+
planted — date planted/acquired.`,views:{table:[`variety`,`location`,`wateringDays`,`lastWatered`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`garden.plant.fields.logo`}),e.string({key:`variety`,label:`garden.plant.fields.variety`,rules:{max:100}}),e.select({key:`location`,label:`garden.plant.fields.location`,options:[{value:`windowsill`,title:`garden.plant.options.location.windowsill`},{value:`balcony`,title:`garden.plant.options.location.balcony`},{value:`hanging`,title:`garden.plant.options.location.hanging`},{value:`floor`,title:`garden.plant.options.location.floor`},{value:`other`,title:`garden.plant.options.location.other`}]}),e.select({key:`sunlight`,label:`garden.plant.fields.sunlight`,options:[{value:`shade`,title:`garden.plant.options.sunlight.shade`},{value:`partial`,title:`garden.plant.options.sunlight.partial`},{value:`indirect`,title:`garden.plant.options.sunlight.indirect`},{value:`direct`,title:`garden.plant.options.sunlight.direct`}]}),e.string({key:`pot`,label:`garden.plant.fields.pot`,rules:{max:100}}),e.date({key:`planted`,label:`garden.plant.fields.planted`,rules:{min:`2000-01-01`,max:`today`}}),e.int({key:`wateringDays`,label:`garden.plant.fields.wateringDays`,rules:{min:1,max:365}}),e.date({key:`lastWatered`,label:`garden.plant.fields.lastWatered`,rules:{max:`today`}}),e.reminder({key:`nextWatering`,label:`garden.plant.fields.nextWatering`,rules:{lead:3}}),e.int({key:`fertilizerDays`,label:`garden.plant.fields.fertilizerDays`,rules:{min:1,max:365}}),e.date({key:`lastFertilized`,label:`garden.plant.fields.lastFertilized`,rules:{max:`today`}}),e.reminder({key:`nextFertilizing`,label:`garden.plant.fields.nextFertilizing`,rules:{lead:7}}),e.button({label:`garden.plant.actions.watered`,value:`garden.watered`,icon:`lucide:droplet`}),e.button({label:`garden.plant.actions.fertilized`,value:`garden.fertilized`,icon:`lucide:flask-conical`}),e.text({key:`notes`,label:`garden.plant.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`garden.plant.fields.tags`})]}),a=n({id:`garden`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`garden`,label:`garden.vault.label`,icon:`lucide:sprout`}),modules:[i]}]});export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./src-zakS1nJb.js";export{e as default,n as fin,t as iban};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`person`,vault:`people`,label:`people.person.label`,icon:`lucide:user`,claude:`A person card. fullName — the full name (first + last), used as the title.`,views:{inline:[`logo`,`fullName`],table:[`birthDate`],select:{icon:`logo`,title:`fullName`,subtitle:`birthDate`}},fields:[e.image({key:`logo`,label:`people.person.fields.logo`}),e.string({key:`fullName`,label:`people.person.fields.fullName`,required:!0}),e.string({key:`description`,label:`people.person.fields.description`,rules:{max:500}}),e.date({key:`birthDate`,label:`people.person.fields.birthDate`,rules:{min:`1900-01-01`,max:`today`}}),e.select({key:`sex`,label:`people.person.fields.sex`,options:`sex`}),e.tel({key:`phone`,label:`people.person.fields.phone`}),e.email({key:`email`,label:`people.person.fields.email`}),e.text({key:`address`,label:`people.person.fields.address`,rules:{max:300}}),e.string({key:`occupation`,label:`people.person.fields.occupation`,rules:{max:200}}),e.string({key:`notes`,label:`people.person.fields.notes`,rules:{max:1e3}}),e.tags({key:`tags`,label:`people.person.fields.tags`})]}),a=n({id:`people`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`people`,label:`people.vault.label`,icon:`lucide:users`}),modules:[i]}]});export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({module:`title`,vault:`media`,label:`media.title.label`,icon:`lucide:clapperboard`,claude:`A movie or series in the watchlist. name — the title. kind — movie/series. status — viewing intent (want=added to the list, not in Jellyfin yet / unwatched=in Jellyfin, not watched / watching / watched / dropped). in_library, jellyfin_id and source are mirrored from Jellyfin — do not edit manually when source=jellyfin (sync will overwrite).`,views:{table:[`kind`,`status`,`year`,`imdb_rating`],groupBy:[`kind`,`status`,`genres`,`year`,`source`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.poster({key:`poster`,label:`media.title.fields.poster`}),e.text({key:`overview`,label:`media.title.fields.overview`,rules:{max:2e3}}),e.select({key:`kind`,label:`media.title.fields.kind`,options:[{value:`movie`,title:`media.title.options.kind.movie`},{value:`series`,title:`media.title.options.kind.series`}]}),e.int({key:`year`,label:`media.title.fields.year`}),e.tags({key:`genres`,label:`media.title.fields.genres`}),e.duration({key:`runtime`,label:`media.title.fields.runtime`}),e.string({key:`tmdb_id`,label:`media.title.fields.tmdb_id`,rules:{max:32}}),e.string({key:`imdb_id`,label:`media.title.fields.imdb_id`,rules:{max:32}}),e.real({key:`tmdb_rating`,label:`media.title.fields.tmdb_rating`}),e.real({key:`imdb_rating`,label:`media.title.fields.imdb_rating`}),e.select({key:`status`,label:`media.title.fields.status`,options:[{value:`want`,title:`media.title.options.status.want`},{value:`unwatched`,title:`media.title.options.status.unwatched`},{value:`watching`,title:`media.title.options.status.watching`},{value:`watched`,title:`media.title.options.status.watched`},{value:`dropped`,title:`media.title.options.status.dropped`}]}),e.date({key:`watched_date`,label:`media.title.fields.watched_date`}),e.int({key:`seasons`,label:`media.title.fields.seasons`,rules:{min:0}}),e.int({key:`episodes`,label:`media.title.fields.episodes`,rules:{min:0}}),e.boolean({key:`in_library`,label:`media.title.fields.in_library`}),e.link({key:`jellyfin_id`,label:`media.title.fields.jellyfin_id`,rules:{max:300}}),e.select({key:`source`,label:`media.title.fields.source`,default:`manual`,options:[{value:`manual`,title:`media.title.options.source.manual`},{value:`jellyfin`,title:`media.title.options.source.jellyfin`},{value:`agent`,title:`media.title.options.source.agent`}]}),e.url({key:`link`,label:`media.title.fields.link`})]}),o=n({id:`media`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`media`,label:`media.vault.label`,icon:`lucide:clapperboard`}),modules:[a]}],settings:i({label:`media.settings.label`,fields:[e.password({key:`tmdb_key`,label:`media.settings.tmdb_key`,required:!0}),e.password({key:`omdb_key`,label:`media.settings.omdb_key`}),e.string({key:`jellyfin_url`,label:`media.settings.jellyfin_url`}),e.password({key:`jellyfin_token`,label:`media.settings.jellyfin_token`}),e.string({key:`jellyfin_user_id`,label:`media.settings.jellyfin_user_id`}),e.button({label:`media.settings.test_button`,value:`media.testJellyfin`,icon:`lucide:wifi`}),e.button({label:`media.settings.sync_button`,value:`media.syncJellyfin`,icon:`lucide:refresh-cw`})]})});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`agent`,version:`1.0.0`,dependsOn:[],settings:n({label:`agent.settings.label`,fields:[e.select({key:`auth_mode`,label:`agent.settings.auth_mode`,default:`subscription`,options:[{value:`subscription`,title:`agent.settings.auth_mode_subscription`},{value:`api_key`,title:`agent.settings.auth_mode_api_key`}]}),e.password({key:`anthropic_api_key`,label:`agent.settings.anthropic_api_key`,view:{hidden:{auth_mode:{$ne:`api_key`}}}}),e.string({key:`claude_model`,label:`agent.settings.claude_model`,default:`haiku`}),e.boolean({key:`skip_permissions`,label:`agent.settings.skip_permissions`,default:!0}),e.int({key:`response_timeout`,label:`agent.settings.response_timeout`,default:600}),e.boolean({key:`rag_enabled`,label:`agent.settings.rag_enabled`,default:!0}),e.int({key:`rag_top_k`,label:`agent.settings.rag_top_k`,default:5}),e.password({key:`openai_api_key`,label:`agent.settings.openai_api_key`}),e.password({key:`langfuse_public_key`,label:`agent.settings.langfuse_public_key`}),e.password({key:`langfuse_secret_key`,label:`agent.settings.langfuse_secret_key`}),e.string({key:`langfuse_base_url`,label:`agent.settings.langfuse_base_url`}),e.boolean({key:`tracing_enabled`,label:`agent.settings.tracing_enabled`})]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`nextcloud`,version:`1.0.0`,dependsOn:[],vaults:[],settings:n({label:`nextcloud.settings.label`,fields:[e.string({key:`nextcloud_url`,label:`nextcloud.settings.nextcloud_url`,required:!0}),e.string({key:`login`,label:`nextcloud.settings.login`,required:!0}),e.password({key:`password`,label:`nextcloud.settings.password`,required:!0}),e.button({label:`nextcloud.settings.test_button`,value:`nextcloud.testConnection`,icon:`lucide:wifi`})]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{t as n}from"./extend-DLMSdMhy.js";import{n as r,r as i}from"./plugin-b0fDTTXJ.js";import{t as a}from"./settings-Dfvzj6n2.js";import{t as o}from"./src-CsYFDJmY.js";import{t as s}from"./src-zakS1nJb.js";var c=t({module:`field_demo`,vault:`lab`,label:`lab.field_demo.label`,icon:`lucide:flask-conical`,views:{inline:[`name`,`select`],table:[`text_minmax`,`integer`,`boolean`,`select`,`rating_5`,`measured_currency`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`image`,label:`lab.field_demo.fields.image`}),e.avatar({key:`avatar`,label:`lab.field_demo.fields.avatar`}),e.cover({key:`cover`,label:`lab.field_demo.fields.cover`}),e.embed({key:`embed_wide`,label:`lab.field_demo.fields.embed_wide`,multiple:!0}),e.embed({key:`embed_narrow`,label:`lab.field_demo.fields.embed_narrow`,multiple:!0}),e.info(`lab.field_demo.info.intro`),e.button({label:`lab.field_demo.fields.button_demo`,value:`lab.demoAction`,icon:`lucide:zap`,variant:`outline`}),e.group({label:`lab.field_demo.groups.demo`,view:{icon:`lucide:puzzle`},fields:[e.string({key:`text_plain`,label:`lab.field_demo.fields.text_plain`,rules:{max:200}}),e.string({key:`text_minmax`,label:`lab.field_demo.fields.text_minmax`,rules:{min:3,max:20}}),e.string({key:`text_pattern`,label:`lab.field_demo.fields.text_pattern`,rules:{pattern:`^[A-Za-z]+$`,messageKey:`lab.field_demo.validation.letters_only`}})]}),e.string({key:`compact_note`,label:`lab.field_demo.fields.compact_note`,view:{noEditControl:!0}}),e.string({key:`nolabel_note`,view:{noEditControl:!0}}),e.email({key:`text_email`,label:`lab.field_demo.fields.text_email`}),e.email({key:`text_emails`,label:`lab.field_demo.fields.text_emails`,multiple:!0}),e.url({key:`text_url`,label:`lab.field_demo.fields.text_url`}),e.tel({key:`text_tel`,label:`lab.field_demo.fields.text_tel`}),e.password({key:`text_password`,label:`lab.field_demo.fields.text_password`}),o.imei({key:`imei`,label:`lab.field_demo.fields.imei`}),o.mac({key:`mac`,label:`lab.field_demo.fields.mac`}),s.iban({key:`iban`,label:`lab.field_demo.fields.iban`}),e.int({key:`number_int`,label:`lab.field_demo.fields.number_int`,rules:{min:0,max:100}}),e.real({key:`number_decimal`,label:`lab.field_demo.fields.number_decimal`,rules:{min:0,max:1e3}}),e.int({key:`integer`,label:`lab.field_demo.fields.integer`,rules:{min:1,max:12}}),e.money({key:`price`,label:`lab.field_demo.fields.price`,rules:{defaultCurrency:`UAH`}}),e.numberRange({key:`ageRange`,label:`lab.field_demo.fields.ageRange`,rules:{min:0,max:120}}),e.realRange({key:`tempRange`,label:`lab.field_demo.fields.tempRange`}),e.rating({key:`rating_5`,label:`lab.field_demo.fields.rating_5`}),e.rating({key:`rating_10`,label:`lab.field_demo.fields.rating_10`,rules:{max:10}}),e.date({key:`birthYear`,label:`lab.field_demo.fields.birthYear`,rules:{granularity:`year`}}),e.date({key:`date`,label:`lab.field_demo.fields.date`}),e.date({key:`date_future`,label:`lab.field_demo.fields.date_future`,rules:{min:`today`}}),e.time({key:`time_field`,label:`lab.field_demo.fields.time_field`}),e.datetime({key:`datetime`,label:`lab.field_demo.fields.datetime`}),e.datetime({key:`datetimes_multi`,label:`lab.field_demo.fields.datetimes_multi`,multiple:!0}),e.triState({key:`agree`,label:`lab.field_demo.fields.agree`}),e.boolean({key:`boolean`,label:`lab.field_demo.fields.boolean`}),e.select({key:`select`,label:`lab.field_demo.fields.select`,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`select_multi`,label:`lab.field_demo.fields.select_multi`,multiple:!0,options:[{value:`red`,title:`lab.field_demo.options.select.red`},{value:`green`,title:`lab.field_demo.options.select.green`},{value:`blue`,title:`lab.field_demo.options.select.blue`}]}),e.select({key:`day_period`,label:`lab.field_demo.fields.day_period`,options:`day-periods`}),e.select({key:`day_period_multi`,label:`lab.field_demo.fields.day_period_multi`,options:`day-periods`,multiple:!0}),e.select({key:`country`,label:`lab.field_demo.fields.country`,options:`countries`}),e.select({key:`country_multi`,label:`lab.field_demo.fields.country_multi`,options:`countries`,multiple:!0}),e.country({key:`origin`,label:`lab.field_demo.fields.origin`}),e.tags({key:`tags_field`,label:`lab.field_demo.fields.tags_field`,options:[`alpha`,`beta`,`gamma`,`delta`]}),e.check({key:`demo_check`,label:`lab.field_demo.fields.demo_check`}),e.check({key:`demo_check_multi`,label:`lab.field_demo.fields.demo_check_multi`,multiple:!0}),e.check({key:`demo_check_stages`,label:`lab.field_demo.fields.demo_check_stages`,slots:[`lab.field_demo.fields.stage_ordered`,`lab.field_demo.fields.stage_paid`,`lab.field_demo.fields.stage_shipped`],multiple:!0}),e.color({key:`color_hex`,label:`lab.field_demo.fields.color_hex`}),e.color({key:`color_multi`,label:`lab.field_demo.fields.color_multi`,multiple:!0}),e.select({key:`color_name`,label:`lab.field_demo.fields.color_name`,options:`colors`}),e.duration({key:`duration_short`,label:`lab.field_demo.fields.duration_short`,rules:{max:28800,step:300}}),e.measured({key:`measured_currency`,label:`lab.field_demo.fields.measured_currency`,options:`currency`}),e.measured({key:`measured_weight`,label:`lab.field_demo.fields.measured_weight`,options:`weight`}),e.measured({key:`measured_custom`,label:`lab.field_demo.fields.measured_custom`,options:[{value:`shot`,label:`lab.field_demo.units.shot`},{value:`scoop`,label:`lab.field_demo.units.scoop`}]}),e.reminder({key:`demo_reminder`,label:`lab.field_demo.fields.demo_reminder`,rules:{lead:14}}),e.weight({key:`demo_weight`,label:`lab.field_demo.fields.demo_weight`}),e.dimensions({key:`demo_dimensions`,label:`lab.field_demo.fields.demo_dimensions`}),o.dataSize({key:`demo_datasize`,label:`lab.field_demo.fields.demo_datasize`}),o.ram({key:`demo_ram`,label:`lab.field_demo.fields.demo_ram`}),o.diskSize({key:`demo_disk`,label:`lab.field_demo.fields.demo_disk`}),e.select({key:`demo_weekday`,label:`lab.field_demo.fields.demo_weekday`,options:`weekdays`}),e.select({key:`demo_weekdays`,label:`lab.field_demo.fields.demo_weekdays`,options:`weekdays`,multiple:!0}),o.ip({key:`ip_addr`,label:`lab.field_demo.fields.ip_addr`}),o.ip({key:`ip_addrs`,label:`lab.field_demo.fields.ip_addrs`,multiple:!0}),o.cidr({key:`cidr_subnet`,label:`lab.field_demo.fields.cidr_subnet`}),e.real({key:`numbers_multi`,label:`lab.field_demo.fields.numbers_multi`,multiple:!0}),e.date({key:`dates_multi`,label:`lab.field_demo.fields.dates_multi`,multiple:!0}),e.divider(),e.text({key:`text_multiline`,label:`lab.field_demo.fields.text_multiline`,rules:{max:500}}),e.text({key:`textarea`,label:`lab.field_demo.fields.textarea`,rules:{max:1e3}}),e.smallText({key:`small_text`,label:`lab.field_demo.fields.small_text`,rules:{max:500}}),e.markdown({key:`markdown`,label:`lab.field_demo.fields.markdown`,rules:{max:5e3}}),e.snippet({key:`code`,label:`lab.field_demo.fields.code`,rules:{language:`yaml`,max:5e3}}),e.code({key:`snippet_struct`,label:`lab.field_demo.fields.snippet_struct`,rules:{defaultLang:`javascript`}}),e.json({key:`json`,label:`lab.field_demo.fields.json`}),e.period({key:`periods`,label:`lab.field_demo.fields.periods`,multiple:!0}),e.group({key:`row_single`,label:`lab.field_demo.fields.row_single`,fields:[e.select({key:`env`,label:`lab.field_demo.per_row.env`,options:[{value:`dev`,title:`lab.field_demo.options.env.dev`},{value:`prod`,title:`lab.field_demo.options.env.prod`}]}),e.url({key:`url`,label:`lab.field_demo.per_row.url`}),e.password({key:`token`,label:`lab.field_demo.per_row.token`})]}),e.keyed({key:`variants`,label:`lab.field_demo.fields.variants`,by:e.select({key:`lang`,label:`lab.field_demo.per_row.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`lab.field_demo.per_row.name`}),e.string({key:`surname`,label:`lab.field_demo.per_row.surname`})]}),e.keyed({key:`perkey_fixed`,label:`lab.field_demo.fields.perkey_fixed`,fixed:!0,by:e.select({key:`size`,label:`lab.field_demo.per_row.size`,options:[{value:`s`,title:`lab.field_demo.options.size.s`},{value:`m`,title:`lab.field_demo.options.size.m`},{value:`l`,title:`lab.field_demo.options.size.l`}]}),fields:[e.int({key:`qty`,label:`lab.field_demo.per_row.qty`,rules:{min:0}})]}),e.group({key:`row_ingredients`,label:`lab.field_demo.fields.row_ingredients`,multiple:!0,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`lab.field_demo.per_row.product`,options:{vault:`kitchen`,module:`food_item`}}),e.real({key:`amount`,label:`lab.field_demo.per_row.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`lab.field_demo.per_row.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.relation({key:`relation_single`,label:`lab.field_demo.fields.relation_single`,options:{vault:`lab`,module:`field_demo_child`}}),e.relation({key:`relation_multi`,label:`lab.field_demo.fields.relation_multi`,options:{vault:`lab`,module:`field_demo_child`},multiple:!0}),e.group({key:`coll_text`,label:`lab.field_demo.fields.coll_text`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{vault:`people`,module:`person`}}),e.string({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_integer`,label:`lab.field_demo.fields.coll_integer`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{vault:`people`,module:`person`}}),e.int({key:`value`,label:`lab.field_demo.fields.pp_value`})]}),e.group({key:`coll_select`,label:`lab.field_demo.fields.coll_select`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{vault:`people`,module:`person`}}),e.select({key:`value`,label:`lab.field_demo.fields.pp_value`,options:[{value:`s`,title:`lab.field_demo.options.pp_select.s`},{value:`m`,title:`lab.field_demo.options.pp_select.m`},{value:`l`,title:`lab.field_demo.options.pp_select.l`}]})]}),e.perWeekday({key:`per_weekday`,label:`lab.field_demo.fields.per_weekday`,rules:{min:0,max:5,step:.5}}),e.group({key:`per_weekday_per_person`,label:`lab.field_demo.fields.per_weekday_per_person`,multiple:!0,fields:[e.relation({key:`person`,label:`lab.field_demo.fields.pp_person`,options:{vault:`people`,module:`person`}}),e.perWeekday({key:`value`,label:`lab.field_demo.fields.pp_value`,rules:{min:0,max:10,step:1}})]}),e.image({key:`image_gallery`,label:`lab.field_demo.fields.image_gallery`,multiple:!0}),e.avatar({key:`avatar_row`,label:`lab.field_demo.fields.avatar_row`,multiple:!0}),e.cover({key:`cover_carousel`,label:`lab.field_demo.fields.cover_carousel`,multiple:!0}),e.file({key:`attachment`,label:`lab.field_demo.fields.attachment`}),e.document({key:`doc`,label:`lab.field_demo.fields.doc`}),e.audio({key:`voice`,label:`lab.field_demo.fields.voice`}),e.video({key:`clip`,label:`lab.field_demo.fields.clip`}),e.media({key:`gallery`,label:`lab.field_demo.fields.gallery`,multiple:!0}),e.geo({key:`place`,label:`lab.field_demo.fields.place`}),e.keyValue({key:`key_value`,label:`lab.field_demo.fields.key_value`,multiple:!0}),e.keyValue({key:`key_value_secret`,label:`lab.field_demo.fields.key_value_secret`,option:e.password({label:``})}),e.group({key:`services_bylist`,label:`lab.field_demo.fields.services_bylist`,multiple:!0,fields:[e.select({key:`type`,label:`devices.service.type`,options:`service-types`}),e.url({key:`url`,label:`devices.service.url`}),e.string({key:`login`,label:`devices.service.login`}),e.password({key:`password`,label:`devices.service.password`}),e.password({key:`token`,label:`devices.service.token`})]}),e.select({key:`type`,label:`lab.field_demo.fields.type`,options:[{value:`basic`,title:`lab.field_demo.options.type.basic`},{value:`advanced`,title:`lab.field_demo.options.type.advanced`}]})]}),l=t({module:`field_demo_child`,vault:`lab`,label:`lab.field_demo_child.label`,icon:`lucide:link`,standalone:!1,fields:[e.title({key:`name`,label:`core.fields.name`}),e.relation({key:`demo_id`,label:`lab.field_demo_child.fields.demo_id`,options:{vault:`lab`,module:`field_demo`}}),e.text({key:`note`,label:`lab.field_demo_child.fields.note`,rules:{max:500}})]}),u=n({id:`demo_extra`,label:`lab.demo_extra.label`,icon:`lucide:plus`,attachTo:[{vault:`lab`,module:`field_demo`}],showWhen:{type:`advanced`},fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`extra_text`,label:`lab.demo_extra.fields.extra_text`,rules:{max:200}}),e.int({key:`extra_number`,label:`lab.demo_extra.fields.extra_number`,rules:{min:0}}),e.boolean({key:`extra_flag`,label:`lab.demo_extra.fields.extra_flag`})]}),d=r({id:`lab`,version:`1.0.0`,dependsOn:[`people`,`kitchen`,`devices`,`finance`],settings:a({label:`lab.settings.label`,icon:`lucide:flask-conical`,fields:[e.info(`lab.settings.intro`),e.string({key:`greeting`,label:`lab.settings.fields.greeting`,rules:{max:80}}),e.boolean({key:`enabled`,label:`lab.settings.fields.enabled`}),e.select({key:`mode`,label:`lab.settings.fields.mode`,options:[{value:`fast`,title:`lab.settings.modes.fast`},{value:`safe`,title:`lab.settings.modes.safe`},{value:`debug`,title:`lab.settings.modes.debug`}]}),e.int({key:`retries`,label:`lab.settings.fields.retries`,rules:{min:0,max:10}}),e.divider(),e.info(`lab.settings.actions_info`),e.button({label:`lab.settings.run_button`,value:`lab.demoAction`,icon:`lucide:play`}),e.button({label:`lab.settings.fail_button`,value:`lab.demoFail`,icon:`lucide:bug`,variant:`destructive`}),e.button({label:`lab.settings.variants.default`,value:`lab.demoAction`,icon:`lucide:check`,variant:`default`}),e.button({label:`lab.settings.variants.secondary`,value:`lab.demoAction`,icon:`lucide:settings`,variant:`secondary`}),e.button({label:`lab.settings.variants.ghost`,value:`lab.demoAction`,icon:`lucide:ghost`,variant:`ghost`}),e.button({label:`lab.settings.variants.link`,value:`lab.demoAction`,icon:`lucide:link`,variant:`link`})]}),vaults:[{meta:i({id:`lab`,label:`lab.vault.label`,icon:`lucide:flask-conical`}),modules:[c,l]}],extends_:[u]});export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`telegram`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`telegram.settings.label`,fields:[e.int({key:`api_id`,label:`telegram.settings.api_id`}),e.password({key:`api_hash`,label:`telegram.settings.api_hash`}),e.password({key:`bot_token`,label:`telegram.settings.bot_token`}),e.tel({key:`phone`,label:`telegram.settings.phone`})]})});export{r as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{t as n}from"./extend-DLMSdMhy.js";import{n as r,r as i}from"./plugin-b0fDTTXJ.js";var a=t({module:`personal_document`,vault:`documents`,label:`documents.personal_document.label`,icon:`lucide:id-card`,views:{table:[`owner`,`type`,`surname`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`documents.personal_document.fields.logo`}),e.text({key:`description`,label:`documents.personal_document.fields.description`,rules:{max:1e3}}),e.string({key:`surname`,label:`documents.personal_document.fields.surname`,rules:{max:100}}),e.string({key:`given_names`,label:`documents.personal_document.fields.given_names`,rules:{max:200}}),e.select({key:`sex`,label:`documents.personal_document.fields.sex`,options:[{value:`M`,title:`documents.personal_document.options.sex.M`},{value:`F`,title:`documents.personal_document.options.sex.F`}]}),e.date({key:`birth_date`,label:`documents.personal_document.fields.birth_date`}),e.select({key:`nationality`,label:`documents.personal_document.fields.nationality`,options:`countries`}),e.string({key:`number`,label:`documents.personal_document.fields.number`,rules:{max:50}}),e.string({key:`record_no`,label:`documents.personal_document.fields.record_no`,rules:{max:50}}),e.date({key:`issued`,label:`documents.personal_document.fields.issued`}),e.reminder({key:`expires`,label:`documents.personal_document.fields.expires`,rules:{lead:60}}),e.string({key:`authority`,label:`documents.personal_document.fields.authority`,rules:{max:200}}),e.relation({key:`storage`,label:`documents.personal_document.fields.storage`,options:{vault:`things`,module:`storage_location`}}),e.string({key:`mrz`,label:`documents.personal_document.fields.mrz`,rules:{max:200}}),e.relation({key:`owner`,label:`documents.personal_document.fields.owner`,options:{vault:`people`,module:`person`}}),e.image({key:`photos`,label:`documents.personal_document.fields.photos`,multiple:!0}),e.text({key:`notes`,label:`documents.personal_document.fields.notes`,rules:{max:1e3}}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`P`,title:`documents.personal_document.options.type.P`},{value:`PA`,title:`documents.personal_document.options.type.PA`},{value:`TP`,title:`documents.personal_document.options.type.TP`},{value:`ID`,title:`documents.personal_document.options.type.ID`},{value:`DL`,title:`documents.personal_document.options.type.DL`},{value:`BR`,title:`documents.personal_document.options.type.BR`},{value:`MC`,title:`documents.personal_document.options.type.MC`},{value:`OT`,title:`documents.personal_document.options.type.OT`}]}),e.tags({key:`tags`,label:`documents.personal_document.fields.tags`})]}),o=n({id:`person_identity`,label:`documents.person_identity.label`,icon:`lucide:globe`,attachTo:[{vault:`people`,module:`person`}],claude:`Canonical person identity (not tied to a physical document).
|
|
2
|
+
nationality — ISO alpha-2. variants — given/family name per language (field.group multiple: lang+name+surname).`,fields:[e.select({key:`nationality`,label:`documents.person_identity.fields.nationality`,options:`countries`}),e.keyed({key:`variants`,label:`documents.person_identity.fields.variants`,by:e.select({key:`lang`,label:`documents.person_identity.variants.lang`,options:`languages`}),fields:[e.string({key:`name`,label:`documents.person_identity.variants.name`}),e.string({key:`surname`,label:`documents.person_identity.variants.surname`})]})]}),s=r({id:`documents`,version:`1.0.0`,dependsOn:[`people`],vaults:[{meta:i({id:`documents`,label:`documents.vault.label`,icon:`lucide:id-card`}),modules:[a]}],extends_:[o]});export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`trip`,vault:`travel`,label:`travel.trip.label`,icon:`lucide:plane`,views:{table:[`destination`,`date_from`,`date_to`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.text({key:`description`,label:`travel.trip.fields.description`,rules:{max:2e3}}),e.string({key:`destination`,label:`travel.trip.fields.destination`,rules:{max:200}}),e.date({key:`date_from`,label:`travel.trip.fields.date_from`}),e.date({key:`date_to`,label:`travel.trip.fields.date_to`}),e.select({key:`status`,label:`travel.trip.fields.status`,options:[{value:`planned`,title:`travel.trip.options.status.planned`},{value:`active`,title:`travel.trip.options.status.active`},{value:`completed`,title:`travel.trip.options.status.completed`},{value:`cancelled`,title:`travel.trip.options.status.cancelled`}]}),e.relation({key:`participants`,label:`travel.trip.fields.participants`,options:{vault:`people`,module:`person`},multiple:!0}),e.money({key:`budget`,label:`travel.trip.fields.budget`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.fields.notes`,rules:{max:3e3}}),e.image({key:`photos`,label:`travel.trip.fields.photos`,multiple:!0}),e.check({key:`packing_list`,label:`travel.trip.fields.packing_list`,slots:[`travel.trip.packing.prepared`,`travel.trip.packing.packed`,`travel.trip.packing.packed_back`],multiple:!0}),e.group({key:`legs`,label:`travel.trip.fields.legs`,multiple:!0,fields:[e.date({key:`date`,label:`travel.trip.leg.date`}),e.select({key:`leg_type`,label:`travel.trip.leg.leg_type`,options:[{value:`flight`,title:`travel.trip.leg_opt.leg_type.flight`},{value:`train`,title:`travel.trip.leg_opt.leg_type.train`},{value:`bus`,title:`travel.trip.leg_opt.leg_type.bus`},{value:`car`,title:`travel.trip.leg_opt.leg_type.car`},{value:`ferry`,title:`travel.trip.leg_opt.leg_type.ferry`},{value:`other`,title:`travel.trip.leg_opt.leg_type.other`}]}),e.string({key:`operator`,label:`travel.trip.leg.operator`,rules:{max:100}}),e.string({key:`number`,label:`travel.trip.leg.number`,rules:{max:20}}),e.string({key:`seat`,label:`travel.trip.leg.seat`,rules:{max:10}}),e.select({key:`class`,label:`travel.trip.leg.class`,options:[{value:`economy`,title:`travel.trip.leg_opt.class.economy`},{value:`business`,title:`travel.trip.leg_opt.class.business`},{value:`first`,title:`travel.trip.leg_opt.class.first`}]}),e.string({key:`booking_ref`,label:`travel.trip.leg.booking_ref`,rules:{max:50}}),e.string({key:`terminal`,label:`travel.trip.leg.terminal`,rules:{max:20}}),e.string({key:`gate`,label:`travel.trip.leg.gate`,rules:{max:20}}),e.string({key:`origin_city`,label:`travel.trip.leg.origin_city`,rules:{max:100}}),e.string({key:`origin_code`,label:`travel.trip.leg.origin_code`,rules:{max:10}}),e.time({key:`departure_time`,label:`travel.trip.leg.departure_time`}),e.string({key:`destination_city`,label:`travel.trip.leg.destination_city`,rules:{max:100}}),e.string({key:`destination_code`,label:`travel.trip.leg.destination_code`,rules:{max:10}}),e.time({key:`arrival_time`,label:`travel.trip.leg.arrival_time`}),e.duration({key:`duration`,label:`travel.trip.leg.duration`}),e.boolean({key:`checked_in`,label:`travel.trip.leg.checked_in`}),e.text({key:`notes`,label:`travel.trip.leg.notes`,rules:{max:2e3}})]}),e.group({key:`accommodations`,label:`travel.trip.fields.accommodations`,multiple:!0,fields:[e.select({key:`accom_type`,label:`travel.trip.accom.accom_type`,options:[{value:`hotel`,title:`travel.trip.accom_opt.accom_type.hotel`},{value:`apartment`,title:`travel.trip.accom_opt.accom_type.apartment`},{value:`hostel`,title:`travel.trip.accom_opt.accom_type.hostel`},{value:`other`,title:`travel.trip.accom_opt.accom_type.other`}]}),e.string({key:`location`,label:`travel.trip.accom.location`,rules:{max:300}}),e.string({key:`address`,label:`travel.trip.accom.address`,rules:{max:300}}),e.rating({key:`rating`,label:`travel.trip.accom.rating`,rules:{max:5}}),e.boolean({key:`breakfast`,label:`travel.trip.accom.breakfast`}),e.date({key:`check_in`,label:`travel.trip.accom.check_in`}),e.date({key:`check_out`,label:`travel.trip.accom.check_out`}),e.string({key:`booking_ref`,label:`travel.trip.accom.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.accom.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.accom.notes`,rules:{max:2e3}})]}),e.group({key:`insurances`,label:`travel.trip.fields.insurances`,multiple:!0,fields:[e.string({key:`insurer`,label:`travel.trip.insur.insurer`,rules:{max:200}}),e.string({key:`policy_number`,label:`travel.trip.insur.policy_number`,rules:{max:100}}),e.text({key:`coverage`,label:`travel.trip.insur.coverage`,rules:{max:1e3}}),e.money({key:`cost`,label:`travel.trip.insur.cost`,rules:{defaultCurrency:`UAH`}}),e.date({key:`valid_from`,label:`travel.trip.insur.valid_from`}),e.date({key:`valid_until`,label:`travel.trip.insur.valid_until`}),e.string({key:`emergency_phone`,label:`travel.trip.insur.emergency_phone`,rules:{max:50}}),e.text({key:`notes`,label:`travel.trip.insur.notes`,rules:{max:2e3}})]}),e.group({key:`activities`,label:`travel.trip.fields.activities`,multiple:!0,fields:[e.select({key:`activity_type`,label:`travel.trip.act.activity_type`,options:[{value:`sightseeing`,title:`travel.trip.act_opt.activity_type.sightseeing`},{value:`museum`,title:`travel.trip.act_opt.activity_type.museum`},{value:`beach`,title:`travel.trip.act_opt.activity_type.beach`},{value:`nature`,title:`travel.trip.act_opt.activity_type.nature`},{value:`restaurant`,title:`travel.trip.act_opt.activity_type.restaurant`},{value:`tour`,title:`travel.trip.act_opt.activity_type.tour`},{value:`shopping`,title:`travel.trip.act_opt.activity_type.shopping`},{value:`entertainment`,title:`travel.trip.act_opt.activity_type.entertainment`},{value:`other`,title:`travel.trip.act_opt.activity_type.other`}]}),e.date({key:`date`,label:`travel.trip.act.date`}),e.time({key:`time_start`,label:`travel.trip.act.time_start`}),e.time({key:`time_end`,label:`travel.trip.act.time_end`}),e.string({key:`location`,label:`travel.trip.act.location`,rules:{max:300}}),e.string({key:`booking_ref`,label:`travel.trip.act.booking_ref`,rules:{max:100}}),e.money({key:`cost`,label:`travel.trip.act.cost`,rules:{defaultCurrency:`UAH`}}),e.text({key:`notes`,label:`travel.trip.act.notes`,rules:{max:2e3}})]}),e.tags({key:`tags`,label:`travel.trip.fields.tags`})]}),a=n({id:`travel`,version:`1.0.0`,dependsOn:[`people`,`things`],vaults:[{meta:r({id:`travel`,label:`travel.vault.label`,icon:`lucide:plane`}),modules:[i]}]});export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";import{t as i}from"./settings-Dfvzj6n2.js";var a=t({module:`bus_route`,vault:`transit`,label:`transit.bus_route.label`,icon:`lucide:bus`,views:{table:[`route_number`,`from`,`to`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.int({key:`route_number`,label:`transit.bus_route.fields.route_number`}),e.string({key:`from`,label:`transit.bus_route.fields.from`,rules:{max:100}}),e.string({key:`to`,label:`transit.bus_route.fields.to`,rules:{max:100}}),e.string({key:`stop`,label:`transit.bus_route.fields.stop`,rules:{max:200}}),e.time({key:`weekday_times`,label:`transit.bus_route.fields.weekday_times`,multiple:!0}),e.time({key:`saturday_times`,label:`transit.bus_route.fields.saturday_times`,multiple:!0}),e.time({key:`sunday_times`,label:`transit.bus_route.fields.sunday_times`,multiple:!0}),e.text({key:`notes`,label:`transit.bus_route.fields.notes`,rules:{max:500}}),e.tags({key:`tags`,label:`transit.bus_route.fields.tags`})]}),o=n({id:`transit`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`transit`,label:`transit.vault.label`,icon:`lucide:bus`}),modules:[a]}],settings:i({label:`transit.settings.label`,fields:[e.boolean({key:`use_nextcloud`,label:`transit.settings.use_nextcloud`}),e.string({key:`caldav_calendar`,label:`transit.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`transit.settings.caldav_url`}),e.string({key:`caldav_username`,label:`transit.settings.caldav_username`}),e.password({key:`caldav_password`,label:`transit.settings.caldav_password`})]})});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{t as n}from"./extend-DLMSdMhy.js";import{n as r,r as i}from"./plugin-b0fDTTXJ.js";import{t as a}from"./settings-Dfvzj6n2.js";var o=t({module:`medicine`,vault:`health`,label:`health.medicine.label`,icon:`lucide:pill`,views:{table:[`type`,`form`,`quantity`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`photo`,label:`health.medicine.fields.photo`}),e.int({key:`quantity`,label:`health.medicine.fields.quantity`,rules:{min:0,max:1e5}}),e.date({key:`quantityCheckedAt`,label:`health.medicine.fields.quantityCheckedAt`}),e.text({key:`description`,label:`health.medicine.fields.description`,rules:{max:1e3}}),e.keyed({key:`dose`,label:`health.medicine.fields.dose`,by:e.relation({key:`person`,label:`health.medicine.fields.dose_person`,options:{vault:`people`,module:`person`}}),fields:[e.perWeekday({key:`value`,label:`health.medicine.fields.dose_value`,rules:{min:0,max:20,step:.5}})]}),e.select({key:`intakeTimes`,label:`health.medicine.fields.intakeTimes`,options:`day-periods`,multiple:!0}),e.period({key:`intakePeriods`,label:`health.medicine.fields.intakePeriods`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,required:!0,options:[{value:`vitamin`,title:`health.medicine.options.type.vitamin`},{value:`supplement`,title:`health.medicine.options.type.supplement`},{value:`medication`,title:`health.medicine.options.type.medication`},{value:`antibiotic`,title:`health.medicine.options.type.antibiotic`},{value:`hormone`,title:`health.medicine.options.type.hormone`},{value:`painkiller`,title:`health.medicine.options.type.painkiller`},{value:`homeopathy`,title:`health.medicine.options.type.homeopathy`},{value:`herbal`,title:`health.medicine.options.type.herbal`}]}),e.select({key:`form`,label:`health.medicine.fields.form`,options:[{value:`tablet`,title:`health.medicine.options.form.tablet`},{value:`capsule`,title:`health.medicine.options.form.capsule`},{value:`syrup`,title:`health.medicine.options.form.syrup`},{value:`drops`,title:`health.medicine.options.form.drops`},{value:`ointment`,title:`health.medicine.options.form.ointment`},{value:`gel`,title:`health.medicine.options.form.gel`},{value:`spray`,title:`health.medicine.options.form.spray`},{value:`injection`,title:`health.medicine.options.form.injection`},{value:`powder`,title:`health.medicine.options.form.powder`},{value:`suppository`,title:`health.medicine.options.form.suppository`}]})]}),s=t({module:`health_visit`,vault:`health`,label:`health.health_visit.label`,icon:`lucide:stethoscope`,views:{table:[`date`,`person`,`specialty`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_visit.fields.date`}),e.string({key:`specialist`,label:`health.health_visit.fields.specialist`,rules:{max:200}}),e.string({key:`specialty`,label:`health.health_visit.fields.specialty`,rules:{max:100}}),e.string({key:`clinic`,label:`health.health_visit.fields.clinic`,rules:{max:200}}),e.relation({key:`person`,label:`health.health_visit.fields.person`,options:{vault:`people`,module:`person`}}),e.text({key:`reason`,label:`health.health_visit.fields.reason`,rules:{max:1e3}}),e.text({key:`result`,label:`health.health_visit.fields.result`,rules:{max:2e3}}),e.text({key:`next_step`,label:`health.health_visit.fields.next_step`,rules:{max:1e3}}),e.money({key:`cost`,label:`health.health_visit.fields.cost`,rules:{defaultCurrency:`UAH`}}),e.image({key:`photos`,label:`health.health_visit.fields.photos`,multiple:!0}),e.file({key:`files`,label:`health.health_visit.fields.files`,multiple:!0}),e.relation({key:`medicines`,label:`health.health_visit.fields.medicines`,options:{vault:`health`,module:`medicine`},multiple:!0}),e.reminder({key:`nextVisit`,label:`health.health_visit.fields.nextVisit`,rules:{lead:14}})]}),c=t({module:`health_test`,vault:`health`,label:`health.health_test.label`,icon:`lucide:flask-conical`,views:{table:[`date`,`person`,`status`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.date({key:`date`,label:`health.health_test.fields.date`}),e.string({key:`clinic`,label:`health.health_test.fields.clinic`,rules:{max:200}}),e.select({key:`status`,label:`health.health_test.fields.status`,options:[{value:`ordered`,title:`health.health_test.options.status.ordered`},{value:`completed`,title:`health.health_test.options.status.completed`},{value:`cancelled`,title:`health.health_test.options.status.cancelled`}]}),e.select({key:`test_type`,label:`health.health_test.fields.test_type`,options:[{value:`blood`,title:`health.health_test.options.test_type.blood`},{value:`urine`,title:`health.health_test.options.test_type.urine`},{value:`ultrasound`,title:`health.health_test.options.test_type.ultrasound`},{value:`xray`,title:`health.health_test.options.test_type.xray`},{value:`mri`,title:`health.health_test.options.test_type.mri`},{value:`other`,title:`health.health_test.options.test_type.other`}]}),e.relation({key:`person`,label:`health.health_test.fields.person`,options:{vault:`people`,module:`person`}}),e.text({key:`result`,label:`health.health_test.fields.result`,rules:{max:5e3}}),e.image({key:`attachments`,label:`health.health_test.fields.attachments`,multiple:!0})]}),l=n({id:`person_body`,label:`health.person_body.label`,icon:`lucide:ruler`,attachTo:[{vault:`people`,module:`person`}],claude:`Person's body measurements. weightKg — weight in kg. heightCm — height in cm.`,fields:[e.real({key:`weightKg`,label:`health.person_body.fields.weightKg`,rules:{min:1,max:500}}),e.int({key:`heightCm`,label:`health.person_body.fields.heightCm`,rules:{min:50,max:250}})]}),u=r({id:`health`,version:`1.0.0`,dependsOn:[`people`],optionLists:[{name:`day-periods`,options:[{value:`any`,title:`health.dayPeriods.any`},{value:`before_breakfast`,title:`health.dayPeriods.before_breakfast`},{value:`with_breakfast`,title:`health.dayPeriods.with_breakfast`},{value:`after_breakfast`,title:`health.dayPeriods.after_breakfast`},{value:`with_food`,title:`health.dayPeriods.with_food`},{value:`after_lunch`,title:`health.dayPeriods.after_lunch`},{value:`evening`,title:`health.dayPeriods.evening`},{value:`before_bed`,title:`health.dayPeriods.before_bed`},{value:`as_needed`,title:`health.dayPeriods.as_needed`}]}],vaults:[{meta:i({id:`health`,label:`health.vault.label`,icon:`lucide:hospital`}),modules:[o,s,c]}],extends_:[l],settings:a({label:`health.settings.label`,fields:[e.boolean({key:`use_nextcloud`,label:`health.settings.use_nextcloud`}),e.string({key:`caldav_calendar`,label:`health.settings.caldav_calendar`}),e.string({key:`caldav_url`,label:`health.settings.caldav_url`}),e.string({key:`caldav_username`,label:`health.settings.caldav_username`}),e.password({key:`caldav_password`,label:`health.settings.caldav_password`})]})});export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`http`,version:`1.0.0`,dependsOn:[`orchestrator`],settings:n({label:`http.settings.label`,fields:[e.int({key:`port`,label:`http.settings.port`}),e.password({key:`access_password`,label:`http.settings.access_password`})]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,H as n,I as r,L as i,P as a,R as o,U as s,V as c,_ as l,i as u,k as d,t as f,w as p,z as m}from"./fields-DVMUyXbG.js";import{i as h}from"./module-DytlXfXo.js";import{t as g}from"./extend-DLMSdMhy.js";import{n as _,r as v}from"./plugin-b0fDTTXJ.js";import{t as y}from"./settings-Dfvzj6n2.js";import{i as b,r as x,s as S}from"./data-size-D-ZPRlPP.js";var C=(e,n)=>s().superRefine((r,i)=>{e.safeParse(t(r)).success||i.addIssue({code:a.custom,message:d(n)})}),w=()=>o().int().min(0).max(255),T=()=>o().int().min(0).max(65535),E=n([w(),w(),w(),w()]),D=n([T(),T(),T(),T(),T(),T(),T(),T()]),O=m({v:i(4),a:E}),k=m({v:i(6),a:D}),A=r(`v`,[O,k]);function j(t){let n=p(t),r=n.required??!1,i=C(A,`ip_structure`);return l(n,f({kind:`ip`,label:n.label??``,required:r,prim:`ip`,column:`text`,hints:{},zod:e(i,r)},n.multiple??!1))}var M=/^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;function N(t){let n=p(t),r=n.required??!1,i=c().regex(M,{message:d(`pattern`,{messageKey:`core.presets.mac`})});return l(n,f({kind:`text`,label:n.label??``,required:r,prim:`text`,column:`text`,hints:{mask:`macAddress`},zod:e(i,r)},n.multiple??!1))}var P=/^[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?(\.[A-Za-z0-9_]([A-Za-z0-9_-]{0,61}[A-Za-z0-9_])?)*$/;function F(t){let n=p(t),r=n.required??!1,i=c().regex(P,{message:d(`pattern`,{messageKey:`core.presets.hostname`})});return l(n,f({kind:`text`,label:n.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:e(i,r)},n.multiple??!1))}var I=/^\d{15}$/;function L(e){let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=e.charCodeAt(r)-48;n&&(i*=2,i>9&&(i-=9)),t+=i,n=!n}return t%10==0}function R(t){let n=p(t),r=n.required??!1,i=c().regex(I,{message:d(`pattern`,{messageKey:`core.presets.imei`})}).refine(L,{message:d(`pattern`,{messageKey:`core.presets.imei`})});return l(n,f({kind:`text`,label:n.label??``,required:r,prim:`text`,column:`text`,hints:{},zod:e(i,r)},n.multiple??!1))}var z=r(`v`,[O.extend({p:o().int().min(0).max(32)}),k.extend({p:o().int().min(0).max(128)})]);function B(t){let n=p(t),r=n.required??!1,i=C(z,`cidr_structure`);return l(n,f({kind:`cidr`,label:n.label??``,required:r,prim:`cidr`,column:`text`,hints:{},zod:e(i,r)},n.multiple??!1))}var V=h({module:`network`,vault:`devices`,label:`devices.network.label`,icon:`lucide:globe`,claude:`A network segment. subnet — CIDR. gateway — the gateway. domain — the segment's DNS suffix (e.g. lan → host FQDN = hostname.lan).`,views:{table:[`subnet`,`gateway`,`dnsPrimary`]},fields:[u.title({key:`name`,label:`core.fields.name`}),u.text({key:`description`,label:`devices.network.fields.description`,rules:{max:1e3}}),u.int({key:`vlan`,label:`devices.network.fields.vlan`,rules:{min:1,max:4094}}),F({key:`domain`,label:`devices.network.fields.domain`}),B({key:`subnet`,label:`devices.network.fields.subnet`}),j({key:`gateway`,label:`devices.network.fields.gateway`}),j({key:`dnsPrimary`,label:`devices.network.fields.dnsPrimary`}),j({key:`dnsFallback`,label:`devices.network.fields.dnsFallback`}),j({key:`poolStart`,label:`devices.network.fields.poolStart`}),j({key:`poolEnd`,label:`devices.network.fields.poolEnd`})]}),H=[`access`,`infra`,`monitoring`,`database`,`automation`,`network`,`media`,`lighting`,`files`,`downloads`,`finance`,`calendars`,`web`,`devices`,`other`].map(e=>({value:e,title:`devices.service.cat.${e}`})),U=[{value:`http`,title:`devices.accessTypes.http`},{value:`https`,title:`devices.accessTypes.https`},{value:`ssh`,title:`devices.accessTypes.ssh`},{value:`mysql`,title:`devices.accessTypes.mysql`},{value:`mqtt`,title:`devices.accessTypes.mqtt`},{value:`ws`,title:`devices.accessTypes.ws`},{value:`dns`,title:`devices.accessTypes.dns`},{value:`other`,title:`devices.accessTypes.other`}],W=h({module:`service`,vault:`devices`,label:`devices.service_catalog.label`,icon:`lucide:layers`,claude:`Catalog of network service types. name — human-readable name (custom, not translated). code — slug (auto-link key from the scanner). category — tag slugs (multi; SERVICE_CATEGORIES as hints). description_mode — description source: 'key' (i18n key in the description field) or 'own' (free text in the description_text field). SERVICE_META defaults → 'key' + devices.service.desc.<code>; user records are usually 'own'.`,views:{table:[`code`,`category`]},fields:[u.title({key:`name`,label:`core.fields.name`}),u.string({key:`code`,label:`devices.service.code`,rules:{max:60}}),u.select({key:`category`,label:`devices.service.category`,options:[...H],multiple:!0}),u.select({key:`description_mode`,label:`devices.service.description_mode`,options:[{value:`key`,title:`devices.service.description_mode_key`},{value:`own`,title:`devices.service.description_mode_own`}],default:`key`}),u.i18n({key:`description`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`key`}}}}),u.text({key:`description_text`,label:`devices.service.description`,rules:{max:1e3},view:{hidden:{description_mode:{$ne:`own`}}}})]}),G=g({id:`device_info`,label:`devices.device_info.label`,icon:`lucide:monitor`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`device`},claude:`Network and technical specs of a device. hostname — FQDN on the LAN. addresses[] — network addresses (ip/mac, multi-NIC). group — human-friendly. services[] — inline services (type/title/links[]/secrets[]). disks_usage[] — disk usage (SSH).`,fields:[u.sheet({fields:[[u.string({key:`hostname`,label:`devices.device_info.fields.hostname`,rules:{max:120}}),u.select({key:`group`,label:`devices.device_info.fields.group`,options:`device-groups`})],[u.string({key:`vendor`,label:`devices.device_info.fields.vendor`,rules:{max:80}}),u.string({key:`model`,label:`devices.device_info.fields.model`,rules:{max:120}})],[u.string({key:`os`,label:`devices.device_info.fields.os`,rules:{max:100}}),u.string({key:`kernel`,label:`devices.device_info.fields.kernel`,rules:{max:100}}),u.string({key:`arch`,label:`devices.device_info.fields.arch`,rules:{max:30}})],[u.string({key:`cpu`,label:`devices.device_info.fields.cpu`,rules:{max:150}}),u.string({key:`gpu`,label:`devices.device_info.fields.gpu`,rules:{max:150}}),S({key:`ram`,label:`devices.device_info.fields.ram`})]]}),u.table({key:`addresses`,label:`devices.device_info.fields.addresses`,fields:[j({key:`ip`,label:`devices.device_info.fields.ip`}),N({key:`mac`,label:`devices.device_info.fields.mac`})]}),u.group({key:`disks_usage`,label:`devices.device_info.fields.disks_usage`,multiple:!0,fields:[u.string({key:`mount`,label:`devices.device_info.disk.mount`,rules:{max:80}}),x({key:`size`,label:`devices.device_info.disk.size`,system:`binary`,unit:`GiB`}),x({key:`used`,label:`devices.device_info.disk.used`,system:`binary`,unit:`GiB`}),x({key:`free`,label:`devices.device_info.disk.free`,system:`binary`,unit:`GiB`})]}),u.keyed({key:`services`,label:`devices.device_info.fields.services`,by:u.relation({key:`service`,label:`devices.service.type`,options:{vault:`devices`,module:`service`}}),fields:[u.smallText({key:`description`,label:`devices.service.description`,rules:{max:500}}),u.boolean({key:`hide`,label:`devices.service.hide`}),u.table({key:`links`,label:`devices.service.links`,fields:[u.url({key:`url`,label:`devices.service.url`}),u.select({key:`access`,label:`devices.service.access`,options:`access-types`}),u.select({key:`visibility`,label:`devices.service.visibility`,options:`visibility-types`})]}),u.keyValue({key:`secrets`,label:`devices.service.secrets`,option:u.password({}),multiple:!0,view:{keyLabel:`devices.service.secretName`,valueLabel:`devices.service.secretValue`}})]})]}),K={ssh_config_path:`~/.ssh/config`,pihole_conf_path:``,syncthing_ini_path:`~/.config/syncthingtray.ini`,gtk_bookmarks_path:`~/.config/gtk-3.0/bookmarks`,kodi_sources_path:`~/.local/share/kodi/userdata/sources.xml`,krdc_bookmarks_path:`~/.local/share/krdc/bookmarks.xml`,rclone_config_path:`~/.config/rclone/rclone.conf`,remmina_dir:`~/.local/share/remmina`,remoteview_dir:`~/.local/share/remoteview`,delfin_config_path:`~/.config/delfin/config.toml`},q=`docker compose exec pihole pihole reloaddns`,J={ip:j,cidr:B,mac:N,hostname:F,imei:R,dataSize:x,ram:S,diskSize:b},Y=_({id:`devices`,version:`1.0.0`,dependsOn:[`things`],settings:y({label:`devices.settings.label`,icon:`lucide:radar`,fields:[u.info(`devices.settings.scan_info`),u.button({label:`devices.settings.scan_button`,value:`devices.runScan`,icon:`lucide:radar`}),u.info(`devices.settings.secrets_help`),u.info(`devices.settings.sync_targets_info`),u.localFile({key:`ssh_config_path`,label:`devices.settings.ssh_config_path`,default:K.ssh_config_path}),u.localFile({key:`pihole_conf_path`,label:`devices.settings.pihole_conf_path`,default:K.pihole_conf_path}),u.string({key:`pihole_reload_cmd`,label:`devices.settings.pihole_reload_cmd`,default:q}),u.localFile({key:`syncthing_ini_path`,label:`devices.settings.syncthing_ini_path`,default:K.syncthing_ini_path}),u.localFile({key:`gtk_bookmarks_path`,label:`devices.settings.gtk_bookmarks_path`,default:K.gtk_bookmarks_path}),u.localFile({key:`kodi_sources_path`,label:`devices.settings.kodi_sources_path`,default:K.kodi_sources_path}),u.localFile({key:`krdc_bookmarks_path`,label:`devices.settings.krdc_bookmarks_path`,default:K.krdc_bookmarks_path}),u.localFile({key:`rclone_config_path`,label:`devices.settings.rclone_config_path`,default:K.rclone_config_path}),u.localDir({key:`remmina_dir`,label:`devices.settings.remmina_dir`,default:K.remmina_dir}),u.localDir({key:`remoteview_dir`,label:`devices.settings.remoteview_dir`,default:K.remoteview_dir}),u.localFile({key:`delfin_config_path`,label:`devices.settings.delfin_config_path`,default:K.delfin_config_path})]}),vaults:[{meta:v({id:`devices`,label:`devices.vault.label`,icon:`lucide:globe`}),modules:[V,W]}],extends_:[G],fieldContribs:[{vault:`things`,module:`item`,field:`type`,options:[{value:`device`,title:`devices.device_info.label`}]}],optionLists:[{name:`access-types`,options:[...U]},{name:`visibility-types`,options:[{value:`lan`,title:`devices.visibilityTypes.lan`},{value:`public`,title:`devices.visibilityTypes.public`}]},{name:`device-groups`,options:[{value:`pc`,title:`devices.deviceGroups.pc`},{value:`server`,title:`devices.deviceGroups.server`},{value:`mobile`,title:`devices.deviceGroups.mobile`},{value:`tv`,title:`devices.deviceGroups.tv`},{value:`iot`,title:`devices.deviceGroups.iot`},{value:`network`,title:`devices.deviceGroups.network`},{value:`other`,title:`devices.deviceGroups.other`}]}]});export{R as a,F as i,Y as n,j as o,B as r,N as s,J as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`webexport`,version:`1.0.0`,dependsOn:[],vaults:[],settings:n({label:`webexport.settings.label`,icon:`lucide:folder-output`,fields:[e.localDir({key:`output_dir`,label:`webexport.settings.output_dir`,required:!0})]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,r as t,s as n}from"./data-size-D-ZPRlPP.js";import{a as r,i,n as a,o,r as s,s as c,t as l}from"./src-CsYFDJmY.js";export{s as cidr,t as dataSize,a as default,l as dev,e as diskSize,i as hostname,r as imei,o as ip,c as mac,n as ram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`orchestrator`,version:`1.0.0`,dependsOn:[`agent`],settings:n({label:`orchestrator.settings.label`,fields:[e.password({key:`access_password`,label:`orchestrator.settings.access_password`}),e.string({key:`trigger_prefix`,label:`orchestrator.settings.trigger_prefix`}),e.int({key:`reply_window`,label:`orchestrator.settings.reply_window`,default:1800})]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`food_item`,vault:`kitchen`,label:`kitchen.food_item.label`,icon:`lucide:soup`,views:{table:[`subcategory`,`quantity`,`expires`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`kitchen.food_item.fields.logo`}),e.text({key:`description`,label:`kitchen.food_item.fields.description`,rules:{max:1e3}}),e.string({key:`subcategory`,label:`kitchen.food_item.fields.subcategory`,rules:{max:100}}),e.measured({key:`quantity`,label:`kitchen.food_item.fields.quantity`,options:`cooking`,rules:{min:0}}),e.measured({key:`minQuantity`,label:`kitchen.food_item.fields.minQuantity`,options:`cooking`,rules:{min:0}}),e.reminder({key:`expires`,label:`kitchen.food_item.fields.expires`,rules:{lead:14}}),e.string({key:`brand`,label:`kitchen.food_item.fields.brand`,rules:{max:100}}),e.tags({key:`tags`,label:`kitchen.food_item.fields.tags`})]}),a=t({module:`food_recipe`,vault:`kitchen`,label:`kitchen.food_recipe.label`,icon:`lucide:clipboard-list`,views:{table:[`category`,`description`,`prep_time`,`cook_time`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`images`,label:`kitchen.food_recipe.fields.images`,multiple:!0}),e.text({key:`description`,label:`kitchen.food_recipe.fields.description`,rules:{max:500}}),e.int({key:`servings`,label:`kitchen.food_recipe.fields.servings`,rules:{min:1,max:100}}),e.select({key:`difficulty`,label:`kitchen.food_recipe.fields.difficulty`,options:[{value:`easy`,title:`kitchen.food_recipe.options.difficulty.easy`},{value:`medium`,title:`kitchen.food_recipe.options.difficulty.medium`},{value:`hard`,title:`kitchen.food_recipe.options.difficulty.hard`}]}),e.select({key:`category`,label:`kitchen.food_recipe.fields.category`,multiple:!0,options:[{value:`first`,title:`kitchen.food_recipe.options.category.first`},{value:`main`,title:`kitchen.food_recipe.options.category.main`},{value:`salad`,title:`kitchen.food_recipe.options.category.salad`},{value:`appetizer`,title:`kitchen.food_recipe.options.category.appetizer`},{value:`side`,title:`kitchen.food_recipe.options.category.side`},{value:`dessert`,title:`kitchen.food_recipe.options.category.dessert`},{value:`drink`,title:`kitchen.food_recipe.options.category.drink`},{value:`sauce`,title:`kitchen.food_recipe.options.category.sauce`}]}),e.tags({key:`tags`,label:`kitchen.food_recipe.fields.tags`}),e.duration({key:`prep_time`,label:`kitchen.food_recipe.fields.prep_time`}),e.duration({key:`cook_time`,label:`kitchen.food_recipe.fields.cook_time`}),e.table({key:`ingredients`,label:`kitchen.food_recipe.fields.ingredients`,rules:{unique:[`product`]},fields:[e.relation({key:`product`,label:`kitchen.food_recipe.ingredient.product`,options:{vault:`kitchen`,module:`food_item`}}),e.real({key:`amount`,label:`kitchen.food_recipe.ingredient.amount`,rules:{min:0}}),e.lookup({key:`stock`,label:`kitchen.food_recipe.ingredient.stock`,from:`product`,pick:[`quantity`],view:{compareWith:`amount`}})]}),e.markdown({key:`steps`,label:`kitchen.food_recipe.fields.steps`,rules:{max:5e3}}),e.text({key:`comment`,label:`kitchen.food_recipe.fields.comment`,rules:{max:1e3}})]}),o=n({id:`kitchen`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`kitchen`,label:`kitchen.vault.label`,icon:`lucide:cooking-pot`}),modules:[i,a]}]});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`item`,vault:`things`,label:`things.item.label`,icon:`lucide:package`,claude:`A physical item. name — the title. type — an optional classifier (extends can add types, e.g. device).`,views:{table:[`type`,`brand`,`model`,`location`],groupBy:[`type`,`paymentStatus`,`condition`,`owner`,`location`,`brand`,`model`,`color`,`material`,`madeIn`]},fields:[e.title({key:`name`,label:`core.fields.name`}),e.image({key:`logo`,label:`things.item.fields.logo`}),e.text({key:`description`,label:`things.item.fields.description`,rules:{max:1e3}}),e.string({key:`brand`,label:`things.item.fields.brand`,rules:{max:100}}),e.string({key:`model`,label:`things.item.fields.model`,rules:{max:100}}),e.int({key:`quantity`,label:`things.item.fields.quantity`,rules:{min:0}}),e.relation({key:`owner`,label:`things.item.fields.owner`,options:{vault:`people`,module:`person`}}),e.relation({key:`location`,label:`things.item.fields.location`,options:{vault:`things`,module:`storage_location`}}),e.string({key:`color`,label:`things.item.fields.color`,rules:{max:120}}),e.string({key:`material`,label:`things.item.fields.material`,rules:{max:80}}),e.string({key:`madeIn`,label:`things.item.fields.madeIn`,rules:{max:60}}),e.weight({key:`weight`,label:`things.item.fields.weight`}),e.dimensions({key:`dimensions`,label:`things.item.fields.dimensions`}),e.string({key:`serialNumber`,label:`things.item.fields.serialNumber`,rules:{max:80}}),e.date({key:`purchaseDate`,label:`things.item.fields.purchaseDate`}),e.money({key:`purchasePrice`,label:`things.item.fields.purchasePrice`,rules:{defaultCurrency:`UAH`}}),e.select({key:`paymentStatus`,label:`things.item.fields.paymentStatus`,options:[{value:`bought`,title:`things.item.options.paymentStatus.bought`},{value:`installment`,title:`things.item.options.paymentStatus.installment`},{value:`credit`,title:`things.item.options.paymentStatus.credit`}]}),e.select({key:`condition`,label:`things.item.fields.condition`,options:[{value:`new`,title:`things.item.options.condition.new`},{value:`good`,title:`things.item.options.condition.good`},{value:`fair`,title:`things.item.options.condition.fair`},{value:`poor`,title:`things.item.options.condition.poor`}]}),e.reminder({key:`warrantyExpires`,label:`things.item.fields.warrantyExpires`,rules:{lead:30}}),e.url({key:`link`,label:`things.item.fields.link`}),e.image({key:`photos`,label:`things.item.fields.photos`,multiple:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`clothing`,title:`things.item.options.type.clothing`},{value:`bag`,title:`things.item.options.type.bag`},{value:`cable`,title:`things.item.options.type.cable`},{value:`tool`,title:`things.item.options.type.tool`},{value:`document`,title:`things.item.options.type.document`},{value:`other`,title:`things.item.options.type.other`}]}),e.tags({key:`tags`,label:`things.item.fields.tags`})]}),a=t({module:`storage_location`,vault:`things`,label:`things.storage_location.label`,icon:`lucide:map-pin`,claude:`A storage location for items. name — what we call the place. path — hierarchy levels in order (room, furniture, shelf, container), free-form.`,views:{table:[`path`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.string({key:`path`,label:`things.storage_location.fields.path`,multiple:!0,rules:{max:120}})]}),o=n({id:`things`,version:`1.0.0`,dependsOn:[`people`],vaults:[{meta:r({id:`things`,label:`things.vault.label`,icon:`lucide:package`}),modules:[i,a]}]});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{t}from"./extend-DLMSdMhy.js";import{n}from"./plugin-b0fDTTXJ.js";var r=n({id:`drone`,version:`1.0.0`,dependsOn:[`things`],extends_:[t({id:`drone`,label:`drone.drone.label`,icon:`tb:drone`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone`},claude:`FPV drone technical characteristics. frame_size — frame size (e.g. 3.5"). motors — motors. firmware — firmware (Betaflight/INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`frame_size`,label:`drone.drone.fields.frame_size`,rules:{max:40}}),e.string({key:`purpose`,label:`drone.drone.fields.purpose`,rules:{max:200}}),e.string({key:`motors`,label:`drone.drone.fields.motors`,rules:{max:150}}),e.string({key:`props`,label:`drone.drone.fields.props`,rules:{max:80}}),e.string({key:`camera`,label:`drone.drone.fields.camera`,rules:{max:100}}),e.string({key:`flight_controller`,label:`drone.drone.fields.flight_controller`,rules:{max:100}}),e.string({key:`vtx`,label:`drone.drone.fields.vtx`,rules:{max:100}}),e.string({key:`gps_module`,label:`drone.drone.fields.gps_module`,rules:{max:100}}),e.string({key:`radio_link`,label:`drone.drone.fields.radio_link`,rules:{max:80}}),e.string({key:`receiver`,label:`drone.drone.fields.receiver`,rules:{max:80}}),e.string({key:`video_system`,label:`drone.drone.fields.video_system`,rules:{max:80}}),e.string({key:`power_module`,label:`drone.drone.fields.power_module`,rules:{max:60}}),e.string({key:`flight_time`,label:`drone.drone.fields.flight_time`,rules:{max:60}}),e.string({key:`firmware`,label:`drone.drone.fields.firmware`,rules:{max:100}}),e.string({key:`firmware_target`,label:`drone.drone.fields.firmware_target`,rules:{max:80}}),e.text({key:`notes`,label:`drone.drone.fields.notes`,rules:{max:2e3}}),e.image({key:`photos`,label:`drone.drone.fields.photos`,multiple:!0})]}),t({id:`drone_battery`,label:`drone.drone_battery.label`,icon:`lucide:battery-full`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone_battery`},claude:`FPV drone battery characteristics. cells — number of cells (1S/3S/4S). capacity — capacity in mAh. c_rate — discharge current. auw — all-up weight of the assembly in flight.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`brand`,label:`drone.drone_battery.fields.brand`,rules:{max:80}}),e.string({key:`charger`,label:`drone.drone_battery.fields.charger`,rules:{max:100}}),e.string({key:`cells`,label:`drone.drone_battery.fields.cells`,rules:{max:10}}),e.measured({key:`capacity`,label:`drone.drone_battery.fields.capacity`,options:`energy`}),e.string({key:`c_rate`,label:`drone.drone_battery.fields.c_rate`,rules:{max:20}}),e.string({key:`auw`,label:`drone.drone_battery.fields.auw`,rules:{max:40}})]}),t({id:`drone_vtx`,label:`drone.drone_vtx.label`,icon:`lucide:radio-tower`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone_vtx`},claude:`FPV video transmitter characteristics. input_voltage — input voltage. output_power — power levels. protocol — control protocol (IRC Tramp, SmartAudio). channel_count — number of channels.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`input_voltage`,label:`drone.drone_vtx.fields.input_voltage`,rules:{max:40}}),e.string({key:`output_power`,label:`drone.drone_vtx.fields.output_power`,rules:{max:100}}),e.string({key:`protocol`,label:`drone.drone_vtx.fields.protocol`,rules:{max:60}}),e.string({key:`antenna_interface`,label:`drone.drone_vtx.fields.antenna_interface`,rules:{max:40}}),e.int({key:`channel_count`,label:`drone.drone_vtx.fields.channel_count`,rules:{min:0}}),e.string({key:`mounting`,label:`drone.drone_vtx.fields.mounting`,rules:{max:80}}),e.boolean({key:`built_in_microphone`,label:`drone.drone_vtx.fields.built_in_microphone`}),e.json({key:`frequency_groups`,label:`drone.drone_vtx.fields.frequency_groups`}),e.json({key:`output_power_levels`,label:`drone.drone_vtx.fields.output_power_levels`})]}),t({id:`drone_gps`,label:`drone.drone_gps.label`,icon:`lucide:satellite`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone_gps_module`},claude:`FPV drone GPS module characteristics. gnss_chip — chipset. compass_chip — magnetometer. satellite_systems — supported satellite systems.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`gnss_chip`,label:`drone.drone_gps.fields.gnss_chip`,rules:{max:80}}),e.string({key:`compass_chip`,label:`drone.drone_gps.fields.compass_chip`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_gps.fields.barometer`}),e.string({key:`interface`,label:`drone.drone_gps.fields.interface`,rules:{max:40}}),e.string({key:`input_voltage`,label:`drone.drone_gps.fields.input_voltage`,rules:{max:40}}),e.int({key:`update_rate_hz`,label:`drone.drone_gps.fields.update_rate_hz`,rules:{min:0}}),e.int({key:`receiving_channels`,label:`drone.drone_gps.fields.receiving_channels`,rules:{min:0}}),e.json({key:`supported_protocols`,label:`drone.drone_gps.fields.supported_protocols`}),e.json({key:`baud_rates`,label:`drone.drone_gps.fields.baud_rates`}),e.json({key:`satellite_systems`,label:`drone.drone_gps.fields.satellite_systems`})]}),t({id:`drone_flight_controller`,label:`drone.drone_flight_controller.label`,icon:`lucide:sliders-horizontal`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone_flight_controller`},claude:`FPV drone flight controller characteristics. mcu — processor (STM32F411/F405). gyro — gyroscope. supported_firmware — compatible firmware (Betaflight, INAV).`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`mcu`,label:`drone.drone_flight_controller.fields.mcu`,rules:{max:60}}),e.string({key:`gyro`,label:`drone.drone_flight_controller.fields.gyro`,rules:{max:60}}),e.boolean({key:`barometer`,label:`drone.drone_flight_controller.fields.barometer`}),e.string({key:`osd_chip`,label:`drone.drone_flight_controller.fields.osd_chip`,rules:{max:40}}),e.string({key:`blackbox`,label:`drone.drone_flight_controller.fields.blackbox`,rules:{max:40}}),e.boolean({key:`bluetooth`,label:`drone.drone_flight_controller.fields.bluetooth`}),e.boolean({key:`wifi`,label:`drone.drone_flight_controller.fields.wifi`}),e.boolean({key:`current_sensor_input`,label:`drone.drone_flight_controller.fields.current_sensor_input`}),e.string({key:`power_input`,label:`drone.drone_flight_controller.fields.power_input`,rules:{max:40}}),e.string({key:`constant_current`,label:`drone.drone_flight_controller.fields.constant_current`,rules:{max:20}}),e.string({key:`peak_current`,label:`drone.drone_flight_controller.fields.peak_current`,rules:{max:20}}),e.string({key:`bec_5v`,label:`drone.drone_flight_controller.fields.bec_5v`,rules:{max:20}}),e.string({key:`bec_9v`,label:`drone.drone_flight_controller.fields.bec_9v`,rules:{max:20}}),e.string({key:`mounting`,label:`drone.drone_flight_controller.fields.mounting`,rules:{max:60}}),e.int({key:`uart_count`,label:`drone.drone_flight_controller.fields.uart_count`,rules:{min:0}}),e.json({key:`supported_firmware`,label:`drone.drone_flight_controller.fields.supported_firmware`}),e.string({key:`firmware_target`,label:`drone.drone_flight_controller.fields.firmware_target`,rules:{max:80}}),e.string({key:`build_role`,label:`drone.drone_flight_controller.fields.build_role`,rules:{max:200}})]}),t({id:`drone_goggles`,label:`drone.drone_goggles.label`,icon:`lucide:glasses`,attachTo:[{vault:`things`,module:`item`}],showWhen:{type:`drone_goggles`},claude:`FPV goggles characteristics. display_size — display diagonal. frequency_bands — supported radio bands. battery_life — runtime on battery.`,fields:[e.title({key:`name`,label:`core.fields.name`}),e.string({key:`display_size`,label:`drone.drone_goggles.fields.display_size`,rules:{max:20}}),e.string({key:`display_resolution`,label:`drone.drone_goggles.fields.display_resolution`,rules:{max:40}}),e.string({key:`display_brightness`,label:`drone.drone_goggles.fields.display_brightness`,rules:{max:30}}),e.string({key:`view_angle`,label:`drone.drone_goggles.fields.view_angle`,rules:{max:20}}),e.string({key:`antenna`,label:`drone.drone_goggles.fields.antenna`,rules:{max:80}}),e.json({key:`frequency_bands`,label:`drone.drone_goggles.fields.frequency_bands`}),e.string({key:`battery`,label:`drone.drone_goggles.fields.battery`,rules:{max:60}}),e.string({key:`battery_life`,label:`drone.drone_goggles.fields.battery_life`,rules:{max:40}}),e.string({key:`charging`,label:`drone.drone_goggles.fields.charging`,rules:{max:60}}),e.json({key:`band_channels`,label:`drone.drone_goggles.fields.band_channels`})]})],fieldContribs:[{vault:`things`,module:`item`,field:`type`,options:[{value:`drone`,title:`drone.drone.label`},{value:`drone_battery`,title:`drone.drone_battery.label`},{value:`drone_vtx`,title:`drone.drone_vtx.label`},{value:`drone_gps_module`,title:`drone.drone_gps.label`},{value:`drone_flight_controller`,title:`drone.drone_flight_controller.label`},{value:`drone_goggles`,title:`drone.drone_goggles.label`},{value:`fpv-controller`,title:`drone.contrib.type.fpv_controller`},{value:`fpv-camera`,title:`drone.contrib.type.fpv_camera`}]}]});export{r as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{i as t}from"./module-DytlXfXo.js";import{n,r}from"./plugin-b0fDTTXJ.js";var i=t({module:`meter_reading`,vault:`home`,label:`home.meter_reading.label`,icon:`lucide:gauge`,claude:`Utility meter readings for a date. name — reading period, e.g. "2026-05".
|
|
2
|
+
date — reading date. cold_water/hot_water — water meter readings (m³).
|
|
3
|
+
electricity — electricity meter reading (kWh). gas — gas meter reading (m³).
|
|
4
|
+
Stores RAW cumulative readings, not consumption (the difference is a derived calculation).`,views:{inline:[`date`],table:[`date`,`cold_water`,`hot_water`,`electricity`,`gas`]},fields:[e.date({key:`date`,label:`home.meter_reading.fields.date`,required:!0,rules:{min:`2000-01-01`,max:`today`}}),e.real({key:`cold_water`,label:`home.meter_reading.fields.cold_water`,rules:{min:0}}),e.real({key:`hot_water`,label:`home.meter_reading.fields.hot_water`,rules:{min:0}}),e.real({key:`electricity`,label:`home.meter_reading.fields.electricity`,rules:{min:0}}),e.real({key:`gas`,label:`home.meter_reading.fields.gas`,rules:{min:0}}),e.text({key:`note`,label:`home.meter_reading.fields.note`,rules:{max:500}})]}),a=t({module:`room`,vault:`home`,label:`home.room.label`,icon:`lucide:door-open`,claude:`A room/space in the apartment. name — name (Bedroom, Kitchen). area — area (m²). This is a reference list of places: a target for relations from material (where a material was used). Does not store the materials themselves.`,views:{inline:[`name`],table:[`name`,`area`]},fields:[e.title({key:`name`,label:`core.fields.name`,required:!0}),e.measured({key:`area`,label:`home.room.fields.area`,options:`area`,rules:{min:0}}),e.text({key:`note`,label:`home.room.fields.note`,rules:{max:500}})]}),o=t({module:`material`,vault:`home`,label:`home.material.label`,icon:`lucide:paint-roller`,claude:`A material/paint used in renovation. One record = a specific product (e.g. "Dulux Easycare, RAL 9010"). name — name, type — category, brand — manufacturer, color/color_code — color and tint code. rooms — relation to home/room (where used, can be several). price/quantity/store/bought_date/link — purchase data. photo/rating/notes — photos and impressions. Does NOT store a work log/timeline — only a catalog of "what was bought and where it is used".`,views:{inline:[`name`,`color`],table:[`name`,`type`,`color`,`brand`,`rooms`]},fields:[e.group({label:`home.material.group.identity`,fields:[e.string({key:`name`,label:`core.fields.name`,required:!0}),e.select({key:`type`,label:`core.fields.type`,options:[{value:`paint`,title:`home.material.options.type.paint`},{value:`primer`,title:`home.material.options.type.primer`},{value:`lacquer`,title:`home.material.options.type.lacquer`},{value:`enamel`,title:`home.material.options.type.enamel`},{value:`plaster`,title:`home.material.options.type.plaster`},{value:`tile`,title:`home.material.options.type.tile`},{value:`laminate`,title:`home.material.options.type.laminate`},{value:`wallpaper`,title:`home.material.options.type.wallpaper`},{value:`skirting`,title:`home.material.options.type.skirting`},{value:`panel`,title:`home.material.options.type.panel`},{value:`putty`,title:`home.material.options.type.putty`},{value:`glue`,title:`home.material.options.type.glue`},{value:`cement`,title:`home.material.options.type.cement`},{value:`drywall`,title:`home.material.options.type.drywall`},{value:`insulation`,title:`home.material.options.type.insulation`},{value:`fixture`,title:`home.material.options.type.fixture`},{value:`plumbing`,title:`home.material.options.type.plumbing`},{value:`other`,title:`home.material.options.type.other`}]}),e.string({key:`brand`,label:`home.material.fields.brand`,rules:{max:120}}),e.color({key:`color`,label:`home.material.fields.color`}),e.string({key:`color_code`,label:`home.material.fields.color_code`,rules:{max:60}}),e.relation({key:`rooms`,label:`home.material.fields.rooms`,options:{vault:`home`,module:`room`},multiple:!0})]}),e.group({label:`home.material.group.purchase`,fields:[e.measured({key:`price`,label:`home.material.fields.price`,options:`currency`,rules:{min:0}}),e.measured({key:`quantity`,label:`home.material.fields.quantity`,options:[{value:`l`,label:`core.units.l`},{value:`kg`,label:`core.units.kg`},{value:`m2`,label:`core.units.m2`},{value:`pcs`,label:`core.units.pcs`}],rules:{min:0}}),e.string({key:`store`,label:`home.material.fields.store`,rules:{max:120}}),e.date({key:`bought_date`,label:`home.material.fields.bought_date`,rules:{max:`today`}}),e.url({key:`link`,label:`home.material.fields.link`})]}),e.group({label:`home.material.group.media`,fields:[e.image({key:`photo`,label:`home.material.fields.photo`,multiple:!0}),e.rating({key:`rating`,label:`home.material.fields.rating`,rules:{max:5}}),e.markdown({key:`notes`,label:`home.material.fields.notes`})]})]}),s=n({id:`home`,version:`1.0.0`,dependsOn:[],vaults:[{meta:r({id:`home`,label:`home.vault.label`,icon:`lucide:house`}),modules:[i,a,o]}]});export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./fields-DVMUyXbG.js";import{n as t}from"./plugin-b0fDTTXJ.js";import{t as n}from"./settings-Dfvzj6n2.js";var r=t({id:`console`,version:`1.0.0`,dependsOn:[],settings:n({label:`console.settings.label`,icon:`lucide:terminal`,fields:[e.info(`console.settings.intro`),e.divider(),e.info(`console.settings.claude`),e.divider(),e.info(`console.settings.codex`),e.divider(),e.info(`console.settings.skills`)]})});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./color-names-CKKZbleV.js";import{A as t,C as n,M as r,S as i,i as a,j as o,x as s}from"./fields-DVMUyXbG.js";import{t as c}from"./countries-BSm8PNWW.js";import{n as l}from"./plugin-b0fDTTXJ.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=l({id:`core`,version:`1.0.0`,dependsOn:[],settings:u({label:`core.settings.label`,fields:[a.select({key:`language`,label:`core.settings.language`,default:`uk`,options:[{value:`uk`,title:`Українська`},{value:`ru`,title:`Русский`},{value:`en`,title:`English`}]})]}),optionLists:[{name:`countries`,options:c.map(e=>({value:e.code,title:`core.countries.${e.code}`,icon:{kind:`icon`,value:`flag:${e.code}`},subtitle:e.code.toUpperCase()}))},{name:`colors`,options:e.map(e=>({value:e.name,title:`core.colors.${e.name}`,icon:{kind:`swatch`,value:e.hex},subtitle:e.hex}))},{name:`sex`,options:[...i]},{name:`weekdays`,options:[...n]},{name:`languages`,options:s.map(e=>({value:e.code,title:e.name}))},{name:`currencies`,options:t.map(e=>({value:e,title:o(e),subtitle:r(e)}))}]});export{d as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{D as e,V as t,_ as n,i as r,k as i,t as a}from"./fields-DVMUyXbG.js";import{i as o}from"./module-DytlXfXo.js";import{t as s}from"./extend-DLMSdMhy.js";import{n as c,r as l}from"./plugin-b0fDTTXJ.js";import{t as u}from"./settings-Dfvzj6n2.js";var d=/^[A-Za-z]{2}\d{2}[A-Za-z0-9]{11,30}$/;function f(e){let t=e.toUpperCase().replace(/\s+/g,``),n=t.slice(4)+t.slice(0,4),r=``;for(let e of n){let t=e.charCodeAt(0);t>=65&&t<=90?r+=(t-55).toString():r+=e}let i=0;for(let e of r)i=(i*10+(e.charCodeAt(0)-48))%97;return i===1}function p(r){let o=r.required??!1,s=t().regex(d,{message:i(`pattern`,{messageKey:`core.presets.iban`})}).refine(f,{message:i(`pattern`,{messageKey:`core.presets.iban`})});return n(r,a({kind:`text`,label:r.label??``,required:o,prim:`text`,column:`text`,hints:{mask:`iban`,maskStore:`unmasked`},zod:e(s,o)},r.multiple??!1))}var m=o({module:`account`,vault:`finance`,label:`finance.account.label`,icon:`lucide:landmark`,claude:`Firefly III account (read-only mirror). kind — account type.
|
|
2
|
+
current_balance — current balance. firefly_id — external key (do not edit).`,views:{table:[`kind`,`currency`,`current_balance`]},fields:[r.title({key:`name`,label:`core.fields.name`}),r.sheet({fields:[[r.select({key:`kind`,label:`finance.account.fields.kind`,options:[{value:`asset`,title:`finance.account.options.asset`},{value:`expense`,title:`finance.account.options.expense`},{value:`revenue`,title:`finance.account.options.revenue`},{value:`liability`,title:`finance.account.options.liability`},{value:`cash`,title:`finance.account.options.cash`}]}),r.string({key:`currency`,label:`finance.account.fields.currency`,rules:{max:3}})],[r.money({key:`current_balance`,label:`finance.account.fields.current_balance`}),p({key:`iban`,label:`finance.account.fields.iban`})]]}),r.string({key:`firefly_id`,label:`finance.account.fields.firefly_id`,rules:{max:32}})]}),h=o({module:`transaction`,vault:`finance`,label:`finance.transaction.label`,icon:`lucide:arrow-left-right`,claude:`Firefly III transaction (read-only). Each split = a separate record.
|
|
3
|
+
source/destination — accounts. firefly_id — split journal id (do not edit).`,views:{table:[`date`,`amount`,`kind`,`description`]},fields:[r.title({key:`description`,label:`finance.transaction.fields.description`}),r.sheet({fields:[[r.date({key:`date`,label:`finance.transaction.fields.date`}),r.money({key:`amount`,label:`finance.transaction.fields.amount`})],[r.select({key:`kind`,label:`finance.transaction.fields.kind`,options:[{value:`withdrawal`,title:`finance.transaction.options.withdrawal`},{value:`deposit`,title:`finance.transaction.options.deposit`},{value:`transfer`,title:`finance.transaction.options.transfer`}]}),r.string({key:`category`,label:`finance.transaction.fields.category`,rules:{max:100}})],[r.relation({key:`source`,label:`finance.transaction.fields.source`,options:{vault:`finance`,module:`account`}}),r.relation({key:`destination`,label:`finance.transaction.fields.destination`,options:{vault:`finance`,module:`account`}})]]}),r.string({key:`firefly_id`,label:`finance.transaction.fields.firefly_id`,rules:{max:32}})]}),g=o({module:`bill`,vault:`finance`,label:`finance.bill.label`,icon:`lucide:receipt`,claude:`Recurring Firefly III payment (Bill = subscription, read-only).
|
|
4
|
+
repeat — recurrence. next_expected — next expected date. firefly_id — do not edit.`,views:{table:[`amount_min`,`repeat`,`next_expected`,`active`]},fields:[r.title({key:`name`,label:`core.fields.name`}),r.sheet({fields:[[r.money({key:`amount_min`,label:`finance.bill.fields.amount_min`}),r.money({key:`amount_max`,label:`finance.bill.fields.amount_max`})],[r.select({key:`repeat`,label:`finance.bill.fields.repeat`,options:[{value:`weekly`,title:`finance.bill.options.weekly`},{value:`monthly`,title:`finance.bill.options.monthly`},{value:`quarterly`,title:`finance.bill.options.quarterly`},{value:`yearly`,title:`finance.bill.options.yearly`}]}),r.date({key:`next_expected`,label:`finance.bill.fields.next_expected`})]]}),r.boolean({key:`active`,label:`finance.bill.fields.active`}),r.string({key:`firefly_id`,label:`finance.bill.fields.firefly_id`,rules:{max:32}})]}),_=s({id:`item_financing`,label:`finance.item_financing.label`,icon:`lucide:credit-card`,attachTo:[{vault:`things`,module:`item`}],showWhen:{paymentStatus:{$in:[`installment`,`credit`]}},claude:`Installment/credit details for an item. creditor — who is owed (bank/store).
|
|
5
|
+
holder — which person the debt is registered to (relation people/person).
|
|
6
|
+
total — full debt amount. monthly — monthly payment. termMonths/paidMonths — schedule.
|
|
7
|
+
remaining — how much is left (manual). nextPayment — payment reminder. paidOff — settled.`,fields:[r.string({key:`creditor`,label:`finance.item_financing.fields.creditor`,rules:{max:120}}),r.relation({key:`holder`,label:`finance.item_financing.fields.holder`,options:{vault:`people`,module:`person`}}),r.sheet({fields:[[r.money({key:`total`,label:`finance.item_financing.fields.total`,rules:{defaultCurrency:`UAH`}}),r.money({key:`downPayment`,label:`finance.item_financing.fields.downPayment`,rules:{defaultCurrency:`UAH`}})],[r.money({key:`monthly`,label:`finance.item_financing.fields.monthly`,rules:{defaultCurrency:`UAH`}}),r.money({key:`remaining`,label:`finance.item_financing.fields.remaining`,rules:{defaultCurrency:`UAH`}})],[r.int({key:`termMonths`,label:`finance.item_financing.fields.termMonths`,rules:{min:0}}),r.int({key:`paidMonths`,label:`finance.item_financing.fields.paidMonths`,rules:{min:0}}),r.real({key:`rate`,label:`finance.item_financing.fields.rate`,rules:{min:0}})]]}),r.date({key:`startDate`,label:`finance.item_financing.fields.startDate`}),r.reminder({key:`nextPayment`,label:`finance.item_financing.fields.nextPayment`,rules:{lead:3}}),r.boolean({key:`paidOff`,label:`finance.item_financing.fields.paidOff`})]}),v={iban:p},y=c({id:`finance`,version:`1.0.0`,dependsOn:[`things`,`people`],vaults:[{meta:l({id:`finance`,label:`finance.vault.label`,icon:`lucide:wallet`}),modules:[m,h,g]}],extends_:[_],settings:u({label:`finance.settings.label`,fields:[r.string({key:`firefly_url`,label:`finance.settings.firefly_url`,required:!0}),r.password({key:`token`,label:`finance.settings.token`,required:!0}),r.button({label:`finance.settings.test_button`,value:`finance.testConnection`,icon:`lucide:wifi`}),r.button({label:`finance.settings.sync_button`,value:`finance.sync`,icon:`lucide:refresh-cw`}),r.file({key:`wise_csv`,label:`finance.settings.wise_csv`}),r.relation({key:`wise_account`,label:`finance.settings.wise_account`,options:{vault:`finance`,module:`account`}}),r.button({label:`finance.settings.wise_import_button`,value:`finance.importWise`,icon:`lucide:upload`})]})});export{y as n,p as r,v as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NoMac-BhpqH06Q.js","assets/jsx-dev-runtime-BMBl2lag.js","assets/chunk-QTnfLwEv.js","assets/react-D4J6PwTK.js","assets/ScanSummary-CmBQJkl4.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-D4J6PwTK.js";import{n}from"./clsx-CjYvs854.js";import{t as r,x as i}from"./field-frame-BY_3TvHn.js";import{t as a}from"./jsx-dev-runtime-BMBl2lag.js";import{B as o,C as s,S as c,T as l,r as u,v as d,w as f,x as p,y as m}from"./shared-QzShdLB7.js";import{t as h}from"./json-Dm-WBmNs.js";import{a as g,c as _,n as v,o as y,t as b}from"./data-size-D-ZPRlPP.js";var x=e(t(),1);function S(e){let t=e.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let e=t.slice(1).map(Number);return e.every(e=>e>=0&&e<=255)?{v:4,a:e}:null}try{let t=e;if(e.includes(`::`)){let[n,r]=e.split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[],o=8-i.length-a.length;t=[...i,...Array(o).fill(`0`),...a].join(`:`)}let n=t.split(`:`);if(n.length!==8)return null;let r=n.map(e=>parseInt(e,16));return r.some(e=>isNaN(e)||e<0||e>65535)?null:{v:6,a:r}}catch{return null}}function C(e){return e.v===4?e.a.join(`.`):e.a.map(e=>e.toString(16)).join(`:`)}function w(e){let t=e.lastIndexOf(`/`);if(t===-1)return null;let n=e.slice(0,t),r=e.slice(t+1),i=parseInt(r,10),a=S(n);if(!a||isNaN(i))return null;let o=a.v===4?32:128;return i<0||i>o?null:{...a,p:i}}function T(e){return`${C(e)}/${e.p}`}var E=a(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/fields/ui.tsx`;function O({value:e,onChange:t,parse:n,format:r,placeholder:i}){let a=(0,x.useMemo)(()=>{try{return JSON.parse(e)}catch{return null}},[e]),[s,c]=(0,x.useState)(a?r(a):e??``);(0,x.useEffect)(()=>{c(a?r(a):e||``)},[e,a]);let l=e=>{let r=e.trim(),i=n(r);t(i?JSON.stringify(i):r)};return(0,E.jsxDEV)(o,{value:s,placeholder:i,onChange:e=>c(e.target.value),onBlur:()=>l(s),onKeyDown:e=>{e.key===`Enter`&&l(s)}},void 0,!1,{fileName:D,lineNumber:51,columnNumber:5},this)}function k(e,t){return(0,E.jsxDEV)(m,{items:h(e,[]),content:e=>{let n=typeof e==`string`?h(e,null):e;return n&&typeof n==`object`?t(n):String(e)},reserveEditor:!0},void 0,!1,{fileName:D,lineNumber:68,columnNumber:5},this)}function A(e){return(0,E.jsxDEV)(r,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>C(e)):(()=>{let e=h(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:C(e)},void 0,!1,{fileName:D,lineNumber:96,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:98,columnNumber:28},this):(0,E.jsxDEV)(d,{},void 0,!1,{fileName:D,lineNumber:98,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>S(e.trim())!==null,serialize:e=>{let t=S(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return C(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(o,{value:e,placeholder:`192.168.1.1`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:119,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:103,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:S,format:C,placeholder:`192.168.1.1`},void 0,!1,{fileName:D,lineNumber:134,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:81,columnNumber:5},this)}function j({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:C(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:149,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:151,columnNumber:12},this)}}var M={kinds:[`ip`],Page:A,Inline:j};function N(e){return(0,E.jsxDEV)(r,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>e.field.hints.multiple===!0?k(t,e=>T(e)):(()=>{let e=h(t,null);if(e)return(0,E.jsxDEV)(`code`,{className:`font-mono text-sm`,children:T(e)},void 0,!1,{fileName:D,lineNumber:178,columnNumber:34},this);let n=String(t??``);return n?(0,E.jsxDEV)(`span`,{className:`text-muted`,children:n},void 0,!1,{fileName:D,lineNumber:180,columnNumber:28},this):(0,E.jsxDEV)(d,{},void 0,!1,{fileName:D,lineNumber:180,columnNumber:72},this)})(),edit:(t,n)=>e.field.hints.multiple===!0?(0,E.jsxDEV)(u,{value:String(t),onChange:n,validate:e=>w(e.trim())!==null,serialize:e=>{let t=w(e.trim());return t?JSON.stringify(t):null},display:e=>{try{return T(JSON.parse(e))}catch{return e}},renderInput:(e,t,n)=>(0,E.jsxDEV)(o,{value:e,placeholder:`192.168.1.0/24`,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:D,lineNumber:201,columnNumber:15},this)},void 0,!1,{fileName:D,lineNumber:185,columnNumber:11},this):(0,E.jsxDEV)(O,{value:String(t),onChange:n,parse:w,format:T,placeholder:`192.168.1.0/24`},void 0,!1,{fileName:D,lineNumber:216,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:163,columnNumber:5},this)}function P({value:e}){try{return(0,E.jsxDEV)(`span`,{className:`truncate font-mono`,children:T(JSON.parse(String(e)))},void 0,!1,{fileName:D,lineNumber:231,columnNumber:12},this)}catch{return(0,E.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:D,lineNumber:233,columnNumber:12},this)}}var F={kinds:[`cidr`],Page:N,Inline:P};function I({field:e,value:t,onChange:n}){let r=_(e),i=t===``?``:Number(t),[a,u]=(0,x.useState)(()=>i!==``&&Number(i)>0?v(Number(i),r)[0]:e.hints.unit??`GB`),d=g(r,a),m=i===``?``:Number((Number(i)/d).toFixed(4)),h=e=>Math.round(e*d);return(0,E.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,E.jsxDEV)(o,{type:`number`,className:`flex-1 min-w-0`,min:0,value:m,onChange:e=>n(e.target.value===``?``:String(h(Number(e.target.value))))},void 0,!1,{fileName:D,lineNumber:256,columnNumber:7},this),(0,E.jsxDEV)(p,{value:a,onValueChange:u,children:[(0,E.jsxDEV)(f,{className:`w-24`,children:(0,E.jsxDEV)(l,{},void 0,!1,{fileName:D,lineNumber:265,columnNumber:11},this)},void 0,!1,{fileName:D,lineNumber:264,columnNumber:9},this),(0,E.jsxDEV)(c,{children:b[r].map(([e])=>(0,E.jsxDEV)(s,{value:e,children:e},e,!1,{fileName:D,lineNumber:269,columnNumber:13},this))},void 0,!1,{fileName:D,lineNumber:267,columnNumber:9},this)]},void 0,!0,{fileName:D,lineNumber:263,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:255,columnNumber:5},this)}function L({value:e,system:t}){let n=y(e,t);return n?(0,E.jsxDEV)(`span`,{className:`tabular-nums`,children:n},void 0,!1,{fileName:D,lineNumber:281,columnNumber:14},this):(0,E.jsxDEV)(d,{},void 0,!1,{fileName:D,lineNumber:281,columnNumber:58},this)}function R(e){let t=_(e.field);return(0,E.jsxDEV)(r,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,E.jsxDEV)(L,{value:e,system:t},void 0,!1,{fileName:D,lineNumber:298,columnNumber:20},this),edit:(t,n)=>(0,E.jsxDEV)(I,{field:e.field,value:String(t??``),onChange:n},void 0,!1,{fileName:D,lineNumber:300,columnNumber:9},this)},void 0,!1,{fileName:D,lineNumber:287,columnNumber:5},this)}function z({field:e,value:t}){return(0,E.jsxDEV)(L,{value:t,system:_(e)},void 0,!1,{fileName:D,lineNumber:307,columnNumber:10},this)}var B=i(`devices`,`network`,{renderers:[M,F,{kinds:[`dataSize`],Page:R,Inline:z}],templates:{"devices.scan.noMac":()=>n(()=>import(`./NoMac-BhpqH06Q.js`),__vite__mapDeps([0,1,2,3])),"devices.scan.summary":()=>n(()=>import(`./ScanSummary-CmBQJkl4.js`),__vite__mapDeps([4,1,2,3]))}});export{B as default};
|
package/dist/index.html
CHANGED
|
@@ -37,21 +37,35 @@
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
</script>
|
|
40
|
-
<script type="module" crossorigin src="/assets/index-
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
40
|
+
<script type="module" crossorigin src="/assets/index-BWdgp_qe.js"></script>
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-QTnfLwEv.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/clsx-CjYvs854.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/floating-ui.dom-CRUx2QLQ.js">
|
|
44
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
46
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
47
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
48
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
49
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
50
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
51
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
52
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
53
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
54
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
44
|
+
<link rel="modulepreload" crossorigin href="/assets/react-D4J6PwTK.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-dev-runtime-BMBl2lag.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DV9KAPzc.js">
|
|
47
|
+
<link rel="modulepreload" crossorigin href="/assets/color-names-CKKZbleV.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="/assets/button-CbB4uqRh.js">
|
|
49
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-CdBkAqXL.js">
|
|
50
|
+
<link rel="modulepreload" crossorigin href="/assets/json-Dm-WBmNs.js">
|
|
51
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-iFwZyFpC.js">
|
|
52
|
+
<link rel="modulepreload" crossorigin href="/assets/shared-QzShdLB7.js">
|
|
53
|
+
<link rel="modulepreload" crossorigin href="/assets/fields-DVMUyXbG.js">
|
|
54
|
+
<link rel="modulepreload" crossorigin href="/assets/field-frame-BY_3TvHn.js">
|
|
55
|
+
<link rel="modulepreload" crossorigin href="/assets/module-DytlXfXo.js">
|
|
56
|
+
<link rel="modulepreload" crossorigin href="/assets/ExtendReasonInfo--21FkkoL.js">
|
|
57
|
+
<link rel="modulepreload" crossorigin href="/assets/development-C9_TDKdP.js">
|
|
58
|
+
<link rel="modulepreload" crossorigin href="/assets/lib-CMoTMQza.js">
|
|
59
|
+
<link rel="modulepreload" crossorigin href="/assets/micromark-extension-gfm-BCNbxHdH.js">
|
|
60
|
+
<link rel="modulepreload" crossorigin href="/assets/extend-DLMSdMhy.js">
|
|
61
|
+
<link rel="modulepreload" crossorigin href="/assets/plugin-b0fDTTXJ.js">
|
|
62
|
+
<link rel="modulepreload" crossorigin href="/assets/Toolbar-CXro4MxC.js">
|
|
63
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-6CSD65Y2-FavEEIOj.js">
|
|
64
|
+
<link rel="modulepreload" crossorigin href="/assets/countries-BSm8PNWW.js">
|
|
65
|
+
<link rel="modulepreload" crossorigin href="/assets/api-gSu-mjEH.js">
|
|
66
|
+
<link rel="modulepreload" crossorigin href="/assets/PageBody-DXEdPT8C.js">
|
|
67
|
+
<link rel="modulepreload" crossorigin href="/assets/SettingsForm-Bhsv5BEu.js">
|
|
68
|
+
<link rel="modulepreload" crossorigin href="/assets/auth-context-BLh4J0hg.js">
|
|
55
69
|
<link rel="stylesheet" crossorigin href="/assets/index-Bkh3f49V.css">
|
|
56
70
|
</head>
|
|
57
71
|
<body>
|