@tnlmedia/inkmagine-gui 1.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +18 -0
  2. package/README.zh-tw.md +349 -1
  3. package/dist/chunks/InkCheckbox.Bo9P4Fnq.js +5 -0
  4. package/dist/chunks/InkCheckbox.Bo9P4Fnq.js.map +1 -0
  5. package/dist/chunks/InkDatetime.DuIlN9qX.js +5 -0
  6. package/dist/chunks/InkDatetime.DuIlN9qX.js.map +1 -0
  7. package/dist/chunks/InkDatetimerng.Un2rLzLU.js +5 -0
  8. package/dist/chunks/InkDatetimerng.Un2rLzLU.js.map +1 -0
  9. package/dist/chunks/InkHashtag.C2MlkO78.js +5 -0
  10. package/dist/chunks/InkHashtag.C2MlkO78.js.map +1 -0
  11. package/dist/chunks/InkRadio.Dlej2ra5.js +5 -0
  12. package/dist/chunks/InkRadio.Dlej2ra5.js.map +1 -0
  13. package/dist/chunks/InkSelect.DWiVv_fE.js +5 -0
  14. package/dist/chunks/InkSelect.DWiVv_fE.js.map +1 -0
  15. package/dist/chunks/InkSwitch.Bmrcv2_W.js +5 -0
  16. package/dist/chunks/InkSwitch.Bmrcv2_W.js.map +1 -0
  17. package/dist/chunks/InkText.2z3CBfGZ.js +5 -0
  18. package/dist/chunks/InkText.2z3CBfGZ.js.map +1 -0
  19. package/dist/chunks/InkTextarea.bSKGpfeu.js +5 -0
  20. package/dist/chunks/InkTextarea.bSKGpfeu.js.map +1 -0
  21. package/dist/chunks/InkUrl.y40jqTAY.js +5 -0
  22. package/dist/chunks/InkUrl.y40jqTAY.js.map +1 -0
  23. package/dist/chunks/en.CHdwefRA.js +183 -0
  24. package/dist/chunks/en.CHdwefRA.js.map +1 -0
  25. package/dist/chunks/ja.AHwqhlss.js +146 -0
  26. package/dist/chunks/ja.AHwqhlss.js.map +1 -0
  27. package/dist/chunks/zh-tw.0zg_GCuJ.js +182 -0
  28. package/dist/chunks/zh-tw.0zg_GCuJ.js.map +1 -0
  29. package/dist/inkmagine-gui.es.js +4440 -704
  30. package/dist/inkmagine-gui.es.js.map +1 -1
  31. package/dist/inkmagine-gui.umd.js +2 -5
  32. package/dist/inkmagine-gui.umd.js.map +1 -1
  33. package/dist/style/index.css +1 -1
  34. package/dist/types/components/InkBadge.vue.d.ts +27 -0
  35. package/dist/types/components/InkNavbar.vue.d.ts +11 -0
  36. package/dist/types/components/ink-sidebar/InkSidebar.vue.d.ts +57 -0
  37. package/dist/types/components/ink-sidebar/InkSidebarMenu.vue.d.ts +26 -0
  38. package/dist/types/components/ink-sidebar/InkSidebarSimpleHide.vue.d.ts +22 -0
  39. package/dist/types/components/ink-tooltip/Ink-tooltip.d.ts +3 -0
  40. package/dist/types/components/ink-tooltip/InkVTooltip.vue.d.ts +18 -0
  41. package/dist/types/components/input/InkCheckbox.vue.d.ts +72 -0
  42. package/dist/types/components/input/InkDatetime.vue.d.ts +543 -0
  43. package/dist/types/components/input/InkDatetimerng.vue.d.ts +1015 -0
  44. package/dist/types/components/input/InkElConfigProvider.vue.d.ts +17 -0
  45. package/dist/types/components/input/InkErrorMessage.vue.d.ts +14 -0
  46. package/dist/types/components/input/InkField.vue.d.ts +10 -0
  47. package/dist/types/components/input/InkFieldMessage.vue.d.ts +14 -0
  48. package/dist/types/components/input/InkHashtag.vue.d.ts +72 -0
  49. package/dist/types/components/input/InkRadio.vue.d.ts +72 -0
  50. package/dist/types/components/input/InkSelect.vue.d.ts +72 -0
  51. package/dist/types/components/input/InkSwitch.vue.d.ts +61 -0
  52. package/dist/types/components/input/InkText.vue.d.ts +70 -0
  53. package/dist/types/components/input/InkTextarea.vue.d.ts +70 -0
  54. package/dist/types/components/input/InkUrl.vue.d.ts +70 -0
  55. package/dist/types/components/input/InkWordCount.vue.d.ts +6 -0
  56. package/dist/types/components/input/InputFrame.vue.d.ts +29 -0
  57. package/dist/types/components/input/InputInner.vue.d.ts +17 -0
  58. package/dist/types/components/input/InputWrapper.vue.d.ts +17 -0
  59. package/dist/types/components/input/field-data-interface.d.ts +145 -0
  60. package/dist/types/components/input/input-default-value.d.ts +76 -0
  61. package/dist/types/helper/dayjs.d.ts +10 -0
  62. package/dist/types/helper/handle-sidebar-toggler-click.d.ts +1 -0
  63. package/dist/types/helper/i18n.d.ts +288 -0
  64. package/dist/types/helper/set-font.d.ts +1 -0
  65. package/dist/types/helper/useAttrs.d.ts +3 -0
  66. package/dist/types/helper/useDefineRule.d.ts +2 -0
  67. package/dist/types/index.d.ts +22 -2
  68. package/dist/types/lang/en-us.json.d.ts +52 -0
  69. package/dist/types/lang/ja-jp.json.d.ts +52 -0
  70. package/dist/types/lang/zh-tw.json.d.ts +53 -0
  71. package/package.json +23 -7
  72. package/dist/types/helper/attrs.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"inkmagine-gui.umd.js","sources":["../src/helper/attrs.ts","../src/components/InkSpinner.vue","../src/components/InkButton.vue","../node_modules/@headlessui/vue/dist/hooks/use-id.js","../node_modules/@headlessui/vue/dist/utils/dom.js","../node_modules/@headlessui/vue/dist/utils/match.js","../node_modules/@headlessui/vue/dist/utils/env.js","../node_modules/@headlessui/vue/dist/utils/owner.js","../node_modules/@headlessui/vue/dist/utils/focus-management.js","../node_modules/@headlessui/vue/dist/utils/platform.js","../node_modules/@headlessui/vue/dist/hooks/use-document-event.js","../node_modules/@headlessui/vue/dist/hooks/use-window-event.js","../node_modules/@headlessui/vue/dist/hooks/use-outside-click.js","../node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js","../node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js","../node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../node_modules/@headlessui/vue/dist/utils/render.js","../node_modules/@headlessui/vue/dist/internal/open-closed.js","../node_modules/@headlessui/vue/dist/keyboard.js","../node_modules/@headlessui/vue/dist/utils/calculate-active-index.js","../node_modules/@headlessui/vue/dist/components/disclosure/disclosure.js","../node_modules/@headlessui/vue/dist/utils/get-text-value.js","../node_modules/@headlessui/vue/dist/hooks/use-text-value.js","../node_modules/@headlessui/vue/dist/components/menu/menu.js","../src/index.ts"],"sourcesContent":["import { computed, useAttrs } from \"vue\"\n\nexport const restAttrs = computed(() => {\n const attrs = useAttrs()\n const { class: className, ...restAttrs } = attrs\n return restAttrs\n})\n","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-spinner.scss'\nimport { computed } from 'vue'\nimport { restAttrs } from '@/helper/attrs'\ninterface InkSpinnerProps {\n size?: 'md'\n theme?: 'gray'\n}\nconst props = withDefaults(defineProps<InkSpinnerProps>(), {\n theme: 'gray'\n})\nconst classList = computed(() => {\n const list = []\n if(props.size) list.push(`tw-spinner-${props.size}`)\n if(props.theme) list.push(`tw-spinner-grow-${props.theme}`)\n return list\n})\n</script>\n<template>\n <div \n v-bind=\"restAttrs\"\n :class=\"['tw-spinner-grow',classList]\"\n ></div>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-button.scss'\nimport { computed } from 'vue'\nimport InkSpinner from '@/components/InkSpinner.vue'\nimport { restAttrs } from '@/helper/attrs'\n\ninterface ButtonProps { \n as?: 'a' | 'button' | 'router-link',\n type?: 'button' | 'submit' | 'reset',\n size?: 'md'| 'xs',\n variant?: 'base' | 'txt' | 'icon',\n theme?: 'primary' | 'info' | 'gray' | 'outline-gray' | 'link' | 'transparent',\n disabled?: boolean,\n loading?: boolean\n}\nconst props = withDefaults(defineProps<ButtonProps>(), {\n as: 'button',\n type: 'button',\n variant: 'base',\n theme: 'transparent',\n disabled: false,\n loading: false\n})\n\nconst classList = computed(() => {\n const list = []\n switch (props.variant) { \n case 'icon':\n props.size ? list.push(`tw-btn-icon-${props.size}`) : list.push(`tw-btn-icon`);\n break;\n default:\n if(props.variant) list.push(`tw-btn-${props.variant}`)\n if (props.size) list.push(`tw-btn-${props.size}`);\n break;\n }\n if (props.loading) {\n props.variant === 'base' ? '' : list.push(`tw-btn-outline-gray`)\n } else {\n props.theme ? list.push(`tw-btn-${props.theme}`) : list.push(`tw-btn-transparent`) \n }\n if (props.as !== 'button' && props.disabled) list.push('tw-disabled')\n\n return list\n})\n</script>\n<template>\n <component \n v-bind=\"restAttrs\"\n :is=\"as\"\n :type=\"as === 'button' ? type : undefined\"\n :disabled=\"disabled\"\n :class=\"classList\"\n >\n <InkSpinner size=\"md\" v-if=\"loading\" />\n <slot v-else>Button</slot>\n </component>\n</template>","var r;import*as e from\"vue\";let n=Symbol(\"headlessui.useid\"),o=0;const i=(r=e.useId)!=null?r:function(){return e.inject(n,()=>`${++o}`)()};function s(t){e.provide(n,t)}export{s as provideUseId,i as useId};\n","function o(e){var l;if(e==null||e.value==null)return null;let n=(l=e.value.$el)!=null?l:e.value;return n instanceof Node?n:null}export{o as dom};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","var i=Object.defineProperty;var d=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var n=(t,e,r)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,r),r);class s{constructor(){n(this,\"current\",this.detect());n(this,\"currentId\",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}}let c=new s;export{c as env};\n","import{dom as o}from'./dom.js';import{env as t}from'./env.js';function i(r){if(t.isServer)return null;if(r instanceof Node)return r.ownerDocument;if(r!=null&&r.hasOwnProperty(\"value\")){let n=o(r);if(n)return n.ownerDocument}return document}export{i as getOwnerDocument};\n","import{nextTick as b}from\"vue\";import{match as M}from'./match.js';import{getOwnerDocument as f}from'./owner.js';let c=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var N=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n))(N||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),F=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(F||{});function E(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function w(e,r=0){var t;return e===((t=f(e))==null?void 0:t.body)?!1:M(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function _(e){let r=f(e);b(()=>{r&&!w(r.activeElement,0)&&S(e)})}var y=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(y||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function S(e){e==null||e.focus({preventScroll:!0})}let H=[\"textarea\",\"input\"].join(\",\");function I(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,H))!=null?t:!1}function O(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function v(e,r){return P(E(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){var m;let i=(m=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?m:document,n=Array.isArray(e)?t?O(e):e:E(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let x=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),p=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),L=r&32?{preventScroll:!0}:{},a=0,d=n.length,u;do{if(a>=d||a+d<=0)return 0;let s=p+a;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}u=n[s],u==null||u.focus(L),a+=x}while(u!==i.activeElement);return r&6&&I(u)&&u.select(),2}export{N as Focus,T as FocusResult,h as FocusableMode,S as focusElement,v as focusFrom,P as focusIn,E as getFocusableElements,w as isFocusableElement,_ as restoreFocusIfNecessary,O as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{watchEffect as r}from\"vue\";import{env as m}from'../utils/env.js';function u(e,t,n){m.isServer||r(o=>{document.addEventListener(e,t,n),o(()=>document.removeEventListener(e,t,n))})}export{u as useDocumentEvent};\n","import{watchEffect as i}from\"vue\";import{env as r}from'../utils/env.js';function w(e,n,t){r.isServer||i(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent};\n","import{computed as s,ref as E}from\"vue\";import{dom as p}from'../utils/dom.js';import{FocusableMode as d,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as T}from'../utils/platform.js';import{useDocumentEvent as i}from'./use-document-event.js';import{useWindowEvent as M}from'./use-window-event.js';function w(f,m,l=s(()=>!0)){function a(e,r){if(!l.value||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t))return;let c=function o(n){return typeof n==\"function\"?o(n()):Array.isArray(n)||n instanceof Set?n:[n]}(f);for(let o of c){if(o===null)continue;let n=o instanceof HTMLElement?o:p(o);if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,d.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let u=E(null);i(\"pointerdown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"mousedown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"click\",e=>{T()||u.value&&(a(e,()=>u.value),u.value=null)},!0),i(\"touchend\",e=>a(e,()=>e.target instanceof HTMLElement?e.target:null),!0),M(\"blur\",e=>a(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{w as useOutsideClick};\n","import{onMounted as i,ref as f,watchEffect as l}from\"vue\";import{dom as o}from'../utils/dom.js';function r(t,e){if(t)return t;let n=e!=null?e:\"button\";if(typeof n==\"string\"&&n.toLowerCase()===\"button\")return\"button\"}function s(t,e){let n=f(r(t.value.type,t.value.as));return i(()=>{n.value=r(t.value.type,t.value.as)}),l(()=>{var u;n.value||o(e)&&o(e)instanceof HTMLButtonElement&&!((u=o(e))!=null&&u.hasAttribute(\"type\"))&&(n.value=\"button\")}),n}export{s as useResolveButtonType};\n","import{ref as o}from\"vue\";function r(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(n){let t=r(n);return e.value[0]===t[0]&&e.value[1]===t[1]?!1:(e.value=t,!0)},update(n){e.value=r(n)}}}export{u as useTrackedPointer};\n","import{watchEffect as p}from\"vue\";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};\n","import{cloneVNode as O,Fragment as x,h as k}from\"vue\";import{match as w}from'./match.js';var N=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(N||{}),S=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||t&2&&n.static)return y(l);if(t&1){let d=(a=n.unmount)==null||a?0:1;return w(d,{[0](){return null},[1](){return y({...i,props:{...n,hidden:!0,style:{display:\"none\"}}})}})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,h;let{as:n,...l}=T(r,[\"unmount\",\"static\"]),a=(m=e.default)==null?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))typeof f==\"boolean\"&&(u=!0),f===!0&&c.push(p);u&&(d[\"data-headlessui-state\"]=c.join(\" \"))}if(n===\"template\"){if(a=b(a!=null?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=a!=null?a:[];if(!v(u)||c.length>0)throw new Error(['Passing props on \"template\"!',\"\",`The current component <${i} /> is rendering a \"template\".`,\"However we need to passthrough the following props:\",Object.keys(l).concat(Object.keys(t)).map(s=>s.trim()).filter((s,g,R)=>R.indexOf(s)===g).sort((s,g)=>s.localeCompare(g)).map(s=>` - ${s}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(s=>` - ${s}`).join(`\n`)].join(`\n`));let p=j((h=u.props)!=null?h:{},l,d),f=O(u,p,!0);for(let s in p)s.startsWith(\"on\")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&a.length===1?a[0]:a}return k(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap(t=>t.type===x?b(t.children):[t])}function j(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith(\"on\")&&typeof i[n]==\"function\"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t[\"aria-disabled\"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function E(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function v(r){return r==null?!1:typeof r.type==\"string\"||typeof r.type==\"object\"||typeof r.type==\"function\"}export{N as Features,S as RenderStrategy,E as compact,T as omit,A as render};\n","import{inject as p,provide as r}from\"vue\";let n=Symbol(\"Context\");var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function s(){return l()!==null}function l(){return p(n,null)}function t(o){r(n,o)}export{i as State,s as hasOpenClosed,l as useOpenClosed,t as useOpenClosedProvider};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex};\n","import{computed as m,defineComponent as b,inject as I,onMounted as P,onUnmounted as h,provide as R,ref as d,watchEffect as w}from\"vue\";import{useId as E}from'../../hooks/use-id.js';import{useResolveButtonType as H}from'../../hooks/use-resolve-button-type.js';import{State as y,useOpenClosed as L,useOpenClosedProvider as j}from'../../internal/open-closed.js';import{Keys as f}from'../../keyboard.js';import{dom as p}from'../../utils/dom.js';import{match as x}from'../../utils/match.js';import{Features as B,render as g}from'../../utils/render.js';var $=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))($||{});let T=Symbol(\"DisclosureContext\");function O(t){let r=I(T,null);if(r===null){let o=new Error(`<${t} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,O),o}return r}let k=Symbol(\"DisclosurePanelContext\");function U(){return I(k,null)}let N=b({name:\"Disclosure\",props:{as:{type:[Object,String],default:\"template\"},defaultOpen:{type:[Boolean],default:!1}},setup(t,{slots:r,attrs:o}){let s=d(t.defaultOpen?0:1),e=d(null),i=d(null),n={buttonId:d(`headlessui-disclosure-button-${E()}`),panelId:d(`headlessui-disclosure-panel-${E()}`),disclosureState:s,panel:e,button:i,toggleDisclosure(){s.value=x(s.value,{[0]:1,[1]:0})},closeDisclosure(){s.value!==1&&(s.value=1)},close(l){n.closeDisclosure();let a=(()=>l?l instanceof HTMLElement?l:l.value instanceof HTMLElement?p(l):p(n.button):p(n.button))();a==null||a.focus()}};return R(T,n),j(m(()=>x(s.value,{[0]:y.Open,[1]:y.Closed}))),()=>{let{defaultOpen:l,...a}=t,c={open:s.value===0,close:n.close};return g({theirProps:a,ourProps:{},slot:c,slots:r,attrs:o,name:\"Disclosure\"})}}}),Q=b({name:\"DisclosureButton\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(t,{attrs:r,slots:o,expose:s}){let e=O(\"DisclosureButton\"),i=U(),n=m(()=>i===null?!1:i.value===e.panelId.value);P(()=>{n.value||t.id!==null&&(e.buttonId.value=t.id)}),h(()=>{n.value||(e.buttonId.value=null)});let l=d(null);s({el:l,$el:l}),n.value||w(()=>{e.button.value=l.value});let a=H(m(()=>({as:t.as,type:r.type})),l);function c(){var u;t.disabled||(n.value?(e.toggleDisclosure(),(u=p(e.button))==null||u.focus()):e.toggleDisclosure())}function D(u){var S;if(!t.disabled)if(n.value)switch(u.key){case f.Space:case f.Enter:u.preventDefault(),u.stopPropagation(),e.toggleDisclosure(),(S=p(e.button))==null||S.focus();break}else switch(u.key){case f.Space:case f.Enter:u.preventDefault(),u.stopPropagation(),e.toggleDisclosure();break}}function v(u){switch(u.key){case f.Space:u.preventDefault();break}}return()=>{var C;let u={open:e.disclosureState.value===0},{id:S,...K}=t,M=n.value?{ref:l,type:a.value,onClick:c,onKeydown:D}:{id:(C=e.buttonId.value)!=null?C:S,ref:l,type:a.value,\"aria-expanded\":e.disclosureState.value===0,\"aria-controls\":e.disclosureState.value===0||p(e.panel)?e.panelId.value:void 0,disabled:t.disabled?!0:void 0,onClick:c,onKeydown:D,onKeyup:v};return g({ourProps:M,theirProps:K,slot:u,attrs:r,slots:o,name:\"DisclosureButton\"})}}}),V=b({name:\"DisclosurePanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(t,{attrs:r,slots:o,expose:s}){let e=O(\"DisclosurePanel\");P(()=>{t.id!==null&&(e.panelId.value=t.id)}),h(()=>{e.panelId.value=null}),s({el:e.panel,$el:e.panel}),R(k,e.panelId);let i=L(),n=m(()=>i!==null?(i.value&y.Open)===y.Open:e.disclosureState.value===0);return()=>{var v;let l={open:e.disclosureState.value===0,close:e.close},{id:a,...c}=t,D={id:(v=e.panelId.value)!=null?v:a,ref:e.panel};return g({ourProps:D,theirProps:c,slot:l,attrs:r,slots:o,features:B.RenderStrategy|B.Static,visible:n.value,name:\"DisclosurePanel\"})}}});export{N as Disclosure,Q as DisclosureButton,V as DisclosurePanel};\n","let a=/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:\"\",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:\"\":n;return a.test(l)&&(l=l.replace(a,\"\")),l}function g(e){let n=e.getAttribute(\"aria-label\");if(typeof n==\"string\")return n.trim();let t=e.getAttribute(\"aria-labelledby\");if(t){let u=t.split(\" \").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute(\"aria-label\");return typeof i==\"string\"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(\", \")}return o(e).trim()}export{g as getTextValue};\n","import{ref as n}from\"vue\";import{dom as o}from'../utils/dom.js';import{getTextValue as i}from'../utils/get-text-value.js';function p(a){let t=n(\"\"),r=n(\"\");return()=>{let e=o(a);if(!e)return\"\";let l=e.innerText;if(t.value===l)return r.value;let u=i(e).trim().toLowerCase();return t.value=l,r.value=u,u}}export{p as useTextValue};\n","import{computed as y,defineComponent as T,inject as K,nextTick as x,onMounted as N,onUnmounted as j,provide as L,ref as R,watchEffect as B}from\"vue\";import{useId as w}from'../../hooks/use-id.js';import{useOutsideClick as U}from'../../hooks/use-outside-click.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useTextValue as V}from'../../hooks/use-text-value.js';import{useTrackedPointer as H}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{State as D,useOpenClosed as _,useOpenClosedProvider as q}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as W,Focus as S}from'../../utils/calculate-active-index.js';import{dom as m}from'../../utils/dom.js';import{Focus as E,FocusableMode as J,focusFrom as z,isFocusableElement as G,restoreFocusIfNecessary as k,sortByDomNode as X}from'../../utils/focus-management.js';import{match as Y}from'../../utils/match.js';import{Features as F,render as P}from'../../utils/render.js';var Z=(i=>(i[i.Open=0]=\"Open\",i[i.Closed=1]=\"Closed\",i))(Z||{}),ee=(i=>(i[i.Pointer=0]=\"Pointer\",i[i.Other=1]=\"Other\",i))(ee||{});function te(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let A=Symbol(\"MenuContext\");function O(o){let M=K(A,null);if(M===null){let i=new Error(`<${o} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,O),i}return M}let ge=T({name:\"Menu\",props:{as:{type:[Object,String],default:\"template\"}},setup(o,{slots:M,attrs:i}){let I=R(1),p=R(null),e=R(null),r=R([]),f=R(\"\"),d=R(null),g=R(1);function b(t=a=>a){let a=d.value!==null?r.value[d.value]:null,n=X(t(r.value.slice()),v=>m(v.dataRef.domRef)),s=a?n.indexOf(a):null;return s===-1&&(s=null),{items:n,activeItemIndex:s}}let l={menuState:I,buttonRef:p,itemsRef:e,items:r,searchQuery:f,activeItemIndex:d,activationTrigger:g,closeMenu:()=>{I.value=1,d.value=null},openMenu:()=>I.value=0,goToItem(t,a,n){let s=b(),v=W(t===S.Specific?{focus:S.Specific,id:a}:{focus:t},{resolveItems:()=>s.items,resolveActiveIndex:()=>s.activeItemIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.disabled});f.value=\"\",d.value=v,g.value=n!=null?n:1,r.value=s.items},search(t){let n=f.value!==\"\"?0:1;f.value+=t.toLowerCase();let v=(d.value!==null?r.value.slice(d.value+n).concat(r.value.slice(0,d.value+n)):r.value).find(h=>h.dataRef.textValue.startsWith(f.value)&&!h.dataRef.disabled),u=v?r.value.indexOf(v):-1;u===-1||u===d.value||(d.value=u,g.value=1)},clearSearch(){f.value=\"\"},registerItem(t,a){let n=b(s=>[...s,{id:t,dataRef:a}]);r.value=n.items,d.value=n.activeItemIndex,g.value=1},unregisterItem(t){let a=b(n=>{let s=n.findIndex(v=>v.id===t);return s!==-1&&n.splice(s,1),n});r.value=a.items,d.value=a.activeItemIndex,g.value=1}};return U([p,e],(t,a)=>{var n;l.closeMenu(),G(a,J.Loose)||(t.preventDefault(),(n=m(p))==null||n.focus())},y(()=>I.value===0)),L(A,l),q(y(()=>Y(I.value,{[0]:D.Open,[1]:D.Closed}))),()=>{let t={open:I.value===0,close:l.closeMenu};return P({ourProps:{},theirProps:o,slot:t,slots:M,attrs:i,name:\"Menu\"})}}}),Se=T({name:\"MenuButton\",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var b;let p=(b=o.id)!=null?b:`headlessui-menu-button-${w()}`,e=O(\"MenuButton\");I({el:e.buttonRef,$el:e.buttonRef});function r(l){switch(l.key){case c.Space:case c.Enter:case c.ArrowDown:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.First)});break;case c.ArrowUp:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.Last)});break}}function f(l){switch(l.key){case c.Space:l.preventDefault();break}}function d(l){o.disabled||(e.menuState.value===0?(e.closeMenu(),x(()=>{var t;return(t=m(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})})):(l.preventDefault(),e.openMenu(),te(()=>{var t;return(t=m(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let g=$(y(()=>({as:o.as,type:M.type})),e.buttonRef);return()=>{var n;let l={open:e.menuState.value===0},{...t}=o,a={ref:e.buttonRef,id:p,type:g.value,\"aria-haspopup\":\"menu\",\"aria-controls\":(n=m(e.itemsRef))==null?void 0:n.id,\"aria-expanded\":e.menuState.value===0,onKeydown:r,onKeyup:f,onClick:d};return P({ourProps:a,theirProps:t,slot:l,attrs:M,slots:i,name:\"MenuButton\"})}}}),Me=T({name:\"MenuItems\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var l;let p=(l=o.id)!=null?l:`headlessui-menu-items-${w()}`,e=O(\"MenuItems\"),r=R(null);I({el:e.itemsRef,$el:e.itemsRef}),Q({container:y(()=>m(e.itemsRef)),enabled:y(()=>e.menuState.value===0),accept(t){return t.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:t.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute(\"role\",\"none\")}});function f(t){var a;switch(r.value&&clearTimeout(r.value),t.key){case c.Space:if(e.searchQuery.value!==\"\")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case c.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let s=e.items.value[e.activeItemIndex.value];(a=m(s.dataRef.domRef))==null||a.click()}e.closeMenu(),k(m(e.buttonRef));break;case c.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Next);case c.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Previous);case c.Home:case c.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.First);case c.End:case c.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Last);case c.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>{var n;return(n=m(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case c.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>z(m(e.buttonRef),t.shiftKey?E.Previous:E.Next));break;default:t.key.length===1&&(e.search(t.key),r.value=setTimeout(()=>e.clearSearch(),350));break}}function d(t){switch(t.key){case c.Space:t.preventDefault();break}}let g=_(),b=y(()=>g!==null?(g.value&D.Open)===D.Open:e.menuState.value===0);return()=>{var s,v;let t={open:e.menuState.value===0},{...a}=o,n={\"aria-activedescendant\":e.activeItemIndex.value===null||(s=e.items.value[e.activeItemIndex.value])==null?void 0:s.id,\"aria-labelledby\":(v=m(e.buttonRef))==null?void 0:v.id,id:p,onKeydown:f,onKeyup:d,role:\"menu\",tabIndex:0,ref:e.itemsRef};return P({ourProps:n,theirProps:a,slot:t,attrs:M,slots:i,features:F.RenderStrategy|F.Static,visible:b.value,name:\"MenuItems\"})}}}),be=T({name:\"MenuItem\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"template\"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:M,attrs:i,expose:I}){var v;let p=(v=o.id)!=null?v:`headlessui-menu-item-${w()}`,e=O(\"MenuItem\"),r=R(null);I({el:r,$el:r});let f=y(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===p:!1),d=V(r),g=y(()=>({disabled:o.disabled,get textValue(){return d()},domRef:r}));N(()=>e.registerItem(p,g)),j(()=>e.unregisterItem(p)),B(()=>{e.menuState.value===0&&f.value&&e.activationTrigger.value!==0&&x(()=>{var u,h;return(h=(u=m(r))==null?void 0:u.scrollIntoView)==null?void 0:h.call(u,{block:\"nearest\"})})});function b(u){if(o.disabled)return u.preventDefault();e.closeMenu(),k(m(e.buttonRef))}function l(){if(o.disabled)return e.goToItem(S.Nothing);e.goToItem(S.Specific,p)}let t=H();function a(u){t.update(u)}function n(u){t.wasMoved(u)&&(o.disabled||f.value||e.goToItem(S.Specific,p,0))}function s(u){t.wasMoved(u)&&(o.disabled||f.value&&e.goToItem(S.Nothing))}return()=>{let{disabled:u,...h}=o,C={active:f.value,disabled:u,close:e.closeMenu};return P({ourProps:{id:p,ref:r,role:\"menuitem\",tabIndex:u===!0?void 0:-1,\"aria-disabled\":u===!0?!0:void 0,onClick:b,onFocus:l,onPointerenter:a,onMouseenter:a,onPointermove:n,onMousemove:n,onPointerleave:s,onMouseleave:s},theirProps:{...i,...h},slot:C,attrs:i,slots:M,name:\"MenuItem\"})}}});export{ge as Menu,Se as MenuButton,be as MenuItem,Me as MenuItems};\n","import { App } from 'vue'\nimport InkButton from '@/components/InkButton.vue'\nimport InkSpinner from '@/components/InkSpinner.vue'\nimport InkMenu from '@/components/ink-menu/InkMenu.vue'\nimport InkMenuButton from '@/components/ink-menu/InkMenuButton.vue'\nimport InkMenuItems from '@/components/ink-menu/InkMenuItems.vue'\nimport InkMenuItem from '@/components/ink-menu/InkMenuItem.vue'\nimport InkMenuItemsWrapper from '@/components/ink-menu/InkMenuItemsWrapper.vue'\nimport InkDisclosure from './components/ink-disclosure/InkDisclosure.vue'\nimport InkDisclosureButton from '@/components/ink-disclosure/InkDisclosureButton.vue'\nimport InkDisclosurePanel from '@/components/ink-disclosure/InkDisclosurePanel.vue'\nexport {\n InkButton,\n InkSpinner,\n InkMenu,\n InkMenuButton,\n InkMenuItems,\n InkMenuItem,\n InkMenuItemsWrapper,\n InkDisclosure,\n InkDisclosureButton,\n InkDisclosurePanel\n}\n\nexport default {\n install: (app: App) => {\n app.component('InkButton', InkButton)\n app.component('InkSpinner', InkSpinner)\n app.component('InkMenu', InkMenu)\n app.component('InkMenuButton', InkMenuButton)\n app.component('InkMenuItems', InkMenuItems)\n app.component('InkMenuItem', InkMenuItem)\n app.component('InkMenuItemsWrapper', InkMenuItemsWrapper)\n app.component('InkDisclosure', InkDisclosure)\n app.component('InkDisclosureButton', InkDisclosureButton)\n app.component('InkDisclosurePanel', InkDisclosurePanel)\n }\n} "],"names":["restAttrs","computed","attrs","useAttrs","className","props","__props","classList","list","r","n","o","i","e","l","u","a","t","d","s$1","c","s","N","T","F","E","h","w","f","M","_","b","S","y","H","I","O","v","P","m","x","p","L","C","A","j","g","R","k","$","U","Q","D","K","V","B","Z","ee","te","ge","X","W","G","J","q","Y","Se","Me","z","be","index","app","InkButton","InkSpinner","InkMenu","InkMenuButton","InkMenuItems","InkMenuItem","InkMenuItemsWrapper","InkDisclosure","InkDisclosureButton","InkDisclosurePanel"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
1
+ {"version":3,"file":"inkmagine-gui.umd.js","sources":["../src/helper/useAttrs.ts","../src/components/InkSpinner.vue","../src/components/InkButton.vue","../src/components/InkBadge.vue","../src/components/ink-menu/InkMenu.vue","../src/components/ink-menu/InkMenuButton.vue","../src/components/ink-menu/InkMenuItems.vue","../src/components/ink-menu/InkMenuItem.vue","../src/components/ink-menu/InkMenuItemsWrapper.vue","../src/components/ink-disclosure/InkDisclosure.vue","../src/components/ink-disclosure/InkDisclosureButton.vue","../src/components/ink-disclosure/InkDisclosurePanel.vue","../src/images/logo-light-sm.svg","../src/helper/handle-sidebar-toggler-click.ts","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../src/helper/dayjs.ts","../src/helper/i18n.ts","../src/components/InkNavbar.vue","../src/images/logo-light-lg.svg","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/floating-vue/dist/floating-vue.mjs","../src/components/ink-tooltip/InkVTooltip.vue","../src/components/ink-sidebar/InkSidebar.vue","../src/components/input/InkFieldMessage.vue","../src/components/input/field-data-interface.ts","../src/components/input/input-default-value.ts","../src/components/input/InkField.vue","../src/components/input/InputWrapper.vue","../src/components/input/InputInner.vue","../src/components/input/InkErrorMessage.vue","../src/components/input/InputFrame.vue","../src/components/input/InkText.vue","../src/components/input/InkUrl.vue","../src/components/input/InkTextarea.vue","../src/components/input/InkSelect.vue","../src/components/input/InkHashtag.vue","../src/components/input/InkCheckbox.vue","../src/components/input/InkRadio.vue","../src/components/input/InkSwitch.vue","../src/components/input/InkElConfigProvider.vue","../src/components/input/InkDatetime.vue","../src/components/input/InkDatetimerng.vue","../src/helper/set-font.ts","../src/helper/useDefineRule.ts","../src/index.ts","../node_modules/element-plus/es/locale/lang/zh-tw.mjs","../node_modules/element-plus/es/locale/lang/en.mjs","../node_modules/element-plus/es/locale/lang/ja.mjs"],"sourcesContent":["import { useAttrs, computed } from \"vue\"\nexport const useRestAttrs = () => {\n const attrs = useAttrs()\n return computed(() => {\n const { class: className, ...restAttrs } = attrs\n return restAttrs \n }\n )\n}","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-spinner.scss'\nimport { computed } from 'vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\n\ninterface InkSpinnerProps {\n size?: 'md'\n theme?: 'gray'\n}\nconst props = withDefaults(defineProps<InkSpinnerProps>(), {\n theme: 'gray'\n})\nconst restAttrs = useRestAttrs()\nconst classList = computed(() => {\n const list = []\n if(props.size) list.push(`tw-spinner-${props.size}`)\n if(props.theme) list.push(`tw-spinner-grow-${props.theme}`)\n return list\n})\n</script>\n<template>\n <div \n v-bind=\"restAttrs\"\n :class=\"['tw-spinner-grow',classList]\"\n ></div>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-button.scss'\nimport { computed } from 'vue'\nimport InkSpinner from '@/components/InkSpinner.vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\n\ninterface ButtonProps { \n as?: 'a' | 'button' | 'router-link',\n type?: 'button' | 'submit' | 'reset',\n size?: 'md'| 'xs',\n variant?: 'base' | 'txt' | 'icon',\n theme?: 'primary' | 'info' | 'gray' | 'outline-gray' | 'link' | 'transparent',\n disabled?: boolean,\n loading?: boolean\n}\nconst props = withDefaults(defineProps<ButtonProps>(), {\n as: 'button',\n type: 'button',\n variant: 'base',\n theme: 'transparent',\n disabled: false,\n loading: false\n})\nconst restAttrs = useRestAttrs()\nconst classList = computed(() => {\n const list = []\n switch (props.variant) { \n case 'icon':\n props.size ? list.push(`tw-btn-icon-${props.size}`) : list.push(`tw-btn-icon`);\n break;\n default:\n if(props.variant) list.push(`tw-btn-${props.variant}`)\n if (props.size) list.push(`tw-btn-${props.size}`);\n break;\n }\n if (props.loading) {\n props.variant === 'base' ? '' : list.push(`tw-btn-outline-gray`)\n } else {\n props.theme ? list.push(`tw-btn-${props.theme}`) : list.push(`tw-btn-transparent`) \n }\n if (props.as !== 'button' && props.disabled) list.push('tw-disabled')\n\n return list\n})\n</script>\n<template>\n <component \n v-bind=\"restAttrs\"\n :is=\"as\"\n :type=\"as === 'button' ? type : undefined\"\n :disabled=\"disabled\"\n :class=\"classList\"\n >\n <InkSpinner size=\"md\" v-if=\"loading\" />\n <slot v-else>Button</slot>\n </component>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-badge.scss'\nimport { computed } from 'vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\n\ninterface ButtonProps { \n as?: 'span' | 'button',\n type?: 'button',\n theme?: 'info',\n disabled?: boolean,\n}\nconst props = withDefaults(defineProps<ButtonProps>(), {\n as: 'span',\n theme: 'info',\n disabled: false,\n})\nconst restAttrs = useRestAttrs()\nconst classList = computed(() => {\n const list = []\n list.push(`tw-badge tw-badge-${props.theme}`)\n if (props.as !== 'button' && props.disabled) list.push('tw-disabled')\n\n return list\n})\n</script>\n<template>\n <component \n v-bind=\"restAttrs\"\n :is=\"as\"\n :type=\"as === 'button' ? type : undefined\"\n :disabled=\"disabled\"\n :class=\"classList\"\n >\n <slot>badge</slot>\n </component>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-menu.scss'\nimport { type Component } from 'vue'\nimport { Menu } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\n\ninterface MenuProps { \n as?: string | Component,\n}\nconst props = withDefaults(defineProps<MenuProps>(), {\n as: 'div'\n})\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <Menu \n v-bind=\"restAttrs\"\n :as=\"as\"\n v-slot=\"slotProps\"\n class=\"tw-menu\"\n >\n <slot v-bind=\"slotProps\" />\n </Menu>\n</template>\n\n","<script setup lang=\"ts\">\nimport { type Component } from 'vue'\nimport { MenuButton } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\nconst restAttrs = useRestAttrs()\ninterface MenuButtonProps { \n as?: string | Component,\n}\nconst props = withDefaults(defineProps<MenuButtonProps>(), {\n as: 'template'\n})\n</script>\n<template>\n <MenuButton\n v-bind=\"restAttrs\"\n :as=\"as\"\n v-slot=\"slotProps\"\n >\n <slot v-bind=\"slotProps\" />\n </MenuButton>\n</template>","<script setup lang=\"ts\">\nimport { MenuItems } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <MenuItems \n v-bind=\"restAttrs\"\n v-slot=\"slotProps\"\n class=\"tw-menu-items\"\n >\n <slot v-bind=\"slotProps\" />\n </MenuItems>\n</template>\n\n","<script setup lang=\"ts\">\nimport { useRestAttrs } from '@/helper/useAttrs'\nimport { MenuItem } from '@headlessui/vue'\ninterface MenuItemProps {\n as?: string,\n}\nconst props = withDefaults(defineProps<MenuItemProps>(), {\n as: 'template',\n})\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <MenuItem\n v-bind=\"restAttrs\"\n v-slot=\"slotProps\"\n class=\"menu-item-link\"\n :as=\"as\"\n >\n <slot v-bind=\"slotProps\" />\n </MenuItem>\n</template>","<script setup lang=\"ts\">\nimport { useRestAttrs } from '@/helper/useAttrs'\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <div\n v-bind=\"restAttrs\"\n class=\"menu-items-wrapper\"\n >\n <slot />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Disclosure } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <Disclosure\n v-bind=\"restAttrs\"\n v-slot=\"slotProps\"\n >\n <slot v-bind=\"slotProps\" />\n </Disclosure>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-disclosure.scss'\nimport { DisclosureButton } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\ninterface DisclosureButtonProps {\n as?: string,\n type?: string,\n}\nconst props = withDefaults(defineProps<DisclosureButtonProps>(), {\n as: 'button',\n type: 'button',\n})\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <DisclosureButton\n :type=\" as === 'button' ? type : undefined\"\n v-bind=\"restAttrs\"\n v-slot=\"slotProps\"\n class=\"tw-disclosure-button tw-disclosure-button-gray tw-text-xlmix\"\n :as=\"as\"\n >\n <slot v-bind=\"slotProps\" />\n <i\n :class=\"[\n 'far fa-angle-down tw-text-base tw-text-gray-700',\n { 'tw-rotate-180': slotProps.open },\n ]\"\n ></i>\n </DisclosureButton>\n</template>","<script setup lang=\"ts\">\nimport { DisclosurePanel } from '@headlessui/vue'\nimport { useRestAttrs } from '@/helper/useAttrs'\nconst restAttrs = useRestAttrs()\n</script>\n<template>\n <DisclosurePanel\n v-bind=\"restAttrs\"\n v-slot=\"slotProps\"\n class=\"tw-disclosure-panel\"\n >\n <slot v-bind=\"slotProps\" />\n </DisclosurePanel>\n</template>","export default \"data:image/svg+xml,%3csvg%20width='59'%20height='58'%20viewBox='0%200%2059%2058'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18.5541%2017.8118C20.722%2017.8118%2022.4793%2016.051%2022.4793%2013.879C22.4793%2011.707%2020.722%209.94629%2018.5541%209.94629C16.3863%209.94629%2014.6289%2011.707%2014.6289%2013.879C14.6289%2016.051%2016.3863%2017.8118%2018.5541%2017.8118Z'%20fill='%234C3FFF'/%3e%3cpath%20d='M43.695%2038.4847C43.3312%2037.9951%2043.1751%2037.3813%2043.2607%2036.777V27.0641C43.2607%2025.1867%2042.7417%2023.8183%2041.7037%2022.959C40.708%2022.1023%2039.435%2021.6383%2038.1226%2021.6536C36.8837%2021.6504%2035.6757%2022.0414%2034.6727%2022.7701C33.8841%2023.3407%2033.1805%2024.0208%2032.5831%2024.7899H32.3209C32.0155%2024.0203%2031.5521%2023.3238%2030.9605%2022.7455C29.9303%2021.9623%2028.654%2021.5749%2027.3631%2021.6536C25.8331%2021.6433%2024.345%2022.1545%2023.1433%2023.1034C21.9416%2024.0523%2021.0976%2025.3824%2020.75%2026.8753L20.3239%2026.6454C20.4936%2025.3121%2021.0362%2024.054%2021.8891%2023.0164V22.0887H14.5139V23.0164C15.0866%2023.0671%2015.6314%2023.2872%2016.0791%2023.6487C16.3992%2024.1325%2016.5386%2024.714%2016.4724%2025.2907V36.6538C16.5085%2036.9815%2016.4768%2037.3132%2016.3796%2037.6281C16.2823%2037.9431%2016.1215%2038.2347%2015.907%2038.4847C15.4947%2038.7728%2015.0145%2038.9483%2014.5139%2038.9938V39.9133H23.7083V38.9938C23.1948%2038.9309%2022.7063%2038.7358%2022.2906%2038.4273C21.9708%2037.9436%2021.8369%2037.3602%2021.9137%2036.7852V26.7686C21.9137%2026.0789%2023.2904%2024.1905%2025.1915%2024.133C25.5413%2024.1022%2025.8921%2024.1783%2026.1979%2024.3512C26.5036%2024.5242%2026.7499%2024.7859%2026.9042%2025.1019C27.2148%2025.8325%2027.3576%2026.6238%2027.3221%2027.4172V36.777C27.405%2037.376%2027.249%2037.9837%2026.8878%2038.4683C26.4594%2038.7656%2025.9576%2038.9389%2025.4373%2038.9691V39.8887H34.4514V38.9691C33.9403%2038.9068%2033.4544%2038.7114%2033.042%2038.4026C32.7179%2037.9208%2032.5836%2037.3358%2032.665%2036.7605V26.4401C32.665%2026.202%2033.0256%2025.7751%2033.7631%2025.1676C34.3219%2024.6319%2035.0488%2024.3069%2035.82%2024.248C36.1502%2024.2096%2036.4844%2024.2665%2036.7835%2024.4119C37.0825%2024.5574%2037.3339%2024.7853%2037.508%2025.069C37.839%2025.8027%2037.9907%2026.6048%2037.9506%2027.409V36.7688C38.0234%2037.3494%2037.874%2037.936%2037.5326%2038.4108C37.0983%2038.7109%2036.5919%2038.8894%2036.0658%2038.9281V39.8476H45.2192V38.9281C44.6794%2038.9287%2044.1506%2038.7749%2043.695%2038.4847Z'%20fill='black'/%3e%3cpath%20d='M47.5385%2043.7148H12.1213V46.1451H47.5385V43.7148Z'%20fill='%234C3FFF'/%3e%3c/svg%3e\"","import Cookies from 'js-cookie';\n\nexport const handleSidebarTogglerClick = (): void => {\n const isDesktop:boolean = window.innerWidth > 1024;\n\n document.body.classList.toggle(isDesktop ? 'sidebar-folded' : 'sidebar-open');\n\n if (isDesktop) {\n const isFolded = document.body.classList.contains('sidebar-folded') ? '1' : '0';\n Cookies.set('sidebar-folded', isFolded);\n }\n};\n","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString(\"en-US\",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,\"minute\")}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","import dayjs, { OpUnitType } from 'dayjs'\n\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport default dayjs;\n\n// Format\nexport const formatUnixTime = (tz: string, time: number, format = 'YYYY-MM-DD HH:mm') => {\n return dayjs.unix(time).tz( tz ).format(format);\n}\nexport const formatValueOfTime = (tz: string, time: number | string | Date, format = 'YYYY-MM-DD HH:mm') => {\n return dayjs(time).tz( tz ).format(format);\n}\n// Timestamp\nexport const formatTimeToUnix = (time?: Date | string) => {\n // seconds\n return dayjs(time).unix();\n}\nexport const formatTimeToValueOf = (time?: Date) => {\n // milliseconds\n return dayjs(time).valueOf();\n}\n\n// UTC\nexport const utcTimezone = (timezone: string) => { \n return dayjs().tz(timezone).format('[UTC]Z');\n}\n\n// EndOf\nexport const convertUnixToEndOf = (time: number, unit:OpUnitType = 'day') => { \n return dayjs.unix(time).endOf(unit).unix();\n}\n\n// StartOf\nexport const convertUnixToStartOf = (time: number, unit:OpUnitType = 'day') => { \n return dayjs.unix(time).startOf(unit).unix();\n}\nexport const convertValueOfToStartOf = (time: number, unit:OpUnitType = 'day') => { \n return dayjs(time).startOf(unit).valueOf();\n}","import { createI18n } from 'vue-i18n'\nimport zh from '@/lang/zh-tw.json'\nimport en from '@/lang/en-us.json'\nimport jp from '@/lang/ja-jp.json'\nexport const inkI18n = createI18n({\n locale: 'en-us',\n fallbackLocale: 'en-us',\n legacy: false,\n messages: {\n 'zh-tw': zh,\n 'en-us': en,\n 'ja-jp': jp,\n }\n})\n\nexport const { t } = inkI18n.global","<script setup lang=\"ts\">\n import '@/scss/component/_ink-navbar.scss'\n import '@/scss/component/_user-default-img.scss'\n import { handleSidebarTogglerClick } from '@/helper/handle-sidebar-toggler-click'\n import { utcTimezone } from '@/helper/dayjs'\n import InkButton from '@/components/InkButton.vue'\n import InkMenu from '@/components/ink-menu/InkMenu.vue'\n import InkMenuButton from '@/components/ink-menu/InkMenuButton.vue'\n import InkMenuItems from '@/components/ink-menu/InkMenuItems.vue'\n import InkMenuItemsWrapper from '@/components/ink-menu/InkMenuItemsWrapper.vue'\n import InkMenuItem from '@/components/ink-menu/InkMenuItem.vue'\n import { t } from '@/helper/i18n'\n interface NavbarProps {\n timezone?: string\n user:{\n nickname: string;\n avatar: string;\n mail: string;\n }\n logoutUrl: string;\n }\n const props = defineProps <NavbarProps>();\n\n const apps = ['member', 'team', 'cabinet']\n const getHostname = (app: string) => {\n const hostname = window.location.hostname;\n let prefix = '';\n if(hostname.includes('sandbox') || hostname.includes('greenroom')){\n prefix = 'sandbox-';\n }\n if(hostname.includes('stage')){\n prefix = 'stage-';\n }\n\n return `//${prefix + app}.inkmaginecms.com`;\n};\n</script>\n<template>\n <nav id=\"top-navbar\" class=\"navbar top-navbar tw-z-[1011]\">\n <button type=\"button\" class=\"sidebar-toggler\" @click.prevent.stop=\"handleSidebarTogglerClick\">\n <i class=\"fas fa-bars\"></i>\n </button>\n <div class=\"navbar-content pl-0\">\n <img src=\"/src/images/logo-light-sm.svg\" class=\"navbar-content__logo\" alt=\"inkmagine logo\" />\n <ul class=\"navbar-nav tw-items-center\">\n <li v-if=\"timezone\" class=\"nav-item tw-text-xs tw-text-gray-700\">\n {{ utcTimezone(timezone) }}\n </li>\n <li class=\"nav-item\">\n <InkMenu>\n <InkMenuButton>\n <InkButton variant=\"txt\" theme=\"gray\">\n <i class=\"far fa-grip-horizontal tw-text-base tw-text-gray-700\"></i>{{ t('navbar.apps.service') }}\n </InkButton>\n </InkMenuButton>\n <InkMenuItems>\n <InkMenuItemsWrapper>\n <InkMenuItem>\n <a :href=\"`${getHostname('www')}/dashboard`\" target=\"_blank\">\n <div class=\"content\">\n <p class=\"tw-font-semibold tw-text-sm\">{{ t('navbar.apps.dashboard.label') }}</p>\n <p class=\"sub-text tw-text-mute tw-text-xs\">{{ t(`navbar.apps.dashboard.description`) }}</p>\n </div>\n </a>\n </InkMenuItem>\n <InkMenuItem v-for=\"app in apps\" :key=\"app\">\n <a :href=\"getHostname(app)\" target=\"_blank\">\n <div class=\"content\">\n <p class=\"tw-font-semibold tw-text-sm\">{{ t(`navbar.apps.${app}.label`) }}</p>\n <p class=\"sub-text tw-text-mute tw-text-xs\">{{ t(`navbar.apps.${app}.description`) }}</p>\n </div>\n </a>\n </InkMenuItem>\n </InkMenuItemsWrapper>\n </InkMenuItems>\n </InkMenu>\n </li>\n <li v-if=\"user.mail\" class=\"nav-item\">\n <InkMenu>\n <InkMenuButton>\n <button type=\"button\" class=\"user-default-img x30\">\n <img v-if=\"user.avatar\" :src=\"user.avatar\" />\n <p v-else>{{ user . mail . slice(0, 1) . toLocaleUpperCase() }}</p>\n </button>\n </InkMenuButton>\n <InkMenuItems>\n <div class=\"tw-border-b tw-p-5 tw-flex tw-flex-col tw-items-center tw-justify-center tw-gap-y-3\">\n <div class=\"user-default-img x30\">\n <img v-if=\"user.avatar\" :src=\"user.avatar\" />\n <p v-else>{{ user . mail . slice(0, 1) . toLocaleUpperCase() }}</p>\n </div>\n <div class=\"info text-center\">\n <p class=\"name tw-font-semibold mb-0\">{{ user . nickname }}</p>\n <p class=\"email tw-text-mute tw-break-all tw-text-xs\">{{ user . mail }}</p>\n </div>\n </div>\n <InkMenuItemsWrapper class=\"tw-pt-3\">\n <InkMenuItem>\n <a :href=\"`${getHostname('member')}/profile`\">\n <i class=\"fal fa-user fa-fw mr-1\"></i>\n {{ t('navbar.profile') }}\n </a>\n </InkMenuItem>\n <InkMenuItem>\n <a :href=\"logoutUrl\">\n <i class=\"fal fa-sign-out fa-fw icon\"></i>\n <span>{{ t('logout') }}</span>\n </a>\n </InkMenuItem>\n </InkMenuItemsWrapper>\n </InkMenuItems>\n </InkMenu>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n","export default \"data:image/svg+xml,%3csvg%20width='178'%20height='60'%20viewBox='0%200%20178%2060'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M24.1451%2037.8555V38.3153V38.7832V39.243V40.179H50.6301V39.243V38.7832V38.3153V37.8555H24.1451Z'%20fill='%234C3FFF'/%3e%3cpath%20d='M31.2663%2023.1507C30.5229%2023.1182%2029.7834%2023.2752%2029.117%2023.6069C28.4506%2023.9386%2027.8791%2024.4341%2027.4558%2025.0472V23.4052H24.055V35.4333H27.4558V29.3823C27.4225%2028.9858%2027.4767%2028.5868%2027.6148%2028.2136C27.7528%2027.8405%2027.9712%2027.5024%2028.2543%2027.2234C28.5375%2026.9443%2028.8786%2026.7312%2029.2533%2026.5992C29.6279%2026.4671%2030.0271%2026.4195%2030.4222%2026.4594C32.2578%2026.755%2032.5856%2028.6023%2032.5856%2030.1623V35.4333H35.9864V29.3823C35.9864%2024.5218%2033.6673%2023.1507%2031.2663%2023.1507Z'%20fill='black'/%3e%3cpath%20d='M49.86%2023.3809H45.312L41.3949%2027.4286V23.3809H38.0106V35.409H41.3949V31.8293L42.3455%2030.8769L45.8692%2035.409H50.2943L44.722%2028.5123L49.86%2023.3809Z'%20fill='black'/%3e%3cpath%20d='M12.6317%2023.1514V24.0299C12.9489%2024.0794%2013.2596%2024.1648%2013.5576%2024.2844L13.7789%2024.3911C13.8362%2024.4255%2013.8909%2024.464%2013.9428%2024.5061C14.1477%2024.7449%2014.3014%2025.0234%2014.3945%2025.3242C14.4875%2025.625%2014.5179%2025.9418%2014.4836%2026.2549V37.0104C14.5187%2037.3222%2014.4887%2037.6379%2014.3956%2037.9376C14.3025%2038.2372%2014.1483%2038.5142%2013.9428%2038.751C13.8912%2038.7959%2013.8364%2038.8371%2013.7789%2038.8742L13.5576%2038.9809C13.2583%2039.0967%2012.9481%2039.182%2012.6317%2039.2354V40.1139H21.3999V39.2354C20.9121%2039.1767%2020.4484%2038.9897%2020.056%2038.6935C19.7537%2038.2364%2019.6257%2037.6856%2019.6954%2037.1417V26.1235C19.6257%2025.5796%2019.7537%2025.0288%2020.056%2024.5717C20.4484%2024.2755%2020.9121%2024.0886%2021.3999%2024.0299V23.1514H12.6317Z'%20fill='black'/%3e%3cpath%20d='M99.8473%2038.2743C99.7244%2038.3321%2099.5896%2038.3603%2099.4539%2038.3565C99.3616%2038.3511%2099.272%2038.3227%2099.1933%2038.274C99.1147%2038.2252%2099.0493%2038.1576%2099.0032%2038.0773C98.8592%2037.883%2098.7842%2037.646%2098.7902%2037.404V28.4712C98.7902%2026.2818%2098.0964%2024.782%2096.7087%2023.9719C95.1015%2023.118%2093.2987%2022.7019%2091.4806%2022.765C89.7576%2022.704%2088.0527%2023.1338%2086.5638%2024.0048C85.9564%2024.3284%2085.449%2024.8124%2085.0965%2025.4043C84.7441%2025.9963%2084.56%2026.6736%2084.5643%2027.3628C84.5443%2027.702%2084.601%2028.0413%2084.7301%2028.3555C84.8592%2028.6696%2085.0575%2028.9506%2085.31%2029.1773C85.8182%2029.5983%2086.4618%2029.82%2087.121%2029.8013C87.7179%2029.8181%2088.3004%2029.6168%2088.7599%2029.2348C88.9958%2029.0349%2089.1811%2028.7819%2089.3008%2028.4965C89.4204%2028.2111%2089.471%2027.9014%2089.4483%2027.5927C89.4555%2027.3118%2089.4053%2027.0324%2089.3008%2026.7717C89.1978%2026.5277%2089.0627%2026.2985%2088.8993%2026.0902L88.678%2025.8439C88.5942%2025.7493%2088.5226%2025.6444%2088.4649%2025.5319C88.4113%2025.4194%2088.3859%2025.2953%2088.3912%2025.1707C88.4016%2024.9719%2088.4669%2024.7799%2088.5797%2024.6161C88.6926%2024.4523%2088.8486%2024.3231%2089.0304%2024.2429C89.5343%2023.9763%2090.0999%2023.8487%2090.6693%2023.8734C91.1137%2023.8281%2091.5627%2023.8779%2091.9865%2024.0194C92.4103%2024.1609%2092.7993%2024.391%2093.1277%2024.6945C93.6514%2025.4029%2093.8964%2026.2797%2093.816%2027.1576V29.8423C91.2071%2030.506%2088.691%2031.4934%2086.3261%2032.7816C85.6047%2033.1574%2085.0001%2033.7243%2084.5781%2034.4207C84.1562%2035.1171%2083.9332%2035.9161%2083.9333%2036.7308C83.8872%2037.3012%2083.9827%2037.8742%2084.2115%2038.3985C84.4403%2038.9229%2084.7952%2039.3823%2085.2444%2039.7358C86.0555%2040.3534%2087.0447%2040.6905%2088.0634%2040.6964C88.8478%2040.6895%2089.6257%2040.5536%2090.3661%2040.2941C91.6739%2039.8612%2092.8576%2039.1175%2093.816%2038.1265C93.8891%2038.7174%2094.1057%2039.2812%2094.447%2039.7686C94.7434%2040.1042%2095.1144%2040.3654%2095.53%2040.5308C95.9457%2040.6963%2096.3944%2040.7614%2096.8398%2040.721C97.4364%2040.7229%2098.0281%2040.6143%2098.5853%2040.4008C99.5149%2040.0213%20100.335%2039.4144%20100.97%2038.6356L100.413%2037.8638C100.247%2038.03%20100.056%2038.1686%2099.8473%2038.2743ZM93.7259%2036.5173C93.4191%2036.8876%2093.076%2037.2259%2092.7016%2037.5272C92.224%2037.8726%2091.6516%2038.0618%2091.0626%2038.0691C90.8234%2038.0619%2090.5887%2038.0023%2090.3749%2037.8945C90.1611%2037.7867%2089.9735%2037.6333%2089.8252%2037.4451C89.4292%2036.9208%2089.237%2036.27%2089.2844%2035.6142C89.2855%2034.9396%2089.4593%2034.2766%2089.7893%2033.6887C90.1193%2033.1007%2090.5944%2032.6075%2091.1692%2032.2562C91.9547%2031.7208%2092.8328%2031.3365%2093.7587%2031.1232L93.7259%2036.5173Z'%20fill='black'/%3e%3cpath%20d='M116.318%2038.3071C115.225%2037.9003%20114.067%2037.6971%20112.901%2037.7077H110.508H109.148C108.558%2037.7077%20108.173%2037.7078%20107.993%2037.6421C107.686%2037.6072%20107.399%2037.4748%20107.173%2037.2644C106.969%2037.0406%20106.861%2036.7461%20106.87%2036.4434C106.872%2036.2083%20106.929%2035.9769%20107.036%2035.7675C107.142%2035.558%20107.296%2035.3763%20107.485%2035.2365C107.804%2034.9462%20108.194%2034.7451%20108.615%2034.6535C108.785%2034.6423%20108.954%2034.6423%20109.123%2034.6535C109.238%2034.6535%20109.484%2034.6535%20109.853%2034.6535C111.315%2034.696%20112.771%2034.462%20114.147%2033.9638C115.14%2033.6518%20116%2033.0178%20116.594%2032.1616C117.187%2031.3054%20117.48%2030.2757%20117.425%2029.2347C117.431%2028.5373%20117.3%2027.8454%20117.04%2027.1985C116.784%2026.5827%20116.408%2026.0244%20115.933%2025.5565H118.916V23.5942H114.065C113.535%2023.3721%20112.986%2023.1964%20112.426%2023.0688C111.645%2022.8984%20110.848%2022.8157%20110.049%2022.8224C108.098%2022.7185%20106.171%2023.2991%20104.6%2024.4645C103.965%2024.9535%20103.452%2025.5845%20103.104%2026.3073C102.755%2027.0301%20102.58%2027.8245%20102.592%2028.6271C102.561%2029.863%20102.967%2031.0702%20103.74%2032.0344C104.551%2032.9971%20105.591%2033.7397%20106.763%2034.1938V34.4483C105.794%2034.7929%20104.894%2035.3102%20104.108%2035.9754C103.69%2036.2777%20103.349%2036.6747%20103.112%2037.1341C102.876%2037.5935%20102.751%2038.1023%20102.748%2038.6191C102.732%2039.0079%20102.802%2039.3955%20102.952%2039.7544C103.102%2040.1133%20103.329%2040.4348%20103.617%2040.6963C104.088%2041.0566%20104.618%2041.3342%20105.182%2041.5173V41.7636C104.312%2041.8269%20103.499%2042.2169%20102.904%2042.8556C102.506%2043.3128%20102.275%2043.8917%20102.248%2044.4977C102.248%2045.8551%20103.278%2046.8158%20105.338%2047.3795C106.796%2047.7393%20108.294%2047.9077%20109.795%2047.8804C111.573%2047.9305%20113.347%2047.692%20115.048%2047.1743C117.687%2046.2794%20118.998%2044.6291%20118.998%2042.2481C119.054%2041.3859%20118.82%2040.5298%20118.335%2039.8158C117.849%2039.1017%20117.14%2038.5707%20116.318%2038.3071ZM108.066%2025.1706C108.213%2024.7826%20108.482%2024.4532%20108.833%2024.2324C109.183%2024.0116%20109.596%2023.9115%20110.009%2023.9473C110.4%2023.9233%20110.79%2024.0198%20111.125%2024.2237C111.46%2024.4277%20111.726%2024.7294%20111.885%2025.0885C112.321%2026.2432%20112.508%2027.4771%20112.434%2028.7093C112.49%2029.9164%20112.315%2031.1231%20111.918%2032.2643C111.773%2032.6408%20111.512%2032.9613%20111.173%2033.1797C110.834%2033.3981%20110.435%2033.5031%20110.033%2033.4795C109.552%2033.4898%20109.082%2033.3314%20108.705%2033.0316C108.328%2032.7317%20108.067%2032.3093%20107.968%2031.8374C107.686%2030.8143%20107.564%2029.7534%20107.607%2028.6928C107.55%2027.5007%20107.705%2026.308%20108.066%2025.1706ZM113.549%2046.3204C112.439%2046.5569%20111.306%2046.6643%20110.172%2046.6406C108.966%2046.707%20107.761%2046.4847%20106.657%2045.992C106.304%2045.8429%20106.001%2045.5946%20105.786%2045.2769C105.571%2044.9593%20105.452%2044.586%20105.444%2044.2021C105.447%2043.7417%20105.606%2043.296%20105.895%2042.9377C106.135%2042.6326%20106.41%2042.357%20106.714%2042.1167H112.754C113.639%2042.0396%20114.528%2042.2042%20115.327%2042.5929C115.558%2042.7513%20115.746%2042.9666%20115.87%2043.2181C115.995%2043.4697%20116.054%2043.7491%20116.04%2044.0297C116.048%2045.1545%20115.212%2045.9099%20113.549%2046.3204Z'%20fill='black'/%3e%3cpath%20d='M127.43%2037.2074V23.1924H120.367V24.0791C120.913%2024.1277%20121.433%2024.3394%20121.858%2024.6867C122.158%2025.1388%20122.292%2025.6819%20122.235%2026.222V37.0596C122.271%2037.3728%20122.241%2037.6899%20122.148%2037.991C122.055%2038.292%20121.9%2038.5704%20121.694%2038.8084C121.301%2039.0828%20120.844%2039.2498%20120.367%2039.2929V40.1796H129.135V39.2929C128.646%2039.2321%20128.181%2039.0485%20127.783%2038.7592C127.484%2038.3007%20127.359%2037.7502%20127.43%2037.2074Z'%20fill='black'/%3e%3cpath%20d='M147.794%2037.2068V28.2904C147.794%2026.2378%20147.36%2024.8038%20146.491%2023.9882C145.47%2023.1162%20144.15%2022.6774%20142.812%2022.7649C141.746%2022.7535%20140.7%2023.0562%20139.804%2023.6352C138.91%2024.2039%20138.148%2024.9568%20137.567%2025.8437V23.1918H130.593V24.0785C131.17%2024.0998%20131.722%2024.3169%20132.159%2024.6943C132.463%2025.1541%20132.599%2025.7053%20132.544%2026.2543V37.0919C132.581%2037.39%20132.558%2037.6925%20132.476%2037.9816C132.394%2038.2707%20132.256%2038.5405%20132.068%2038.775C131.64%2039.1028%20131.123%2039.2944%20130.585%2039.3251V40.2118H139.452V39.3251C138.966%2039.2647%20138.503%2039.081%20138.108%2038.7914C137.801%2038.3362%20137.673%2037.7838%20137.747%2037.2397V27.3873C138.083%2026.8616%20138.498%2026.3908%20138.977%2025.9915C139.455%2025.5496%20140.08%2025.3009%20140.73%2025.2936C141.101%2025.2613%20141.473%2025.3568%20141.782%2025.5643C142.092%2025.7717%20142.322%2026.0788%20142.435%2026.4349C142.633%2027.0435%20142.72%2027.6835%20142.689%2028.3232V37.2561C142.758%2037.7999%20142.63%2038.3508%20142.328%2038.8078C141.93%2039.0987%20141.465%2039.2825%20140.976%2039.3415V40.2282H149.63V39.3415C149.122%2039.3136%20148.631%2039.146%20148.212%2038.8571C148.034%2038.625%20147.905%2038.3589%20147.833%2038.0751C147.761%2037.7914%20147.748%2037.4959%20147.794%2037.2068Z'%20fill='black'/%3e%3cpath%20d='M165.208%2035.5651C164.685%2036.1727%20164.1%2036.7231%20163.462%2037.2071C162.75%2037.7349%20161.889%2038.0224%20161.004%2038.0282C159.195%2038.0282%20157.928%2037.0129%20157.201%2034.9822C156.779%2033.7452%20156.536%2032.454%20156.48%2031.1479H165.888C165.872%2030.6587%20165.828%2030.1707%20165.757%2029.6865C165.646%2028.5483%20165.341%2027.4375%20164.855%2026.4024C164.307%2025.3022%20163.453%2024.3841%20162.397%2023.7586C161.364%2023.1311%20160.179%2022.8016%20158.971%2022.8062C157.951%2022.7934%20156.939%2022.9958%20156.002%2023.4004C155.064%2023.8049%20154.222%2024.4025%20153.53%2025.1544C152.022%2026.7253%20151.269%2028.9147%20151.269%2031.7226C151.269%2034.859%20152.088%2037.1333%20153.645%2038.5619C155.01%2039.8998%20156.833%2040.666%20158.742%2040.7048C159.895%2040.7285%20161.038%2040.4899%20162.085%2040.0069C163.752%2039.1125%20165.127%2037.7556%20166.043%2036.0988L165.208%2035.5651ZM157.013%2025.4089C157.124%2024.9724%20157.38%2024.5868%20157.739%2024.3153C158.098%2024.0437%20158.538%2023.9024%20158.988%2023.9146C159.401%2023.8857%20159.812%2023.9984%20160.153%2024.2341C160.494%2024.4698%20160.745%2024.8145%20160.864%2025.2119C161.257%2026.6974%20161.428%2028.2329%20161.373%2029.7686H156.407C156.39%2028.2937%20156.592%2026.8246%20157.005%2025.4089H157.013Z'%20fill='black'/%3e%3cpath%20d='M80.7783%2038.8325C80.5079%2038.6026%2080.3686%2038.0607%2080.3686%2037.1904V27.9127C80.3686%2026.1229%2079.8742%2024.8147%2078.8853%2023.9882C77.931%2023.1731%2076.7139%2022.7326%2075.46%2022.7485C74.2835%2022.7481%2073.1367%2023.1186%2072.1821%2023.8076C71.4279%2024.3528%2070.7547%2025.0024%2070.1826%2025.737H69.9368C69.6429%2025.0064%2069.2022%2024.3441%2068.6421%2023.7912C67.6601%2023.0409%2066.441%2022.6706%2065.2085%2022.7485C63.7484%2022.7375%2062.328%2023.2239%2061.18%2024.1279C60.0321%2025.032%2059.2248%2026.2999%2058.8904%2027.7239L58.4807%2027.5105C58.6428%2026.246%2059.1536%2025.0518%2059.9557%2024.0621V23.1754H52.892V24.0621C53.439%2024.1087%2053.9591%2024.3206%2054.3834%2024.6697C54.6876%2025.1201%2054.8213%2025.6646%2054.7603%2026.205V37.0426C54.7961%2037.3558%2054.7664%2037.673%2054.6733%2037.974C54.5802%2038.2751%2054.4257%2038.5534%2054.2195%2038.7914C53.8273%2039.0672%2053.3693%2039.2343%2052.892%2039.2759V40.1626H61.6848V39.2759C61.1959%2039.2169%2060.7304%2039.0331%2060.3327%2038.7422C60.0304%2038.2851%2059.9024%2037.7343%2059.9721%2037.1904V27.6582C59.9721%2026.9932%2061.2833%2025.1951%2063.1025%2025.1377C63.4368%2025.1041%2063.7733%2025.1744%2064.0665%2025.3389C64.3596%2025.5033%2064.5952%2025.7541%2064.7414%2026.0572C65.041%2026.7562%2065.1783%2027.5141%2065.1429%2028.274V37.2069C65.1429%2038.0279%2065.0036%2038.5862%2064.725%2038.8489C64.3175%2039.1354%2063.8373%2039.3005%2063.3401%2039.3251V40.2119H71.9527V39.3251C71.4667%2039.2648%2071.0041%2039.0811%2070.6088%2038.7914C70.3022%2038.3362%2070.1739%2037.7838%2070.2482%2037.2397V27.3873C70.2482%2027.1574%2070.5924%2026.7551%2071.2971%2026.1722C71.8433%2025.6533%2072.5537%2025.3424%2073.3048%2025.2937C73.6285%2025.2514%2073.9575%2025.307%2074.2495%2025.4533C74.5415%2025.5995%2074.7832%2025.8298%2074.9437%2026.1147C75.2578%2026.8154%2075.401%2027.5808%2075.3617%2028.3479V37.2808C75.4396%2037.8426%2075.2987%2038.4129%2074.9683%2038.8736C74.5575%2039.168%2074.0714%2039.3389%2073.567%2039.3662V40.2529H82.3025V39.3662C81.7517%2039.3501%2081.2193%2039.1636%2080.7783%2038.8325Z'%20fill='black'/%3e%3cpath%20d='M121.71%2012.6996C122.325%2012.0777%20123.135%2011.6887%20124.004%2011.599C124.872%2011.5093%20125.745%2011.7245%20126.473%2012.2078C127.2%2012.6912%20127.738%2013.4126%20127.994%2014.2491C128.25%2015.0855%20128.208%2015.9849%20127.876%2016.7939C127.543%2017.6028%20126.941%2018.271%20126.171%2018.6844C125.402%2019.0977%20124.513%2019.2307%20123.656%2019.0604C122.8%2018.8901%20122.029%2018.4273%20121.475%2017.7508C120.922%2017.0744%20120.62%2016.2263%20120.621%2015.3515C120.613%2014.8585%20120.706%2014.3693%20120.894%2013.9134C121.081%2013.4575%20121.359%2013.0445%20121.71%2012.6996Z'%20fill='%234C3FFF'/%3e%3c/svg%3e\"","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n","import { defineComponent as O, openBlock as f, createElementBlock as T, normalizeClass as J, renderSlot as A, normalizeProps as ke, guardReactiveProps as Le, pushScopeId as De, popScopeId as Ie, nextTick as Fe, createBlock as M, withScopeId as Re, resolveComponent as P, normalizeStyle as W, withKeys as je, createElementVNode as w, Fragment as Ve, createCommentVNode as se, mergeProps as $e, withCtx as N, createVNode as ve, toDisplayString as We, ref as U, createApp as Ge, h as qe } from \"vue\";\nimport { offset as xe, autoPlacement as Ue, shift as Ye, flip as Xe, arrow as Ke, size as Je, computePosition as Qe, getOverflowAncestors as ne } from \"@floating-ui/dom\";\nfunction ye(e, t) {\n for (const o in t)\n Object.prototype.hasOwnProperty.call(t, o) && (typeof t[o] == \"object\" && e[o] ? ye(e[o], t[o]) : e[o] = t[o]);\n}\nconst h = {\n // Disable popper components\n disabled: !1,\n // Default position offset along main axis (px)\n distance: 5,\n // Default position offset along cross axis (px)\n skidding: 0,\n // Default container where the tooltip will be appended\n container: \"body\",\n // Element used to compute position and size boundaries\n boundary: void 0,\n // Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.\n instantMove: !1,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 150,\n // Triggers on the popper itself\n popperTriggers: [],\n // Positioning strategy\n strategy: \"absolute\",\n // Prevent overflow\n preventOverflow: !0,\n // Flip to the opposite placement if needed\n flip: !0,\n // Shift on the cross axis to prevent the popper from overflowing\n shift: !0,\n // Overflow padding (px)\n overflowPadding: 0,\n // Arrow padding (px)\n arrowPadding: 0,\n // Compute arrow overflow (useful to hide it)\n arrowOverflow: !0,\n /**\n * By default, compute autohide on 'click'.\n */\n autoHideOnMousedown: !1,\n // Themes\n themes: {\n tooltip: {\n // Default tooltip placement relative to target element\n placement: \"top\",\n // Default events that trigger the tooltip\n triggers: [\"hover\", \"focus\", \"touch\"],\n // Close tooltip on click on tooltip target\n hideTriggers: (e) => [...e, \"click\"],\n // Delay (ms)\n delay: {\n show: 200,\n hide: 0\n },\n // Update popper on content resize\n handleResize: !1,\n // Enable HTML content in directive\n html: !1,\n // Displayed when tooltip content is loading\n loadingContent: \"...\"\n },\n dropdown: {\n // Default dropdown placement relative to target element\n placement: \"bottom\",\n // Default events that trigger the dropdown\n triggers: [\"click\"],\n // Delay (ms)\n delay: 0,\n // Update popper on content resize\n handleResize: !0,\n // Hide on clock outside\n autoHide: !0\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction S(e, t) {\n let o = h.themes[e] || {}, i;\n do\n i = o[t], typeof i > \"u\" ? o.$extend ? o = h.themes[o.$extend] || {} : (o = null, i = h[t]) : o = null;\n while (o);\n return i;\n}\nfunction Ze(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend && !o.$resetCss ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t.map((i) => `v-popper--theme-${i}`);\n}\nfunction re(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t;\n}\nlet $ = !1;\nif (typeof window < \"u\") {\n $ = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get() {\n $ = !0;\n }\n });\n window.addEventListener(\"test\", null, e);\n } catch {\n }\n}\nlet _e = !1;\ntypeof window < \"u\" && typeof navigator < \"u\" && (_e = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\nconst Te = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((e, t) => e.concat([\n t,\n `${t}-start`,\n `${t}-end`\n]), []), pe = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\",\n pointer: \"pointerdown\"\n}, ae = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\",\n pointer: \"pointerup\"\n};\nfunction de(e, t) {\n const o = e.indexOf(t);\n o !== -1 && e.splice(o, 1);\n}\nfunction G() {\n return new Promise((e) => requestAnimationFrame(() => {\n requestAnimationFrame(e);\n }));\n}\nconst d = [];\nlet g = null;\nconst le = {};\nfunction he(e) {\n let t = le[e];\n return t || (t = le[e] = []), t;\n}\nlet Y = function() {\n};\ntypeof window < \"u\" && (Y = window.Element);\nfunction n(e) {\n return function(t) {\n return S(t.theme, e);\n };\n}\nconst q = \"__floating-vue__popper\", Q = () => O({\n name: \"VPopper\",\n provide() {\n return {\n [q]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [q]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: !0\n },\n targetNodes: {\n type: Function,\n required: !0\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: !0\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: n(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: n(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: n(\"placement\"),\n validator: (e) => Te.includes(e)\n },\n delay: {\n type: [String, Number, Object],\n default: n(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: n(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: n(\"skidding\")\n },\n triggers: {\n type: Array,\n default: n(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: n(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: n(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: n(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: n(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: n(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Y, Boolean],\n default: n(\"container\")\n },\n boundary: {\n type: [String, Y],\n default: n(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (e) => [\"absolute\", \"fixed\"].includes(e),\n default: n(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: n(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: n(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: n(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: n(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: n(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: n(\"computeTransformOrigin\")\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: n(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: n(\"autoSize\")\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: n(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: n(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: n(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: n(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: n(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: n(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: n(\"flip\")\n },\n shift: {\n type: Boolean,\n default: n(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: n(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: n(\"noAutoFocus\")\n },\n disposeTimeout: {\n type: Number,\n default: n(\"disposeTimeout\")\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n data() {\n return {\n isShown: !1,\n isMounted: !1,\n skipTransition: !1,\n classes: {\n showFrom: !1,\n showTo: !1,\n hideFrom: !1,\n hideTo: !0\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n randomId: `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join(\"_\")}`,\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: !0,\n pendingHide: !1,\n containsGlobalTarget: !1,\n isDisposed: !0,\n mouseDownContains: !1\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide == \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: {\n ...this.classes,\n popperClass: this.popperClass\n },\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var e;\n return (e = this[q]) == null ? void 0 : e.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var e, t;\n return ((e = this.popperTriggers) == null ? void 0 : e.includes(\"hover\")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes(\"hover\"));\n }\n },\n watch: {\n shown: \"$_autoShowHide\",\n disabled(e) {\n e ? this.dispose() : this.init();\n },\n async container() {\n this.isShown && (this.$_ensureTeleport(), await this.$_computePosition());\n },\n triggers: {\n handler: \"$_refreshListeners\",\n deep: !0\n },\n positioningDisabled: \"$_refreshListeners\",\n ...[\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((e, t) => (e[t] = \"$_computePosition\", e), {})\n },\n created() {\n this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.'), this.autoMaxSize && console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n },\n mounted() {\n this.init(), this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event: e = null, skipDelay: t = !1, force: o = !1 } = {}) {\n var i, s;\n (i = this.parentPopper) != null && i.lockedChild && this.parentPopper.lockedChild !== this || (this.pendingHide = !1, (o || !this.disabled) && (((s = this.parentPopper) == null ? void 0 : s.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit(\"show\"), this.$_showFrameLocked = !0, requestAnimationFrame(() => {\n this.$_showFrameLocked = !1;\n })), this.$emit(\"update:shown\", !0));\n },\n hide({ event: e = null, skipDelay: t = !1 } = {}) {\n var o;\n if (!this.$_hideInProgress) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => {\n this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null);\n }, 1e3));\n return;\n }\n ((o = this.parentPopper) == null ? void 0 : o.lockedChild) === this && (this.parentPopper.lockedChild = null), this.pendingHide = !1, this.$_scheduleHide(e, t), this.$emit(\"hide\"), this.$emit(\"update:shown\", !1);\n }\n },\n init() {\n var e;\n this.isDisposed && (this.isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = ((e = this.referenceNode) == null ? void 0 : e.call(this)) ?? this.$el, this.$_targetNodes = this.targetNodes().filter((t) => t.nodeType === t.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\"), this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\"), this.$_swapTargetAttrs(\"title\", \"data-original-title\"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show());\n },\n dispose() {\n this.isDisposed || (this.isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs(\"data-original-title\", \"title\"));\n },\n async onResize() {\n this.isShown && (await this.$_computePosition(), this.$emit(\"resize\"));\n },\n async $_computePosition() {\n if (this.isDisposed || this.positioningDisabled)\n return;\n const e = {\n strategy: this.strategy,\n middleware: []\n };\n (this.distance || this.skidding) && e.middleware.push(xe({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n const t = this.placement.startsWith(\"auto\");\n if (t ? e.middleware.push(Ue({\n alignment: this.placement.split(\"-\")[1] ?? \"\"\n })) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(Ye({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n })), !t && this.flip && e.middleware.push(Xe({\n padding: this.overflowPadding,\n boundary: this.boundary\n }))), e.middleware.push(Ke({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n })), this.arrowOverflow && e.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement: i, rects: s, middlewareData: r }) => {\n let p;\n const { centerOffset: a } = r.arrow;\n return i.startsWith(\"top\") || i.startsWith(\"bottom\") ? p = Math.abs(a) > s.reference.width / 2 : p = Math.abs(a) > s.reference.height / 2, {\n data: {\n overflow: p\n }\n };\n }\n }), this.autoMinSize || this.autoSize) {\n const i = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n e.middleware.push({\n name: \"autoSize\",\n fn: ({ rects: s, placement: r, middlewareData: p }) => {\n var u;\n if ((u = p.autoSize) != null && u.skip)\n return {};\n let a, l;\n return r.startsWith(\"top\") || r.startsWith(\"bottom\") ? a = s.reference.width : l = s.reference.height, this.$_innerNode.style[i === \"min\" ? \"minWidth\" : i === \"max\" ? \"maxWidth\" : \"width\"] = a != null ? `${a}px` : null, this.$_innerNode.style[i === \"min\" ? \"minHeight\" : i === \"max\" ? \"maxHeight\" : \"height\"] = l != null ? `${l}px` : null, {\n data: {\n skip: !0\n },\n reset: {\n rects: !0\n }\n };\n }\n });\n }\n (this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, e.middleware.push(Je({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ availableWidth: i, availableHeight: s }) => {\n this.$_innerNode.style.maxWidth = i != null ? `${i}px` : null, this.$_innerNode.style.maxHeight = s != null ? `${s}px` : null;\n }\n })));\n const o = await Qe(this.$_referenceNode, this.$_popperNode, e);\n Object.assign(this.result, {\n x: o.x,\n y: o.y,\n placement: o.placement,\n strategy: o.strategy,\n arrow: {\n ...o.middlewareData.arrow,\n ...o.middlewareData.arrowOverflow\n }\n });\n },\n $_scheduleShow(e, t = !1) {\n if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), g && this.instantMove && g.instantMove && g !== this.parentPopper) {\n g.$_applyHide(!0), this.$_applyShow(!0);\n return;\n }\n t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n },\n $_scheduleHide(e, t = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (g = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n },\n $_computeDelay(e) {\n const t = this.delay;\n return parseInt(t && t[e] || t || 0);\n },\n async $_applyShow(e = !1) {\n clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await G(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([\n ...ne(this.$_referenceNode),\n ...ne(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n }));\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const t = this.$_referenceNode.getBoundingClientRect(), o = this.$_popperNode.querySelector(\".v-popper__wrapper\"), i = o.parentNode.getBoundingClientRect(), s = t.x + t.width / 2 - (i.left + o.offsetLeft), r = t.y + t.height / 2 - (i.top + o.offsetTop);\n this.result.transformOrigin = `${s}px ${r}px`;\n }\n this.isShown = !0, this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const e = this.showGroup;\n if (e) {\n let t;\n for (let o = 0; o < d.length; o++)\n t = d[o], t.showGroup !== e && (t.hide(), t.$emit(\"close-group\"));\n }\n d.push(this), document.body.classList.add(\"v-popper--some-open\");\n for (const t of re(this.theme))\n he(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`);\n this.$emit(\"apply-show\"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await G(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus();\n },\n async $_applyHide(e = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0, this.$_hideInProgress = !1;\n return;\n }\n if (clearTimeout(this.$_scheduleTimer), !this.isShown)\n return;\n this.skipTransition = e, de(d, this), d.length === 0 && document.body.classList.remove(\"v-popper--some-open\");\n for (const o of re(this.theme)) {\n const i = he(o);\n de(i, this), i.length === 0 && document.body.classList.remove(`v-popper--some-open--${o}`);\n }\n g === this && (g = null), this.isShown = !1, this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n }), clearTimeout(this.$_disposeTimer);\n const t = this.disposeTimeout;\n t !== null && (this.$_disposeTimer = setTimeout(() => {\n this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1);\n }, t)), this.$_removeEventListeners(\"scroll\"), this.$emit(\"apply-hide\"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await G(), this.classes.hideFrom = !1, this.classes.hideTo = !0;\n },\n $_autoShowHide() {\n this.shown ? this.show() : this.hide();\n },\n $_ensureTeleport() {\n if (this.isDisposed)\n return;\n let e = this.container;\n if (typeof e == \"string\" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e)\n throw new Error(\"No container for popover: \" + this.container);\n e.appendChild(this.$_popperNode), this.isMounted = !0;\n },\n $_addEventListeners() {\n const e = (o) => {\n this.isShown && !this.$_hideInProgress || (o.usedByTooltip = !0, !this.$_preventShow && this.show({ event: o }));\n };\n this.$_registerTriggerListeners(this.$_targetNodes, pe, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], pe, this.popperTriggers, this.popperShowTriggers, e);\n const t = (o) => {\n o.usedByTooltip || this.hide({ event: o });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, ae, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], ae, this.popperTriggers, this.popperHideTriggers, t);\n },\n $_registerEventListeners(e, t, o) {\n this.$_events.push({ targetNodes: e, eventType: t, handler: o }), e.forEach((i) => i.addEventListener(t, o, $ ? {\n passive: !0\n } : void 0));\n },\n $_registerTriggerListeners(e, t, o, i, s) {\n let r = o;\n i != null && (r = typeof i == \"function\" ? i(r) : i), r.forEach((p) => {\n const a = t[p];\n a && this.$_registerEventListeners(e, a, s);\n });\n },\n $_removeEventListeners(e) {\n const t = [];\n this.$_events.forEach((o) => {\n const { targetNodes: i, eventType: s, handler: r } = o;\n !e || e === s ? i.forEach((p) => p.removeEventListener(s, r)) : t.push(o);\n }), this.$_events = t;\n },\n $_refreshListeners() {\n this.isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners());\n },\n $_handleGlobalClose(e, t = !1) {\n this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit(\"close-directive\") : this.$emit(\"auto-hide\"), t && (this.$_preventShow = !0, setTimeout(() => {\n this.$_preventShow = !1;\n }, 300)));\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(e, t) {\n for (const o of this.$_targetNodes) {\n const i = o.getAttribute(e);\n i && (o.removeAttribute(e), o.setAttribute(t, i));\n }\n },\n $_applyAttrsToTarget(e) {\n for (const t of this.$_targetNodes)\n for (const o in e) {\n const i = e[o];\n i == null ? t.removeAttribute(o) : t.setAttribute(o, i);\n }\n },\n $_updateParentShownChildren(e) {\n let t = this.parentPopper;\n for (; t; )\n e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.pendingHide && t.hide()), t = t.parentPopper;\n },\n $_isAimingPopper() {\n const e = this.$_referenceNode.getBoundingClientRect();\n if (y >= e.left && y <= e.right && _ >= e.top && _ <= e.bottom) {\n const t = this.$_popperNode.getBoundingClientRect(), o = y - c, i = _ - m, r = t.left + t.width / 2 - c + (t.top + t.height / 2) - m + t.width + t.height, p = c + o * r, a = m + i * r;\n return C(c, m, p, a, t.left, t.top, t.left, t.bottom) || // Left edge\n C(c, m, p, a, t.left, t.top, t.right, t.top) || // Top edge\n C(c, m, p, a, t.right, t.top, t.right, t.bottom) || // Right edge\n C(c, m, p, a, t.left, t.bottom, t.right, t.bottom);\n }\n return !1;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document < \"u\" && typeof window < \"u\") {\n if (_e) {\n const e = $ ? {\n passive: !0,\n capture: !0\n } : !0;\n document.addEventListener(\"touchstart\", (t) => ue(t, !0), e), document.addEventListener(\"touchend\", (t) => fe(t, !0), e);\n } else\n window.addEventListener(\"mousedown\", (e) => ue(e, !1), !0), window.addEventListener(\"click\", (e) => fe(e, !1), !0);\n window.addEventListener(\"resize\", tt);\n}\nfunction ue(e, t) {\n if (h.autoHideOnMousedown)\n Pe(e, t);\n else\n for (let o = 0; o < d.length; o++) {\n const i = d[o];\n try {\n i.mouseDownContains = i.popperNode().contains(e.target);\n } catch {\n }\n }\n}\nfunction fe(e, t) {\n h.autoHideOnMousedown || Pe(e, t);\n}\nfunction Pe(e, t) {\n const o = {};\n for (let i = d.length - 1; i >= 0; i--) {\n const s = d[i];\n try {\n const r = s.containsGlobalTarget = s.mouseDownContains || s.popperNode().contains(e.target);\n s.pendingHide = !1, requestAnimationFrame(() => {\n if (s.pendingHide = !1, !o[s.randomId] && ce(s, r, e)) {\n if (s.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && r) {\n let a = s.parentPopper;\n for (; a; )\n o[a.randomId] = !0, a = a.parentPopper;\n return;\n }\n let p = s.parentPopper;\n for (; p && ce(p, p.containsGlobalTarget, e); ) {\n p.$_handleGlobalClose(e, t);\n p = p.parentPopper;\n }\n }\n });\n } catch {\n }\n }\n}\nfunction ce(e, t, o) {\n return o.closeAllPopover || o.closePopover && t || et(e, o) && !t;\n}\nfunction et(e, t) {\n if (typeof e.autoHide == \"function\") {\n const o = e.autoHide(t);\n return e.lastAutoHide = o, o;\n }\n return e.autoHide;\n}\nfunction tt() {\n for (let e = 0; e < d.length; e++)\n d[e].$_computePosition();\n}\nfunction Nt() {\n for (let e = 0; e < d.length; e++)\n d[e].hide();\n}\nlet c = 0, m = 0, y = 0, _ = 0;\ntypeof window < \"u\" && window.addEventListener(\"mousemove\", (e) => {\n c = y, m = _, y = e.clientX, _ = e.clientY;\n}, $ ? {\n passive: !0\n} : void 0);\nfunction C(e, t, o, i, s, r, p, a) {\n const l = ((p - s) * (t - r) - (a - r) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t)), u = ((o - e) * (t - r) - (i - t) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t));\n return l >= 0 && l <= 1 && u >= 0 && u <= 1;\n}\nconst ot = {\n extends: Q()\n}, B = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [i, s] of t)\n o[i] = s;\n return o;\n};\nfunction it(e, t, o, i, s, r) {\n return f(), T(\"div\", {\n ref: \"reference\",\n class: J([\"v-popper\", {\n \"v-popper--shown\": e.slotData.isShown\n }])\n }, [\n A(e.$slots, \"default\", ke(Le(e.slotData)))\n ], 2);\n}\nconst st = /* @__PURE__ */ B(ot, [[\"render\", it]]);\nfunction nt() {\n var e = window.navigator.userAgent, t = e.indexOf(\"MSIE \");\n if (t > 0)\n return parseInt(e.substring(t + 5, e.indexOf(\".\", t)), 10);\n var o = e.indexOf(\"Trident/\");\n if (o > 0) {\n var i = e.indexOf(\"rv:\");\n return parseInt(e.substring(i + 3, e.indexOf(\".\", i)), 10);\n }\n var s = e.indexOf(\"Edge/\");\n return s > 0 ? parseInt(e.substring(s + 5, e.indexOf(\".\", s)), 10) : -1;\n}\nlet z;\nfunction X() {\n X.init || (X.init = !0, z = nt() !== -1);\n}\nvar E = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: !1\n },\n ignoreWidth: {\n type: Boolean,\n default: !1\n },\n ignoreHeight: {\n type: Boolean,\n default: !1\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n X(), Fe(() => {\n this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize();\n });\n const e = document.createElement(\"object\");\n this._resizeObject = e, e.setAttribute(\"aria-hidden\", \"true\"), e.setAttribute(\"tabindex\", -1), e.onload = this.addResizeHandlers, e.type = \"text/html\", z && this.$el.appendChild(e), e.data = \"about:blank\", z || this.$el.appendChild(e);\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize());\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify), this.compareAndNotify();\n },\n removeResizeHandlers() {\n this._resizeObject && this._resizeObject.onload && (!z && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null);\n }\n }\n};\nconst rt = /* @__PURE__ */ Re(\"data-v-b329ee4c\");\nDe(\"data-v-b329ee4c\");\nconst pt = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\nIe();\nconst at = /* @__PURE__ */ rt((e, t, o, i, s, r) => (f(), M(\"div\", pt)));\nE.render = at;\nE.__scopeId = \"data-v-b329ee4c\";\nE.__file = \"src/components/ResizeObserver.vue\";\nconst Z = (e = \"theme\") => ({\n computed: {\n themeClass() {\n return Ze(this[e]);\n }\n }\n}), dt = O({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: E\n },\n mixins: [\n Z()\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(e) {\n return e != null && !isNaN(e) ? `${e}px` : null;\n }\n }\n}), lt = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"], ht = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n}, ut = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1), ft = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1), ct = [\n ut,\n ft\n];\nfunction mt(e, t, o, i, s, r) {\n const p = P(\"ResizeObserver\");\n return f(), T(\"div\", {\n id: e.popperId,\n ref: \"popover\",\n class: J([\"v-popper__popper\", [\n e.themeClass,\n e.classes.popperClass,\n {\n \"v-popper__popper--shown\": e.shown,\n \"v-popper__popper--hidden\": !e.shown,\n \"v-popper__popper--show-from\": e.classes.showFrom,\n \"v-popper__popper--show-to\": e.classes.showTo,\n \"v-popper__popper--hide-from\": e.classes.hideFrom,\n \"v-popper__popper--hide-to\": e.classes.hideTo,\n \"v-popper__popper--skip-transition\": e.skipTransition,\n \"v-popper__popper--arrow-overflow\": e.result && e.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !e.result\n }\n ]]),\n style: W(e.result ? {\n position: e.result.strategy,\n transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": e.shown ? \"false\" : \"true\",\n tabindex: e.autoHide ? 0 : void 0,\n \"data-popper-placement\": e.result ? e.result.placement : void 0,\n onKeyup: t[2] || (t[2] = je((a) => e.autoHide && e.$emit(\"hide\"), [\"esc\"]))\n }, [\n w(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: t[0] || (t[0] = (a) => e.autoHide && e.$emit(\"hide\"))\n }),\n w(\"div\", {\n class: \"v-popper__wrapper\",\n style: W(e.result ? {\n transformOrigin: e.result.transformOrigin\n } : void 0)\n }, [\n w(\"div\", ht, [\n e.mounted ? (f(), T(Ve, { key: 0 }, [\n w(\"div\", null, [\n A(e.$slots, \"default\")\n ]),\n e.handleResize ? (f(), M(p, {\n key: 0,\n onNotify: t[1] || (t[1] = (a) => e.$emit(\"resize\", a))\n })) : se(\"\", !0)\n ], 64)) : se(\"\", !0)\n ], 512),\n w(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: W(e.result ? {\n left: e.toPx(e.result.arrow.x),\n top: e.toPx(e.result.arrow.y)\n } : void 0)\n }, ct, 4)\n ], 4)\n ], 46, lt);\n}\nconst ee = /* @__PURE__ */ B(dt, [[\"render\", mt]]), te = {\n methods: {\n show(...e) {\n return this.$refs.popper.show(...e);\n },\n hide(...e) {\n return this.$refs.popper.hide(...e);\n },\n dispose(...e) {\n return this.$refs.popper.dispose(...e);\n },\n onResize(...e) {\n return this.$refs.popper.onResize(...e);\n }\n }\n};\nlet K = function() {\n};\ntypeof window < \"u\" && (K = window.Element);\nconst gt = O({\n name: \"VPopperWrapper\",\n components: {\n Popper: st,\n PopperContent: ee\n },\n mixins: [\n te,\n Z(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n },\n referenceNode: {\n type: Function,\n default: null\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: void 0\n },\n positioningDisabled: {\n type: Boolean,\n default: void 0\n },\n placement: {\n type: String,\n default: void 0\n },\n delay: {\n type: [String, Number, Object],\n default: void 0\n },\n distance: {\n type: [Number, String],\n default: void 0\n },\n skidding: {\n type: [Number, String],\n default: void 0\n },\n triggers: {\n type: Array,\n default: void 0\n },\n showTriggers: {\n type: [Array, Function],\n default: void 0\n },\n hideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperTriggers: {\n type: Array,\n default: void 0\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n container: {\n type: [String, Object, K, Boolean],\n default: void 0\n },\n boundary: {\n type: [String, K],\n default: void 0\n },\n strategy: {\n type: String,\n default: void 0\n },\n autoHide: {\n type: [Boolean, Function],\n default: void 0\n },\n handleResize: {\n type: Boolean,\n default: void 0\n },\n instantMove: {\n type: Boolean,\n default: void 0\n },\n eagerMount: {\n type: Boolean,\n default: void 0\n },\n popperClass: {\n type: [String, Array, Object],\n default: void 0\n },\n computeTransformOrigin: {\n type: Boolean,\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: void 0\n },\n autoSize: {\n type: [Boolean, String],\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: void 0\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: void 0\n },\n preventOverflow: {\n type: Boolean,\n default: void 0\n },\n overflowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowOverflow: {\n type: Boolean,\n default: void 0\n },\n flip: {\n type: Boolean,\n default: void 0\n },\n shift: {\n type: Boolean,\n default: void 0\n },\n shiftCrossAxis: {\n type: Boolean,\n default: void 0\n },\n noAutoFocus: {\n type: Boolean,\n default: void 0\n },\n disposeTimeout: {\n type: Number,\n default: void 0\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n computed: {\n finalTheme() {\n return this.theme ?? this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction wt(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$props, {\n theme: e.finalTheme,\n \"target-nodes\": e.getTargetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n class: [\n e.themeClass\n ],\n onShow: t[0] || (t[0] = () => e.$emit(\"show\")),\n onHide: t[1] || (t[1] = () => e.$emit(\"hide\")),\n \"onUpdate:shown\": t[2] || (t[2] = (l) => e.$emit(\"update:shown\", l)),\n onApplyShow: t[3] || (t[3] = () => e.$emit(\"apply-show\")),\n onApplyHide: t[4] || (t[4] = () => e.$emit(\"apply-hide\")),\n onCloseGroup: t[5] || (t[5] = () => e.$emit(\"close-group\")),\n onCloseDirective: t[6] || (t[6] = () => e.$emit(\"close-directive\")),\n onAutoHide: t[7] || (t[7] = () => e.$emit(\"auto-hide\")),\n onResize: t[8] || (t[8] = () => e.$emit(\"resize\"))\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n show: F,\n hide: v,\n handleResize: R,\n onResize: j,\n classes: V,\n result: Ee\n }) => [\n A(e.$slots, \"default\", {\n shown: u,\n show: F,\n hide: v\n }),\n ve(p, {\n ref: \"popperContent\",\n \"popper-id\": l,\n theme: e.finalTheme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": R,\n classes: V,\n result: Ee,\n onHide: v,\n onResize: j\n }, {\n default: N(() => [\n A(e.$slots, \"popper\", {\n shown: u,\n hide: v\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nconst k = /* @__PURE__ */ B(gt, [[\"render\", wt]]), Se = {\n ...k,\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}, be = {\n ...k,\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}, Ce = {\n ...k,\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}, $t = O({\n name: \"VTooltipDirective\",\n components: {\n Popper: Q(),\n PopperContent: ee\n },\n mixins: [\n te\n ],\n inheritAttrs: !1,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (e) => S(e.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (e) => S(e.theme, \"loadingContent\")\n },\n targetNodes: {\n type: Function,\n required: !0\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content == \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(!0);\n },\n immediate: !0\n },\n async finalContent() {\n await this.$nextTick(), this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(e) {\n if (typeof this.content == \"function\" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null, this.$_loading = !0;\n const t = ++this.$_fetchId, o = this.content(this);\n o.then ? o.then((i) => this.onResult(t, i)) : this.onResult(t, o);\n }\n },\n onResult(e, t) {\n e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t);\n },\n onShow() {\n this.$_isShown = !0, this.fetchContent();\n },\n onHide() {\n this.$_isShown = !1;\n }\n }\n}), vt = [\"innerHTML\"], yt = [\"textContent\"];\nfunction _t(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$attrs, {\n theme: e.theme,\n \"target-nodes\": e.targetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n onApplyShow: e.onShow,\n onApplyHide: e.onHide\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n hide: F,\n handleResize: v,\n onResize: R,\n classes: j,\n result: V\n }) => [\n ve(p, {\n ref: \"popperContent\",\n class: J({\n \"v-popper--tooltip-loading\": e.loading\n }),\n \"popper-id\": l,\n theme: e.theme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": v,\n classes: j,\n result: V,\n onHide: F,\n onResize: R\n }, {\n default: N(() => [\n e.html ? (f(), T(\"div\", {\n key: 0,\n innerHTML: e.finalContent\n }, null, 8, vt)) : (f(), T(\"div\", {\n key: 1,\n textContent: We(e.finalContent)\n }, null, 8, yt))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nconst ze = /* @__PURE__ */ B($t, [[\"render\", _t]]), Ae = \"v-popper--has-tooltip\";\nfunction Tt(e, t) {\n let o = e.placement;\n if (!o && t)\n for (const i of Te)\n t[i] && (o = i);\n return o || (o = S(e.theme || \"tooltip\", \"placement\")), o;\n}\nfunction Ne(e, t, o) {\n let i;\n const s = typeof t;\n return s === \"string\" ? i = { content: t } : t && s === \"object\" ? i = t : i = { content: !1 }, i.placement = Tt(i, o), i.targetNodes = () => [e], i.referenceNode = () => e, i;\n}\nlet x, b, Pt = 0;\nfunction St() {\n if (x)\n return;\n b = U([]), x = Ge({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives: b\n };\n },\n render() {\n return this.directives.map((t) => qe(ze, {\n ...t.options,\n shown: t.shown || t.options.shown,\n key: t.id\n }));\n },\n devtools: {\n hide: !0\n }\n });\n const e = document.createElement(\"div\");\n document.body.appendChild(e), x.mount(e);\n}\nfunction bt(e, t, o) {\n St();\n const i = U(Ne(e, t, o)), s = U(!1), r = {\n id: Pt++,\n options: i,\n shown: s\n };\n return b.value.push(r), e.classList && e.classList.add(Ae), e.$_popper = {\n options: i,\n item: r,\n show() {\n s.value = !0;\n },\n hide() {\n s.value = !1;\n }\n };\n}\nfunction He(e) {\n if (e.$_popper) {\n const t = b.value.indexOf(e.$_popper.item);\n t !== -1 && b.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget;\n }\n e.classList && e.classList.remove(Ae);\n}\nfunction me(e, { value: t, modifiers: o }) {\n const i = Ne(e, t, o);\n if (!i.content || S(i.theme || \"tooltip\", \"disabled\"))\n He(e);\n else {\n let s;\n e.$_popper ? (s = e.$_popper, s.options.value = i) : s = bt(e, t, o), typeof t.shown < \"u\" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? s.show() : s.hide());\n }\n}\nconst oe = {\n beforeMount: me,\n updated: me,\n beforeUnmount(e) {\n He(e);\n }\n};\nfunction ge(e) {\n e.addEventListener(\"mousedown\", H), e.addEventListener(\"click\", H), e.addEventListener(\"touchstart\", Oe, $ ? {\n passive: !0\n } : !1);\n}\nfunction we(e) {\n e.removeEventListener(\"mousedown\", H), e.removeEventListener(\"click\", H), e.removeEventListener(\"touchstart\", Oe), e.removeEventListener(\"touchend\", Me), e.removeEventListener(\"touchcancel\", Be);\n}\nfunction H(e) {\n const t = e.currentTarget;\n e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n}\nfunction Oe(e) {\n if (e.changedTouches.length === 1) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !0;\n const o = e.changedTouches[0];\n t.$_vclosepopover_touchPoint = o, t.addEventListener(\"touchend\", Me), t.addEventListener(\"touchcancel\", Be);\n }\n}\nfunction Me(e) {\n const t = e.currentTarget;\n if (t.$_vclosepopover_touch = !1, e.changedTouches.length === 1) {\n const o = e.changedTouches[0], i = t.$_vclosepopover_touchPoint;\n e.closePopover = Math.abs(o.screenY - i.screenY) < 20 && Math.abs(o.screenX - i.screenX) < 20, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n }\n}\nfunction Be(e) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !1;\n}\nconst ie = {\n beforeMount(e, { value: t, modifiers: o }) {\n e.$_closePopoverModifiers = o, (typeof t > \"u\" || t) && ge(e);\n },\n updated(e, { value: t, oldValue: o, modifiers: i }) {\n e.$_closePopoverModifiers = i, t !== o && (typeof t > \"u\" || t ? ge(e) : we(e));\n },\n beforeUnmount(e) {\n we(e);\n }\n}, Ht = h, Ot = oe, Mt = oe, Bt = ie, Et = ie, kt = Se, Lt = be, Dt = Q, It = ee, Ft = te, Rt = k, jt = Z, Vt = Ce, Wt = ze;\nfunction Ct(e, t = {}) {\n e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, ye(h, t), e.directive(\"tooltip\", oe), e.directive(\"close-popper\", ie), e.component(\"VTooltip\", Ce), e.component(\"VDropdown\", Se), e.component(\"VMenu\", be));\n}\nconst Gt = {\n // eslint-disable-next-line no-undef\n version: \"5.2.2\",\n install: Ct,\n options: h\n};\nexport {\n kt as Dropdown,\n ae as HIDE_EVENT_MAP,\n Lt as Menu,\n Dt as Popper,\n It as PopperContent,\n Ft as PopperMethods,\n Rt as PopperWrapper,\n pe as SHOW_EVENT_MAP,\n jt as ThemeClass,\n Vt as Tooltip,\n Wt as TooltipDirective,\n Bt as VClosePopper,\n Ot as VTooltip,\n bt as createTooltip,\n Gt as default,\n He as destroyTooltip,\n Nt as hideAllPoppers,\n Ct as install,\n Ht as options,\n Te as placements,\n tt as recomputeAllPoppers,\n Et as vClosePopper,\n Mt as vTooltip\n};\n","<script setup lang=\"ts\">\nimport { Tooltip } from 'floating-vue'\nimport { options } from 'floating-vue'\n\noptions.themes.tooltip.placement = 'top'\noptions.themes.tooltip.triggers = ['hover', 'focus', 'click']\n\n</script>\n\n<template>\n <Tooltip>\n <slot />\n <template #popper>\n <slot name=\"popper\" />\n </template>\n </Tooltip>\n</template>","<script setup lang=\"ts\">\n import \"@/scss/component/_ink-sidebar.scss\"\n import \"@/scss/component/_ink-sidebar-simple.scss\"\n import { handleSidebarTogglerClick } from '@/helper/handle-sidebar-toggler-click'\n import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\n import InkSidebarMenu from '@/components/ink-sidebar/InkSidebarMenu.vue'\n import { vInkTooltip } from '@/components/ink-tooltip/Ink-tooltip'\n import { onMounted } from 'vue'\n\n interface SwitchItem {\n id: string | number, // TODO 套用時跟後端確認:value 123 改用字串,後端改給 \"123\"; 之後後端 id to uuid \"a456\" 時前端不需要再修改\n name: string,\n logo: string,\n }\n interface MenuItemSchema {\n id: string,\n name: string,\n icon: string,\n route?: {\n name: string,\n [key: string]: string | number,\n },\n children?: MenuChildrenItemSchema[],\n isAllow?: boolean,\n }\ninterface MenuChildrenItemSchema { \n id: string | number,\n name: string,\n route: {\n name: string,\n [key: string]: string | number,\n },\n isAllow: boolean,\n }\n\n interface SidebarProps {\n currentAppName:string,\n currentMainSwitchItem:SwitchItem,\n mainSwitchItems:SwitchItem[],\n currentTabSwitchItemId?:string | number,\n tabSwitchItems?:SwitchItem[],\n menu: MenuItemSchema[],\n currentMenuItemId: string | number,\n }\n const props = defineProps<SidebarProps>()\n\n const emit = defineEmits(['mainItemCheckSwitch', 'tabItemCheckSwitch'])\n const onMainItemCheckSwitch = (item:SwitchItem, close:()=>void) => {\n emit('mainItemCheckSwitch', item, close)\n }\n const onTabItemCheckSwitch = (item:SwitchItem) => {\n emit('tabItemCheckSwitch', item)\n }\n const toggleSidebar = (e:Event) => {\n const isFolded = document.body.classList.contains('sidebar-folded');\n if (e.type === 'click') {\n handleSidebarTogglerClick();\n } else if (e.type === 'mouseenter' && isFolded) {\n document.body.classList.add('open-sidebar-folded');\n } else if (e.type === 'mouseleave' && isFolded) {\n document.body.classList.remove('open-sidebar-folded');\n }\n };\n // close sidebar when click outside on mobile/table\n const closeSidebar = (e:MouseEvent) => {\n if (!(e.target as HTMLElement).closest('#sidebar')) {\n document.body.classList.remove('sidebar-open');\n }\n };\n onMounted(() => {\n document.addEventListener('click', closeSidebar);\n });\n</script>\n<template>\n <nav id=\"sidebar\" class=\"sidebar tw-z-[1020] tw-overflow-hidden\">\n <div class=\"sidebar-header justify-content-start\">\n <button class=\"sidebar-toggler tw-flex-shrink-0\" @click.prevent.stop=\"toggleSidebar\">\n <i class=\"fas fa-bars\"></i>\n </button>\n <picture class=\"sidebar-brand\">\n <source media=\"(min-width:992px)\" srcset=\"/src/images/logo-light-lg.svg\"/>\n <img src=\"/src/images/logo-light-sm.svg\" alt=\"inkmagine logo\"/>\n </picture>\n </div>\n <div class=\"sidebar-body\" @mouseenter=\"toggleSidebar\" @mouseleave=\"toggleSidebar\">\n <!-- 集團列表 -->\n <ul v-if=\"tabSwitchItems\" id=\"console-list\" class=\"nav bloc_nav tw-flex-shrink-0 hover:!tw-w-[75px]\">\n <li\n v-for=\"item in tabSwitchItems\"\n :key=\"item.id\"\n :class=\"['nav-item', { active: item.id === currentTabSwitchItemId }]\"\n v-inkTooltip.right=\"item.name\"\n >\n <button\n type=\"button\"\n :class=\"['nav-link', { 'tw-cursor-default': item.id === currentTabSwitchItemId }]\"\n @click.prevent=\"onTabItemCheckSwitch(item)\"\n >\n <figure class=\"tw-border tw-border-solid tw-border-gray-300\">\n <img v-if=\"item.logo\" class=\"p-1\" :src=\"item.logo\" :alt=\"item.name\"/>\n </figure>\n </button>\n </li>\n </ul>\n\n <div class=\"nav\" v-scrollBar>\n <div class=\"nav__header\">\n <h3 class=\"nav__title nav-simple-hide\">{{ currentAppName }}</h3>\n <!-- 品牌列表 -->\n <Disclosure as=\"div\" class=\"brand-nav-item\">\n <DisclosureButton\n class=\"nav-link tw-font-semibold tw-border-0 tw-bg-transparent tw-text-left\"\n >\n <figure class=\"tw-border tw-border-solid tw-border-gray-300\">\n <img v-if=\"currentMainSwitchItem?.logo\" :src=\"currentMainSwitchItem.logo\" :alt=\"currentMainSwitchItem.name\"/>\n </figure>\n <span class=\"brand-nav-item__title link-title tw-break-words\">\n {{ currentMainSwitchItem.name }}\n </span>\n <i v-if=\"mainSwitchItems.length > 1\" class=\"fal fa-chevron-down fa-fw link-arrow\"></i>\n </DisclosureButton>\n <DisclosurePanel \n v-if=\"mainSwitchItems.length > 1\"\n v-slot=\"{ close }\"\n >\n <ul class=\"nav sub-menu\">\n <template v-for=\"item in mainSwitchItems\" :key=\"item.id\">\n <li \n v-if=\"item.id !== currentMainSwitchItem.id\" \n class=\"nav-item\"\n >\n <button type=\"button\" class=\"nav-link\" @click.prevent=\"onMainItemCheckSwitch( item, close)\">\n <figure class=\"tw-border tw-border-solid tw-border-gray-300\">\n <img v-if=\"item.logo\" :src=\"item.logo\" :alt=\"item.name\"/>\n </figure>\n <span class=\"link-title tw-text-left\">{{ item.name }}</span>\n </button>\n </li>\n </template>\n </ul>\n </DisclosurePanel>\n </Disclosure>\n <slot></slot>\n </div>\n <InkSidebarMenu :menu=\"menu\" :currentMenuItemId=\"currentMenuItemId\"/>\n </div>\n </div>\n </nav>\n</template>","<script setup lang=\"ts\">\nconst props = defineProps({\n descriptionText: {\n type: String,\n default: ''\n }\n})\n</script>\n<template>\n <em :class=\"'tw-field-message tw-block tw-w-full tw-break-all'\" v-html=\"props.descriptionText\"></em>\n</template>","// resources/docs/internal/articles/structure.md\ntype Base = {\n id: string;\n type: string;\n name?: string;\n require?: boolean | number[]; // resources/docs/internal/authors/structure.md\n slug?: string;\n description?: string;\n position?: 'left' | 'center' | 'right';\n tip?: string;\n} & Min & Max & Default & Ai;\n\ntype Default = {\n default?: string[] | number[] | boolean[] | object[] | [];\n}\ntype Min = {\n min?: number; // 0 is unlimited quantity\n}\ntype Max = {\n max?: number; // 0 is unlimited quantity\n}\ntype Ai = {\n ai?: string[];\n}\n\n\n// (Optional) see Cabinet /resources/docs/internal/fields/type.md\ntype Placeholder = {\n placeholder?: string;\n}\n\n// type Tip = {\n// tip?: string;\n// }\n// type Description = {\n// description?: string;\n// }\nexport type NumberLimit = [number | false, number | false];\nexport type FileLimit = [number, string[]];\nexport type TextLimit = [number, number];\nexport type DatetimerngLimit = [number, number];\ntype Limit = {\n /* false is no range\n Text: chars range\n Number: number range\n textarea: chars range\n hashtag: ??\n file: size, mime type\n image: width and height range\n */\n limit?: false | NumberLimit | TextLimit | FileLimit | DatetimerngLimit;\n}\n// type Type = {\n// type?: string;\n// }\n\ntype Step = {\n step?: number;\n}\n\ntype Prefix = {\n prefix?: string;\n}\ntype Suffix = {\n suffix?: string;\n}\n\n// image data\ntype Ratio = {\n ratio?: boolean | number[]; // false is no ratio\n}\ntype Viewport = {\n viewport?: boolean | number[]; // for display, false is no specific\n}\ntype Fluid = {\n fluid?: 'rectangle' | 'circle';\n}\n// END\n\n// type Position = {\n// position?: 'left' | 'center' | 'right';\n// }\n// type Slug = {\n// slug?: string;\n// }\n\n\n// option data for select, checkbox, radio\ntype Hierarchy = {\n hierarchy?: boolean;\n}\ntype Choosable = {\n choosable?: number[];\n}\ntype Total = {\n total?: number;\n};\ntype Options = {\n key?: string;\n name?: string;\n own?: boolean;\n status?: boolean;\n children?: Options[];\n total?: number;\n}\n\ntype OptionsObject = {\n options?: UnKnownOptions[];\n}\nexport type UnKnownOptions = {\n [key: string | number]: unknown;\n}\n\n// select\nexport type SelectReduceReturn = string | number | undefined | null;\nexport type SelectInputBind = {\n options?: SelectOptions[];\n label?: string;\n hasNextPage?: boolean;\n activeStyle?: boolean;\n optionDivider?: number[];\n openFn?: () => void;\n closeFn?: () => void;\n infiniteFn?: () => void;\n reduce?: (option: UnKnownOptions) => SelectReduceReturn;\n};\nexport type SelectOptions = {\n disabled?: boolean;\n depth?: number;\n} & UnKnownOptions;\n\n// hashtag\nexport type HashtagInputBind = {\n noDrop: boolean;\n loading: boolean;\n options?: HashtagOptions[];\n activeStyle?: boolean;\n} \ntype HashtagOptions = UnKnownOptions\n\n// checkbox \nexport type CheckBoxInputBind = {\n options?: CheckBoxOptions[];\n label?: string;\n valueKey?: string;\n hasNextPage?: boolean;\n infiniteFn?: () => void;\n}\n\nexport type CheckBoxOptions = {\n disabled?: boolean;\n depth?: number;\n} & UnKnownOptions;\n\n// radio\nexport type RadioInputBind = {\n options?: RadioOptions[];\n label?: string;\n valueKey?: string;\n hasNextPage?: boolean;\n infiniteFn?: () => void;\n}\n\nexport type RadioOptions = {\n disabled?: boolean;\n} & UnKnownOptions;\n\n// datetime picker\ntype DatePickerType = 'year' | 'month' | 'date' | 'datetime' | 'week';\n\nexport const RestrictTypeMode = {\n PAST: 'past',\n FUTURE: 'future',\n UNLIMITED: 'unlimited',\n} as const;\nexport type DatetimePickerInputBind = {\n timezone: string; // for display date and display UTC timezone. if need validate restrict, must be set timezone.\n isClearable?: boolean;\n format?: string;\n type?: DatePickerType;\n restrict: {\n restrictType?: (typeof RestrictTypeMode)[keyof typeof RestrictTypeMode]; \n shiftSecond?: number;\n }\n} & UnKnownOptions\n// END\n\n// datetimerange\nexport type DatetimerngInputBind = {\n timezone: string; // for display date and display UTC timezone. if need validate restrict, must be set timezone.\n isClearable?: boolean;\n activeStyle?: boolean;\n format?: string;\n type?: DatePickerType;\n} & UnKnownOptions\n// END\n\n// resources/docs/internal/fields/type.md\n\nexport type ModelValueSharp = Default;\n\nexport type TextSharp = Base & Placeholder & Prefix & Suffix & Limit;\nexport type TextareaSharp = Base & Placeholder & Limit;\nexport type UrlSharp = Base & Placeholder;\nexport type SelectSharp = Base & OptionsObject & Total & Choosable & Hierarchy & Placeholder;\nexport type HashtagSharp = Base & Placeholder & Limit;\nexport type CheckBoxSharp = Base & OptionsObject & Total & Choosable & Hierarchy;\nexport type RadioSharp = Base & OptionsObject & Total;\nexport type SwitchSharp = Base;\nexport type DatetimeSharp = Base & Placeholder;\nexport type DatetimerngSharp = Base & Limit;\n\nexport type FieldDataSharp = Base & TextSharp & Step & Ratio & Viewport & Fluid & Hierarchy & Choosable & OptionsObject & Total;","import { computed, Ref } from \"vue\";\nimport type { CheckBoxInputBind, SelectInputBind, SelectReduceReturn, UnKnownOptions, DatetimePickerInputBind, DatetimerngInputBind, HashtagInputBind } from \"@/components/input/field-data-interface\";\nimport { RestrictTypeMode } from \"@/components/input/field-data-interface\";\nimport { utcTimezone } from \"@/helper/dayjs\";\n\nexport const singleFieldTypes = ['select', 'checkbox', 'radio', 'switch', 'datetime', 'date', 'datetimerng', 'daterng', 'hashtag'];\n\nexport const defaultInputProps = {\n valueIndex: {\n type: Number,\n default: 0\n },\n required: {\n type: Boolean,\n default:false\n },\n disabled: {\n type: Boolean,\n default:false\n },\n inputTotal: {\n type: Number,\n default: 0\n },\n inputOn: {\n type: Object,\n },\n}\n\nexport const fieldDefaultValue = (type: string) => {\n return{\n id: '',\n type: type,\n max: 1,\n limit: false,\n }\n}\n\nexport const useMergeFieldProps = <T extends Record<string, unknown>>(type: string, field: Ref<T>) => { \n const defaultField = fieldDefaultValue(type);\n const mergeField = computed(() => {\n return {\n ...defaultField,\n ...field.value,\n }\n });\n // console.log('field',field);\n // console.log('mergeField',mergeField.value);\n const minLength = computed(() => {\n return Array.isArray(mergeField.value.limit) && typeof mergeField.value.limit[0] === 'number' && mergeField.value.limit[0] ? mergeField.value.limit[0] : undefined;\n });\n const maxLength = computed(() => {\n return Array.isArray(mergeField.value.limit) && typeof mergeField.value.limit[1] === 'number' && mergeField.value.limit[1] ? mergeField.value.limit[1] : undefined;\n });\n const checkFieldMax = computed(() => { \n if (mergeField.value.max) {\n return mergeField.value.max;\n } else if (mergeField.value.max === 0) {\n return Infinity;\n }\n return 1;\n }\n )\n return { mergeField, minLength, maxLength, checkFieldMax };\n}\n\n// vue select series\nconst defaultAllSelectInputBind = () => {\n return {\n activeStyle: false,\n optionDivider: [],\n options: [],\n label: 'name',\n filterable: false,\n clearable: true,\n autoscroll: false,\n }\n}\n// select series (single select)\nconst defaultSelectInputBind = () => {\n return {\n ...defaultAllSelectInputBind(),\n hasNextPage: false,\n searchable: false,\n reduce: (option: UnKnownOptions) => option.key as SelectReduceReturn,\n selectable: (option: UnKnownOptions) => !option.disabled,\n infiniteFn: undefined as (() => void) | undefined,\n openFn: undefined as (() => void) | undefined,\n closeFn: undefined as (() => void) | undefined,\n }\n}\nexport const useMergeSelectInputBind = (inputBind: Ref<Record<string, unknown>>) => {\n const mergeInputBind = computed<SelectInputBind>(() => {\n return {\n ...defaultSelectInputBind(),\n ...inputBind.value,\n }\n })\n const clearInputBind = computed<SelectInputBind>(() => {\n const clearInputBind:Record<string, unknown> = {}\n Object.keys(mergeInputBind.value).forEach(key => {\n if(key !== 'infiniteFn' && key !== 'openFn' && key !== 'closeFn' && key !== 'hasNextPage' && key !== 'activeStyle' && key !== 'optionDivider'){\n clearInputBind[key] = mergeInputBind.value[key as keyof SelectInputBind];\n }\n })\n return clearInputBind;\n });\n return { mergeInputBind, clearInputBind };\n}\n\n// hashtag series (multiple select)\n// noDrop, , loading,\nconst defaultHashtagInputBind = () => {\n return {\n ...defaultAllSelectInputBind(),\n searchable: true,\n }\n}\nexport const useMergeHashtagInputBind = (inputBind: Ref<Record<string, unknown>>) => {\n const mergeInputBind = computed(() => {\n return {\n ...defaultHashtagInputBind(),\n ...inputBind.value,\n noDrop: inputBind.value.noDrop,\n loading: inputBind.value.loading,\n }\n })\n const clearInputBind = computed(() => {\n const clearInputBind: Record<string, unknown> = {}\n Object.keys(mergeInputBind.value).forEach(key => {\n if(key !== 'activeStyle'){\n clearInputBind[key] = mergeInputBind.value[key as keyof HashtagInputBind];\n }\n })\n return clearInputBind;\n });\n return { mergeInputBind, clearInputBind };\n}\n// checkbox\nconst defaultCheckBoxInputBind = (): CheckBoxInputBind => {\n return {\n hasNextPage: false,\n options: [],\n }\n}\nexport const useMergeCheckBoxInputBind = (inputBind: Ref<Record<string, unknown>>) => { \n const mergeInputBind = computed<CheckBoxInputBind>(() => {\n return {\n ...defaultCheckBoxInputBind() as CheckBoxInputBind,\n ...inputBind.value,\n }\n })\n const clearInputBind = computed(() => {\n const clearInputBind: Record<string, unknown> = {}\n Object.keys(mergeInputBind.value).forEach(key => {\n if(key !== 'hasNextPage' && key !== 'infiniteFn' && key !== 'options' && key !== 'label' && key !== 'valueKey'){\n clearInputBind[key] = mergeInputBind.value[key as keyof CheckBoxInputBind];\n }\n })\n return clearInputBind;\n });\n\n // console.log('mergeInputBind',mergeInputBind.value);\n return { mergeInputBind, clearInputBind };\n}\n\n// all datetime\nconst defaultAllDatetimeInputBind = () => { \n return {\n isClearable: true,\n clearable: false,\n teleported: false, // for click now (is-text)\n }\n}\nconst defaultAllDatetimeMethod = () => {\n\n const mainInputModeNone = () => {\n\n }\n const panelInputModeNone = () => {\n const popperEls = document.querySelectorAll(`.js-datetime-popper`);\n popperEls.forEach((popperEl) => {\n const inputEls = popperEl.querySelectorAll('input');\n if (inputEls) {\n inputEls.forEach(inputEl => {\n inputEl.setAttribute(\"inputmode\", \"none\");\n })\n }\n })\n }\n const panelTimezone = (timezone:DatetimePickerInputBind['timezone']) => {\n if(!timezone) return;\n let els = document.querySelectorAll<HTMLElement>('.el-picker-panel__footer');\n els.forEach(el => {\n let remarkTimezone = el.querySelector<HTMLElement>('.js-remarkTimezone');\n if (remarkTimezone) return;\n let utcEl = document.createElement('span');\n utcEl.className = 'js-remarkTimezone remark-timezone tw-text-gray tw-text-sm mr-auto';\n utcEl.textContent = `(${utcTimezone(timezone)})`;\n el.prepend(utcEl);\n })\n }\n\n return {\n panelInputModeNone,\n panelTimezone,\n }\n}\n\n// datetime series\nconst defaultDatetimePickerInputBind = () => { \n return {\n ...defaultAllDatetimeInputBind(),\n restrict: {\n restrictType: RestrictTypeMode.UNLIMITED,\n shiftSecond: 0,\n },\n }\n}\nexport const useMergeDatetimePickerInputBind = (inputBind: Ref<Record<string, unknown>>) => {\n const mergeInputBind = computed<DatetimePickerInputBind>(() => {\n return {\n ...defaultDatetimePickerInputBind(),\n ...inputBind.value,\n timezone: inputBind.value.timezone as DatetimePickerInputBind['timezone'],\n popperClass: `${inputBind.value.popperClass} js-datetime-popper`,\n }\n })\n\n const clearInputBind = computed(() => {\n const clearInputBind: Record<string, unknown> = {}\n Object.keys(mergeInputBind.value).forEach(key => {\n if(key !== 'isClearable' && key !== 'restrict' && key !== 'timezone'){\n clearInputBind[key] = mergeInputBind.value[key as keyof DatetimePickerInputBind];\n }\n })\n return clearInputBind;\n })\n \n return { mergeInputBind, clearInputBind, ...defaultAllDatetimeMethod() };\n}\n\n// datetimerange series\nconst defaultDatetimerngInputBind = () => { \n return {\n ...defaultAllDatetimeInputBind(),\n activeStyle: false,\n }\n}\nexport const useMergeDatetimerngInputBind = (inputBind: Ref<Record<string, unknown>>) => { \n const mergeInputBind = computed<DatetimerngInputBind>(() => {\n return {\n ...defaultDatetimerngInputBind(),\n ...inputBind.value,\n timezone: inputBind.value.timezone as DatetimePickerInputBind['timezone'],\n popperClass: `${inputBind.value.popperClass} js-datetime-popper`,\n }\n })\n const clearInputBind = computed(() => {\n const clearInputBind: Record<string, unknown> = {}\n Object.keys(mergeInputBind.value).forEach(key => {\n if(key !== 'isClearable' && key !== 'activeStyle' && key !== 'timezone'){\n clearInputBind[key] = mergeInputBind.value[key as keyof DatetimerngInputBind];\n }\n })\n return clearInputBind;\n })\n return { mergeInputBind, clearInputBind, ...defaultAllDatetimeMethod() };\n}","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-form.scss';\nimport { InkVTooltip } from '@/components/ink-tooltip/Ink-tooltip';\nimport InkButton from '@/components/InkButton.vue';\nimport { t } from '@/helper/i18n';\nimport { defineAsyncComponent, computed, watch, toRef, onMounted, nextTick } from 'vue';\nimport type { FieldDataSharp, UnKnownOptions} from '@/components/input/field-data-interface';\nimport { useFieldArray } from 'vee-validate';\nimport InkFieldMessage from '@/components/input/InkFieldMessage.vue';\nimport { fieldDefaultValue, useMergeFieldProps } from '@/components/input/input-default-value';\nimport { singleFieldTypes } from '@/components/input/input-default-value';\ninterface DraggableItemOrder {\n inputId: string;\n value: string | number | boolean | object;\n }\ninterface FieldProps {\n field: FieldDataSharp; // field require for attribute required calculate data\n disabled?: boolean; // for attribute disabled\n required?: boolean; // for attribute required\n inputBind?: Record<string, any>;\n inputOn?: Record<string, any>;\n}\n\nconst props = withDefaults(defineProps<FieldProps>(), {\n});\n\n\nconst componentMap = {\n text: defineAsyncComponent(() => import('@/components/input/InkText.vue')),\n url: defineAsyncComponent(() => import('@/components/input/InkUrl.vue')),\n textarea: defineAsyncComponent(() => import('@/components/input/InkTextarea.vue')),\n select: defineAsyncComponent(() => import('@/components/input/InkSelect.vue')),\n hashtag: defineAsyncComponent(() => import('@/components/input/InkHashtag.vue')),\n checkbox: defineAsyncComponent(() => import('@/components/input/InkCheckbox.vue')),\n radio: defineAsyncComponent(() => import('@/components/input/InkRadio.vue')),\n switch: defineAsyncComponent(() => import('@/components/input/InkSwitch.vue')),\n datetime: defineAsyncComponent(() => import('@/components/input/InkDatetime.vue')),\n date: defineAsyncComponent(() => import('@/components/input/InkDatetime.vue')),\n datetimerng: defineAsyncComponent(() => import('@/components/input/InkDatetimerng.vue')),\n daterng: defineAsyncComponent(() => import('@/components/input/InkDatetimerng.vue')),\n} as const;\n\ntype FieldType = keyof typeof componentMap;\n\n// 使用 computed 來獲取當前的欄位類型\nconst fieldType = computed(() => props.field.type as FieldType);\n\nconst { checkFieldMax, mergeField } = useMergeFieldProps<FieldDataSharp>(fieldType.value, toRef(props, 'field'));\n\n// watch(() => props.field, (newField) => {\n// console.log('watch field d1',newField);\n// }, { deep: true });\n\nconst dynamicComponent = computed(() => {\n return componentMap[mergeField.value.type as FieldType];\n});\n\n\n// 根據欄位類型返回對應的值類型 (邊做 input 的 .vue 邊測試這裡的 type 是否可行,會因應使用的套件而不同)\ntype GetFieldValueType<T extends FieldType> = \n T extends 'text' | 'slug' | 'email' | 'url' | 'password' | 'time' | 'textarea' | 'html'\n ? string \n : T extends 'number' | 'datetime' | 'date' | 'datetimerng' | 'daterng'\n ? number | undefined\n : T extends 'switch' \n ? boolean \n : T extends 'json' | 'hashtag'\n ? object \n : T extends 'select' | 'checkbox' | 'radio'\n ? UnKnownOptions[] | string[] | number[] | null | undefined\n : T extends 'file' | 'image'\n ? number | object\n : never;\n\n\n// 使用 fieldType.value 來決定 useFieldArray 的類型\nconst { remove, push, fields, update, replace } = useFieldArray<GetFieldValueType<typeof fieldType.value>>(mergeField.value.id);\n\nconst inputTotal = computed(() => fields.value.length);\n\nconst onRemoveItemHandler = (index: number) => {\n remove(index);\n};\n\nconst onUpdateItem = (index: number, value: GetFieldValueType<typeof fieldType.value>) => {\n update(index, value);\n};\n\nconst onPushItem = () => {\n switch (fieldType.value) {\n case 'text':\n // case 'slug':\n // case 'email':\n case 'url':\n // case 'password':\n // case 'time':\n case 'textarea':\n // case 'html':\n push('');\n break;\n case 'checkbox':\n case 'radio':\n case 'hashtag':\n break;\n case 'daterng':\n case 'datetimerng':\n push([undefined, undefined]);\n break;\n default:\n push(undefined);\n break;\n }\n}\n\nonMounted(async () => {\n await nextTick()\n if (fields.value.length === 0) {\n onPushItem()\n }\n})\n\n</script>\n\n<template>\n <fieldset \n class=\"js-dynamic-component tw-flex tw-flex-wrap tw-gap-2\"\n :data-field-type=\"mergeField.type\"\n :class=\"{\n 'tw-flex-row tw-items-center': mergeField.type === 'switch',\n 'tw-flex-col': mergeField.type !== 'switch',\n }\"\n >\n <div v-if=\"mergeField.name\" :class=\"['tw-text-base tw-font-semibold tw-flex tw-items-center tw-gap-1']\">\n {{ mergeField.name }}\n <InkVTooltip v-if=\"mergeField.tip\">\n <button type=\"button\" class=\"tw-btn-transparent tw-btn-icon-xs\"><i class=\"fa-regular fa-circle-info\"></i></button>\n <template #popper>\n {{ mergeField.tip }}\n </template>\n </InkVTooltip>\n <span v-if=\"required && mergeField.type !== 'switch'\" class=\"tw-text-primary-500\">\n {{ t('requiredHint') }}\n </span>\n </div>\n <!-- <slot/> -->\n <template v-if=\"!singleFieldTypes.includes(mergeField.type)\">\n <component \n v-for=\"(item, valueIndex) in fields\"\n :key=\"`${item.key}-${valueIndex}`\"\n :is=\"dynamicComponent\"\n :valueIndex=\"valueIndex\"\n :inputTotal=\"inputTotal\"\n :field=\"mergeField\"\n :required=\"required\"\n :disabled=\"disabled\"\n @removeInputItemFn=\"onRemoveItemHandler\"\n :inputBind=\"inputBind\"\n :inputOn=\"inputOn\"\n >\n </component>\n </template>\n <template v-else>\n <component \n :is=\"dynamicComponent\"\n :inputTotal=\"inputTotal\"\n :field=\"mergeField\"\n :required=\"required\"\n :disabled=\"disabled\"\n @removeInputItemFn=\"onRemoveItemHandler\"\n :inputBind=\"inputBind\"\n :inputOn=\"inputOn\"\n >\n </component>\n </template>\n <InkFieldMessage v-if=\"mergeField.description\" :descriptionText=\"mergeField.description\"/>\n <template v-if=\"!singleFieldTypes.includes(mergeField.type)\">\n <InkButton\n v-if=\"inputTotal < checkFieldMax\"\n as=\"button\"\n type=\"button\"\n variant=\"txt\"\n theme=\"outline-gray\"\n size=\"md\"\n class=\"tw-self-start\"\n @click=\"onPushItem\"\n :disabled=\"disabled\"\n >\n <i class=\"far fa-plus tw-text-base\"></i>\n {{ t('add') }}\n </InkButton>\n </template>\n </fieldset>\n</template>","<script setup lang=\"ts\">\n\n</script>\n<template>\n <div class=\"input-wrapper tw-flex tw-flex-col tw-flex-grow tw-gap-1\">\n <slot/>\n </div>\n</template>\n\n","<script setup lang=\"ts\">\n\n</script>\n<template>\n <div class=\"input-inner tw-flex tw-gap-2 tw-items-center\">\n <slot/>\n </div>\n</template>\n\n","<script setup lang=\"ts\">\nconst props = defineProps({\n errorText: {\n type: String,\n default: ''\n }\n});\n</script>\n<template>\n <em :class=\"'tw-error-message tw-block tw-w-full tw-break-all'\">{{ props.errorText }}</em>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { singleFieldTypes } from '@/components/input/input-default-value';\n\ninterface InputFrameProps {\n max: number;\n inputTotal?: number;\n disabled?: boolean;\n inputType?: string;\n}\n\nconst props = withDefaults(defineProps<InputFrameProps>(), {\n inputTotal: 0\n});\n\nconst classList = computed(() => {\n const list = []\n if (props.inputType === 'textarea' || props.inputType === 'json') {\n list.push('tw-border-b', 'tw-self-start', 'tw-rounded-bl-lg', 'tw-rounded-tr-lg')\n } else {\n list.push('tw-rounded-r')\n }\n return list\n})\n\nconst emit = defineEmits(['removeComponent']);\n</script>\n<template>\n <div class=\"input-frame tw-flex tw-flex-grow tw-relative\">\n <slot/>\n <template v-if=\"inputType && !singleFieldTypes.includes(inputType)\">\n <button\n type=\"button\"\n v-if=\"(disabled && max === Infinity) || max > 1\"\n :class=\"['tw-btn-remove', 'tw-absolute', 'tw-inset-y-[1px]', 'tw-right-[1px]', 'tw-border-l', classList]\"\n @click.prevent=\"emit('removeComponent')\"\n :disabled=\"inputTotal <= 1\"\n >\n <i class=\"far fa-trash\"></i>\n </button>\n </template>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { useField } from 'vee-validate';\nimport { computed, type PropType, toRef } from \"vue\";\nimport type { TextSharp } from '@/components/input/field-data-interface';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps } from '@/components/input/input-default-value';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<TextSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<Record<string, unknown>>,\n default: () => ({}),\n },\n});\n\nconst {mergeField, minLength, maxLength, checkFieldMax} = useMergeFieldProps<TextSharp>('text', toRef(props, 'field'));\n\nconst rules = computed(() => ({\n required: props.required,\n wordLimit: mergeField.value.limit,\n}));\n\nconst { value, errorMessage } = useField<string>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\nconst emit = defineEmits(['removeInputItemFn']);\n\n</script>\n<template>\n <InputWrapper>\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n {{ mergeField.prefix }}\n <InputFrame \n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <input\n type=\"text\"\n :minlength=\"minLength\"\n :maxlength=\"maxLength\"\n :class=\"['form-control tw-input-txt tw-w-full', { 'tw-border-danger-400': errorMessage }]\"\n v-model.trim=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n :placeholder=\"mergeField.placeholder\"\n v-bind=\"inputBind\"\n v-on=\"inputOn\"\n @keydown.enter.prevent\n />\n </InputFrame>\n {{ mergeField.suffix }}\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>\n","<script setup lang=\"ts\">\nimport { useField } from 'vee-validate';\nimport { computed, type PropType, toRef } from \"vue\";\nimport type { UrlSharp } from '@/components/input/field-data-interface';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps } from '@/components/input/input-default-value';\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<UrlSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<Record<string, unknown>>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<UrlSharp>('url', toRef(props, 'field'));\n\n\nconst rules = computed(() => ({\n required: props.required,\n url: true,\n}));\n\nconst { value, errorMessage } = useField<string>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\n</script>\n<template>\n <InputWrapper>\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n <InputFrame \n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <input\n type=\"url\"\n :class=\"['form-control tw-input-txt tw-w-full', { 'tw-border-danger-400': errorMessage }]\"\n v-model.trim=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n :placeholder=\"mergeField.placeholder\"\n v-bind=\"inputBind\"\n v-on=\"inputOn\"\n @keydown.enter.prevent\n />\n </InputFrame>\n <!-- InputInner for other input type suffix in here -->\n </InputInner>\n <!-- error message -->\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>\n","<script setup lang=\"ts\">\nimport { useField } from 'vee-validate';\nimport { computed, type PropType, toRef } from \"vue\";\nimport type { TextareaSharp } from '@/components/input/field-data-interface';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport InkWordCount from '@/components/input/InkWordCount.vue';\nimport { defaultInputProps, useMergeFieldProps } from '@/components/input/input-default-value';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<TextareaSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<Record<string, unknown>>,\n default: () => ({}),\n },\n});\n\nconst {mergeField, minLength, maxLength, checkFieldMax} = useMergeFieldProps<TextareaSharp>('textarea', toRef(props, 'field'));\n\nconst rules = computed(() => ({\n required: props.required,\n wordLimit: mergeField.value.limit,\n}));\n\nconst { value, errorMessage } = useField<string>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\nconst emit = defineEmits(['removeInputItemFn']);\n\n</script>\n<template>\n <InputWrapper>\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n <InputFrame \n :inputType=\"mergeField.type\"\n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <div :class=\"['tw-textarea tw-w-full', { 'tw-border-danger-400': errorMessage }]\">\n <textarea\n rows=\"5\"\n :minlength=\"minLength\"\n :maxlength=\"maxLength\"\n :class=\"['form-control tw-w-full']\"\n v-model.trim=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n :placeholder=\"mergeField.placeholder\"\n v-bind=\"inputBind\"\n v-on=\"inputOn\"\n @keydown.enter.prevent\n />\n </div>\n </InputFrame>\n </InputInner>\n <InkWordCount v-if=\"maxLength\" :maxLength=\"maxLength\" :wordCount=\"value.length\" />\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>\n","<script setup lang=\"ts\">\nimport '@/scss/component/vue-select/_ink-vue-select.scss';\nimport { computed, useTemplateRef, defineEmits, nextTick, type PropType, watch, toRef, ref } from 'vue';\nimport vSelect from 'vue-select'\nimport { useField } from 'vee-validate';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeSelectInputBind } from '@/components/input/input-default-value';\nimport { SelectSharp } from '@/components/input/field-data-interface';\nimport { t } from '@/helper/i18n';\nimport type { SelectInputBind, UnKnownOptions, SelectReduceReturn } from '@/components/input/field-data-interface';\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<SelectSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<SelectInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<SelectSharp>('select', toRef(props, 'field'));\nconst { mergeInputBind, clearInputBind } = useMergeSelectInputBind(toRef(props, 'inputBind'));\n\nconst isObserver = ref(false);\nconst load = useTemplateRef('load');\nconst infiniteScrollHandler = async ([{ isIntersecting, target }]: IntersectionObserverEntry[]) => {\n if (isIntersecting) {\n const ul = (target as HTMLElement).offsetParent as HTMLElement;\n const scrollTop = ul.scrollTop;\n if(mergeInputBind.value.infiniteFn){\n mergeInputBind.value.infiniteFn();\n }\n const watchOptions = watch(() => mergeInputBind.value.options, () => {\n ul.scrollTop = scrollTop;\n watchOptions();\n })\n }\n}\nconst observer = new IntersectionObserver(infiniteScrollHandler)\nconst checkAndObserver = () => { \n if (mergeInputBind.value.hasNextPage && load.value && !isObserver.value) {\n observer.observe(load.value);\n isObserver.value = true;\n }\n}\nconst disconnectObserver = () => {\n observer.disconnect();\n isObserver.value = false;\n}\nconst onOpen = async () => {\n await nextTick()\n checkAndObserver();\n // emit('openFn');\n if(mergeInputBind.value.openFn){\n mergeInputBind.value.openFn();\n }\n}\nconst onClose = () => {\n disconnectObserver();\n // emit('closeFn');\n if(mergeInputBind.value.closeFn){\n mergeInputBind.value.closeFn();\n }\n}\nwatch(() => load.value, async () => {\n if (!isObserver.value && load.value) {\n // for first time search\n await nextTick()\n checkAndObserver();\n } else {\n // for open dropdown and do search\n disconnectObserver();\n }\n})\n// get infinite data end\n\nconst rules = computed(() => ({\n required: props.required,\n}));\n\nconst { value, errorMessage, setValue } = useField<SelectReduceReturn | UnKnownOptions>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\nwatch(()=>value.value, (newVal) => {\n if(newVal && typeof newVal === 'object' && newVal !== null){\n if(mergeInputBind.value.reduce){\n const reduceValue = mergeInputBind.value.reduce(newVal);\n if(!reduceValue){\n setValue(mergeInputBind.value.reduce(newVal));\n }\n }else{\n console.warn('InkSelect - inputBind.reduce is not defined. Please check it.');\n }\n }\n}, { immediate: true });\n\n// style\nconst elStyle = computed(() => {\n return {\n 'active': mergeInputBind.value.activeStyle && value.value,\n 'is-error': errorMessage.value,\n 'option-0-divider': mergeInputBind.value.optionDivider?.some((item: number) => item === 0),\n 'option-1-divider': mergeInputBind.value.optionDivider?.some((item: number) => item === 1),\n 'option-2-divider': mergeInputBind.value.optionDivider?.some((item: number) => item === 2),\n };\n});\n\n</script>\n<template>\n <InputWrapper>\n <InputInner>\n <InputFrame\n :inputType=\"field.type\"\n :max=\"checkFieldMax\" \n :disabled=\"disabled\"\n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <!-- :dropdownShouldOpen=\"() => true\" -->\n <!-- @option:selected=\"onSelected\" -->\n <v-select\n v-model=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n :placeholder=\"mergeField.placeholder || t('select')\"\n @open=\"onOpen\"\n @close=\"onClose\"\n class=\"tw-w-full\"\n :class=\"elStyle\"\n :inputId=\"`${mergeField.id}[${props.valueIndex}]`\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n >\n <!-- 選項內容 -->\n <template #option=\"options\">\n <div :class=\"['option']\">\n <span \n class=\"tw-mr-2.5 tw-rounded-sm tw-py-1\"\n :style=\"{ 'padding-left': `calc(${options.depth > 0 ? options.depth - 1 : 0}em + 0.5rem)` }\"\n >\n <i v-if=\"options.depth > 0\" class=\"fal fa-angle-left -tw-rotate-45\"></i>\n {{ options[clearInputBind?.label || 'name'] }}\n </span>\n </div>\n </template>\n <template v-if=\"disabled\" #open-indicator=\"{ attributes }\">\n <!-- 自定義圖示或完全空白 -->\n {{ null }}\n </template>\n <template #list-footer>\n <li v-show=\"mergeInputBind.hasNextPage\" ref=\"load\" class=\"loader tw-text-sm tw-text-gray-600 tw-italic\">\n {{ t('loading') }}\n </li>\n </template>\n </v-select>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>\n<!-- <style lang=\"postcss\" scoped>\n.v-select.vs--single {\n :deep(.vs__dropdown-menu) {\n --vs-dropdown-min-width: auto;\n }\n}\n</style> -->","<script setup lang=\"ts\">\nimport '@/scss/component/vue-select/_ink-vue-select.scss';\nimport { computed, defineEmits, onMounted, type PropType, toRef, watch, useTemplateRef } from 'vue';\nimport vSelect from 'vue-select'\nimport { useField } from 'vee-validate';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeHashtagInputBind } from '@/components/input/input-default-value';\nimport { t } from '@/helper/i18n';\nimport type { HashtagInputBind, UnKnownOptions, HashtagSharp } from '@/components/input/field-data-interface';\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<HashtagSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<HashtagInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<HashtagSharp>('hashtag', toRef(props, 'field'));\nconst { mergeInputBind, clearInputBind } = useMergeHashtagInputBind(toRef(props, 'inputBind'));\n\n\nconst rules = computed(() => ({\n required: props.required,\n itemLimit: [mergeField.value.min, mergeField.value.max],\n}));\n\nconst { value, errorMessage, setValue } = useField<UnKnownOptions[]>(`${mergeField.value.id}`, rules);\n\n// style\nconst elStyle = computed(() => {\n return {\n 'active': mergeInputBind.value.activeStyle && value.value,\n 'is-error': errorMessage.value,\n };\n});\n\n// const deleteSelectItemIsEmpty = ()=>{\n// if(value.value.length === 0)return;\n// value.value = value.value.filter((item: UnKnownOptions) => item);\n// }\nonMounted(() => {\n // deleteSelectItemIsEmpty();\n});\nconst vSelectRef = useTemplateRef<InstanceType<typeof vSelect>>('vSelectRef');\nwatch(value, () => {\n vSelectRef.value?.searchEl.focus();\n})\n\n</script>\n<template>\n <InputWrapper>\n <InputInner>\n <InputFrame\n :inputType=\"field.type\"\n :max=\"checkFieldMax\" \n :disabled=\"disabled\"\n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <!-- :dropdownShouldOpen=\"() => true\" -->\n <!-- @option:selected=\"onSelected\" -->\n <v-select\n ref=\"vSelectRef\"\n v-model=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n :placeholder=\"mergeField.placeholder\"\n class=\"tw-w-full\"\n :class=\"elStyle\"\n :inputId=\"`${mergeField.id}`\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n :taggable=\"!mergeField.limit\"\n :filterable=\"mergeField.limit\"\n multiple\n >\n <!-- 選項內容 -->\n <template #option=\"{ name }\">\n <div :class=\"['option']\">\n <span \n class=\"tw-mr-2.5 tw-rounded-sm tw-py-1\"\n >\n {{ name }}\n </span>\n </div>\n </template>\n <!-- 鎖定時不顯示刪除按鈕 -->\n <template v-if=\"disabled\" #selected-option-container=\"{ option }\">\n <div class=\"vs__selected\">{{ option.name }}</div>\n </template>\n\n <!-- 無選項內容 -->\n <template #no-options>\n {{ t('noResultsFound') }}\n </template>\n <template #open-indicator=\"{ attributes }\">\n <!-- 自定義圖示或完全空白 -->\n {{ null }}\n </template>\n <template #list-footer>\n </template>\n </v-select>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>","<script setup lang=\"ts\">\nimport { ref, computed, type PropType, watch, toRef, useId } from \"vue\";\nimport { useField } from 'vee-validate';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeCheckBoxInputBind } from '@/components/input/input-default-value';\nimport { useIntersectionObserver } from '@vueuse/core';\nimport type { CheckBoxSharp, CheckBoxInputBind, UnKnownOptions} from '@/components/input/field-data-interface';\n// import InkCheckBoxInput from '@/components/input/InkCheckBoxInput.vue';\nimport { t } from '@/helper/i18n';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<CheckBoxSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<CheckBoxInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<CheckBoxSharp>('checkbox', toRef(props, 'field'));\nconst { mergeInputBind, clearInputBind } = useMergeCheckBoxInputBind(toRef(props, 'inputBind'));\n\nconst checkedValueKey = computed(() => {\n const key = mergeInputBind.value.valueKey || 'key'\n if(!mergeInputBind.value.options?.[0]?.hasOwnProperty(key)){\n console.warn(`InkCheckbox - the key \"${key}\" is not in the options, please check the options and the inputBind.valueKey. inputBind.valueKey default is \"key\"`);\n }\n return key;\n});\nconst onChange = (id: number | string, event: Event) => {\n const isChecked = (event.target as HTMLInputElement).checked;\n // let newValue = isChecked ? [...value.value, id] : value.value.filter(item => item !== id);\n let newValue;\n if(isChecked){\n // newValue = [...value.value, id];\n newValue = value.value.filter(item => item !== undefined).concat(id);\n }else{\n newValue = value.value.filter(item => {\n if(typeof item === 'object' && item !== null){\n return item[checkedValueKey.value] !== id && item !== undefined;\n }else{\n return item !== id && item !== undefined;\n }\n });\n }\n if(newValue.length === 0){\n newValue = [undefined];\n }\n // emit('update:modelValue', newValue);\n handleChange(newValue);\n};\nconst isChecked = (id: number | string) => {\n return value.value.some(item => {\n if(typeof item === 'object' && item !== null){\n return item[checkedValueKey.value] === id;\n }else{\n return item === id;\n }\n });\n}\n\n// get infinite data start\nconst root = ref(null)\nconst load = ref(null)\n\nconst IntersectionObserver = useIntersectionObserver(\n load,\n ([entry]) => {\n if (!entry.isIntersecting) return;\n // emit('infiniteHandler');\n if(mergeInputBind.value.infiniteFn){\n mergeInputBind.value.infiniteFn();\n }\n },\n { root },\n)\nwatch(() => mergeInputBind.value.hasNextPage, (newValue) => {\n // console.log('IntersectionObserver',IntersectionObserver)\n if (newValue) {\n IntersectionObserver.resume();\n } else {\n IntersectionObserver.pause();\n }\n}, { immediate: true })\n// get infinite data end\nconst rules = computed(() => ({\n required: props.required,\n}));\nconst { value, errorMessage, handleChange } = useField<number[] | string[] | UnKnownOptions[]>(mergeField.value.id, rules);\n\n</script>\n\n<template>\n <InputWrapper>\n <InputInner>\n <InputFrame\n :inputType=\"mergeField.type\"\n :max=\"checkFieldMax\" \n :disabled=\"disabled\"\n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <div \n v-for=\"option in mergeInputBind.options\" \n :key=\"useId()\" \n class=\"form-check tw-mt-0 [&+div]:tw-mt-3\"\n :style=\"{ 'margin-left': option.depth + 'em' }\"\n >\n <label\n :class=\"[\n 'form-check-label',\n {\n 'form-check-label-disabled': disabled || option.disabled,\n 'tw-text-danger-400': errorMessage,\n },\n ]\">\n <!-- <InkCheckBoxInput\n :name=\"mergeField.id\"\n :value=\"option[checkedValueKey] as string | number | undefined\"\n :required=\"required\"\n :disabled=\"disabled || option.disabled\"\n v-on=\"inputOn\"\n >{{ option[mergeInputBind.label || 'name'] }}</InkCheckBoxInput> -->\n <input \n v-model=\"value\"\n type=\"checkbox\" \n class=\"form-check-input tw-peer\"\n :value=\"option[checkedValueKey] as string | number\" \n :disabled=\"disabled || option.disabled\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n />\n {{ option[mergeInputBind.label || 'name'] }}\n <i :class=\"['tw-check', { 'tw-border-danger-400': errorMessage }]\"></i>\n </label>\n </div>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n <div v-show=\"mergeInputBind.hasNextPage\" ref=\"load\" class=\"tw-text-sm tw-text-gray-600 tw-italic\">{{ t('loading') }}</div>\n</template>\n","<script setup lang=\"ts\">\nimport { ref, computed, type PropType, watch, toRef, useId } from \"vue\";\nimport { useField } from 'vee-validate';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeCheckBoxInputBind } from '@/components/input/input-default-value';\nimport { useIntersectionObserver } from '@vueuse/core';\nimport type { RadioSharp, RadioInputBind, UnKnownOptions} from '@/components/input/field-data-interface';\n\nimport { t } from '@/helper/i18n';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<RadioSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<RadioInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<RadioSharp>('radio', toRef(props, 'field'));\n // because radio current is similar to checkbox, so use the same function to merge inputBind,\n // but if radio is not similar to checkbox, please use the different function to merge inputBind\nconst { mergeInputBind, clearInputBind } = useMergeCheckBoxInputBind(toRef(props, 'inputBind'));\n\nconst checkedValueKey = computed(() => {\n const key = mergeInputBind.value.valueKey || 'key'\n if(!mergeInputBind.value.options?.[0]?.hasOwnProperty(key)){\n console.warn(`InkRadio - the key \"${key}\" is not in the options, please check the options and the inputBind.valueKey. inputBind.valueKey default is \"key\"`);\n }\n return key;\n});\nconst onChange = (id: number | string, event: Event) => {\n const isChecked = (event.target as HTMLInputElement).checked;\n // let newValue = isChecked ? [...value.value, id] : value.value.filter(item => item !== id);\n let newValue = undefined;\n if(isChecked){\n newValue = id;\n }\n\n handleChange(newValue);\n};\nconst isChecked = (id: number | string) => {\n if(typeof value.value === 'object' && value.value !== null){\n return value.value[checkedValueKey.value] === id;\n }else{\n return value.value === id;\n }\n}\n\n// get infinite data start\nconst root = ref(null)\nconst load = ref(null)\n\nconst IntersectionObserver = useIntersectionObserver(\n load,\n ([entry]) => {\n if (!entry.isIntersecting) return;\n // emit('infiniteHandler');\n if(mergeInputBind.value.infiniteFn){\n mergeInputBind.value.infiniteFn();\n }\n },\n { root },\n)\nwatch(() => mergeInputBind.value.hasNextPage, (newValue) => {\n // console.log('IntersectionObserver',IntersectionObserver)\n if (newValue) {\n IntersectionObserver.resume();\n } else {\n IntersectionObserver.pause();\n }\n}, { immediate: true })\n// get infinite data end\nconst rules = computed(() => ({\n required: props.required,\n}));\nconst { value, errorMessage, handleChange } = useField<number | string | UnKnownOptions>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\n</script>\n\n<template>\n <InputWrapper>\n <InputInner>\n <InputFrame\n :inputType=\"mergeField.type\"\n :max=\"checkFieldMax\" \n :disabled=\"disabled\"\n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <div \n class=\"form-radio tw-mt-0 tw-flex tw-flex-col tw-gap-2\"\n >\n <label\n v-for=\"option in mergeInputBind.options\" \n :key=\"useId()\" \n :class=\"[\n 'form-radio-label',\n {\n 'form-check-label-disabled': disabled || option.disabled,\n 'tw-text-danger-400': errorMessage,\n },\n ]\">\n <input \n v-model=\"value\"\n type=\"radio\" \n class=\"form-check-input tw-peer\"\n :value=\"option[checkedValueKey] as string | number\" \n :disabled=\"disabled || option.disabled\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n />\n {{ option[mergeInputBind.label || 'name'] }}\n <i :class=\"['tw-radio', { 'tw-border-danger-400': errorMessage }]\"></i>\n </label>\n </div>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n <div v-show=\"mergeInputBind.hasNextPage\" ref=\"load\" class=\"tw-text-sm tw-text-gray-600 tw-italic\">{{ t('loading') }}</div>\n</template>\n","<script setup lang=\"ts\">\nimport { useField } from 'vee-validate';\nimport { computed, type PropType, toRef } from 'vue';\nimport { defaultInputProps, useMergeFieldProps } from '@/components/input/input-default-value';\nimport type { SwitchSharp } from '@/components/input/field-data-interface';\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<SwitchSharp>,\n required: true,\n },\n});\n\nconst emit = defineEmits(['removeInputItemFn']);\n\nconst {mergeField, checkFieldMax} = useMergeFieldProps<SwitchSharp>('switch', toRef(props, 'field'));\n\nconst onChange = () => {\n handleChange(!value.value);\n};\nconst rules = computed(() => ({\n required: props.required,\n}));\n\nconst { value, errorMessage, handleChange } = useField<boolean>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\n</script>\n<template>\n <InputWrapper>\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n <InputFrame \n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <button\n type=\"button\"\n :class=\"[\n 'tw-switch',\n value ? 'tw-bg-secondary-800' : 'tw-bg-gray-400',\n ]\"\n :disabled=\"disabled\"\n @click=\"onChange()\"\n >\n <input\n type=\"checkbox\"\n :checked=\"value\"\n :disabled=\"disabled\"\n readonly\n hidden\n />\n <span class=\"tw-sr-only\">Enable notifications</span>\n <span\n :class=\"value ? 'tw-translate-x-4' : 'tw-translate-x-0'\"\n class=\"tw-inline-block tw-h-3 tw-w-3 tw-transform tw-rounded-full tw-bg-white tw-transition\"\n />\n </button>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"errorMessage\" :errorText=\"errorMessage\"/>\n </InputWrapper>\n</template>\n","<script setup lang=\"ts\">\nimport { ElConfigProvider } from 'element-plus';\nimport type { Language } from 'element-plus/es/locale'\nimport { ref, watchEffect } from 'vue';\nimport { inkI18n } from '@/helper/i18n';\nimport { useRestAttrs } from '@/helper/useAttrs'\n\nconst restAttrs = useRestAttrs()\n\nconst locale = ref<Language>();\n\nwatchEffect(async () => {\n switch (inkI18n.global.locale.value) {\n case 'zh-tw':\n locale.value = (await import('element-plus/es/locale/lang/zh-tw')).default\n break\n case 'en-us':\n locale.value = (await import('element-plus/es/locale/lang/en')).default\n break\n case 'ja-jp':\n locale.value = (await import('element-plus/es/locale/lang/ja')).default\n break\n default:\n locale.value = (await import('element-plus/es/locale/lang/en')).default\n }\n})\n</script>\n\n<template>\n <ElConfigProvider \n :locale=\"locale\"\n v-bind=\"restAttrs\"\n >\n <slot />\n </ElConfigProvider>\n</template>","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-element-plus-datetime.scss';\nimport { ElDatePicker } from 'element-plus';\nimport 'element-plus/es/components/date-picker/style/css';\nimport { computed, onMounted, PropType, useTemplateRef, toRef, watch, ref } from \"vue\";\nimport { useField } from \"vee-validate\";\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeDatetimePickerInputBind } from '@/components/input/input-default-value';\nimport type { DatetimeSharp, DatetimePickerInputBind } from '@/components/input/field-data-interface';\nimport dayjs, { formatTimeToUnix, formatUnixTime } from '@/helper/dayjs';\nimport { RestrictTypeMode } from '@/components/input/field-data-interface';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<DatetimeSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<DatetimePickerInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\nconst { mergeField, checkFieldMax } = useMergeFieldProps<DatetimeSharp>(props.field.type, toRef(props, 'field'));\nconst { mergeInputBind, clearInputBind, panelInputModeNone, panelTimezone } = useMergeDatetimePickerInputBind(toRef(props, 'inputBind'));\n\nconst datetimeType = computed(() => {\n if(mergeInputBind.value.type) return mergeInputBind.value.type;\n switch(mergeField.value.type){\n case 'date':\n return 'date'\n default:\n return 'datetime'\n }\n});\nconst datetimeFormat = computed(() => {\n if(mergeInputBind.value.format) return mergeInputBind.value.format;\n switch(mergeField.value.type){\n case 'date':\n return 'YYYY/MM/DD'\n default:\n return 'YYYY/MM/DD HH:mm'\n }\n});\nconst clearTime = () => {\n handleChange(undefined);\n displayValue.value = undefined;\n};\nconst disabledDate = (date: Date) => {\n if(mergeInputBind.value.restrict.restrictType === RestrictTypeMode.PAST) {\n return dayjs.tz(date, mergeInputBind.value.timezone).unix() > dayjs.tz(dayjs(), mergeInputBind.value.timezone).endOf('day').unix()\n };\n if(mergeInputBind.value.restrict.restrictType === RestrictTypeMode.FUTURE) {\n return dayjs.tz(date, mergeInputBind.value.timezone).unix() < dayjs.tz(dayjs(), mergeInputBind.value.timezone).startOf('day').unix()\n };\n return false;\n}\n\nconst startDatePickerRef = useTemplateRef('startDatePicker');\n\nconst elStyle = computed(() => {\n return {\n 'tw-border-danger-400': startErrorMessage.value,\n 'tw-disabled': props.disabled,\n };\n});\n\nconst datetimeWrapperClick = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n if (target.classList.contains('is-text') || target.closest('.is-text')) {\n displayValue.value = dayjs.tz(dayjs(), mergeInputBind.value.timezone).format(datetimeFormat.value)\n }\n}\n\nonMounted(() => {\n const datePickerRefs = [startDatePickerRef.value];\n datePickerRefs.forEach((datePickerRef) => {\n const inputEls = datePickerRef?.$el.nextSibling.querySelectorAll('input');\n if (inputEls) {\n inputEls.forEach((inputEl: HTMLInputElement) => {\n inputEl.setAttribute(\"inputmode\", \"none\");\n })\n }\n })\n panelInputModeNone();\n panelTimezone(mergeInputBind.value.timezone);\n})\n\nconst rules = computed(() => ({\n required: props.required,\n datetimeRestrict: [mergeInputBind.value.restrict, mergeInputBind.value.timezone, datetimeFormat.value]\n}));\nconst { value: startValue, errorMessage: startErrorMessage, handleChange } = useField<number | undefined>(`${mergeField.value.id}[${props.valueIndex}]`, rules);\n\nconst displayValue = ref<string | undefined>();\nwatch(startValue, () => {\n if(startValue.value) {\n displayValue.value = formatUnixTime(mergeInputBind.value.timezone, startValue.value, datetimeFormat.value);\n }else{\n displayValue.value = undefined;\n }\n})\nwatch(displayValue, (newVal, oldVal) => {\n if (newVal) {\n if(newVal === oldVal) return;\n const targetTime = dayjs.tz(newVal, mergeInputBind.value.timezone).format();\n const utcTimestamp = formatTimeToUnix(targetTime);\n handleChange(utcTimestamp);\n }else{\n handleChange(undefined);\n }\n})\n</script>\n\n<template>\n <InputWrapper\n :data-field-id=\"mergeField.id\"\n >\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n <InputFrame \n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <div\n :class=\"[\n 'data-time-picker',\n elStyle\n ]\"\n @click=\"datetimeWrapperClick\"\n >\n <el-date-picker\n ref=\"startDatePicker\"\n v-model=\"displayValue\"\n class=\"datetime-picker-input\"\n :placeholder=\"mergeField.placeholder\"\n :disabled=\"disabled\"\n :disabled-date=\"disabledDate\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n :type=\"datetimeType\"\n :format=\"datetimeFormat\"\n :value-format=\"datetimeFormat\"\n />\n <button\n v-if=\"mergeInputBind.isClearable && !disabled && startValue\"\n type=\"button\"\n class=\"tw-relative tw-px-1 before:tw-absolute before:-tw-inset-2.5 before:tw-content-['']\"\n @click.prevent=\"clearTime\"\n >\n <i class=\"far fa-times-circle tw-text-xs tw-text-gray-700\"></i>\n </button>\n </div>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"startErrorMessage\" :errorText=\"startErrorMessage\"/>\n </InputWrapper>\n</template>\n\n<style lang=\"postcss\" scoped>\n</style>\n","<script setup lang=\"ts\">\nimport '@/scss/component/_ink-element-plus-datetime.scss';\nimport { ElDatePicker } from 'element-plus';\nimport 'element-plus/es/components/date-picker/style/css';\nimport { computed, onMounted, PropType, useTemplateRef, toRef, ref, watch } from \"vue\";\nimport { useField } from \"vee-validate\";\nimport InputWrapper from '@/components/input/InputWrapper.vue';\nimport InputInner from '@/components/input/InputInner.vue';\nimport InkErrorMessage from '@/components/input/InkErrorMessage.vue';\nimport InputFrame from '@/components/input/InputFrame.vue';\nimport { defaultInputProps, useMergeFieldProps, useMergeDatetimerngInputBind } from '@/components/input/input-default-value';\nimport type { DatetimerngSharp, DatetimerngInputBind } from '@/components/input/field-data-interface';\nimport dayjs, { formatTimeToUnix, convertUnixToStartOf, formatUnixTime } from '@/helper/dayjs';\nimport { t } from '@/helper/i18n';\n\nconst props = defineProps({\n ...defaultInputProps,\n field: {\n type: Object as PropType<DatetimerngSharp>,\n required: true,\n },\n inputBind: {\n type: Object as PropType<DatetimerngInputBind>,\n default: () => ({}),\n },\n});\nconst emit = defineEmits(['removeInputItemFn']);\nconst { mergeField, checkFieldMax,minLength, maxLength } = useMergeFieldProps<DatetimerngSharp>(props.field.type, toRef(props, 'field'));\nconst { mergeInputBind, clearInputBind, panelInputModeNone, panelTimezone } = useMergeDatetimerngInputBind(toRef(props, 'inputBind'));\n\nconst rngElType = computed(() => {\n if(mergeInputBind.value.type) return mergeInputBind.value.type;\n switch(mergeField.value.type){\n case 'daterng':\n return 'date'\n default:\n return 'datetime'\n }\n});\nconst rngElFormat = computed(() => {\n if(mergeInputBind.value.format) return mergeInputBind.value.format;\n switch(mergeField.value.type){\n case 'daterng':\n return 'YYYY/MM/DD'\n default:\n return 'YYYY/MM/DD HH:mm'\n }\n});\nconst clearTime = () => {\n handleChangeStart(undefined);\n handleChangeEnd(undefined);\n displayStartValue.value = undefined;\n displayEndValue.value = undefined;\n startValueUnix.value = undefined;\n endValueUnix.value = undefined;\n};\nconst startDisabledDate = (date: Date) => {\n if(minLength.value && formatTimeToUnix(date) < minLength.value){\n return true;\n }\n if(maxLength.value && formatTimeToUnix(date) > maxLength.value){\n return true;\n }\n if(endValue.value && formatTimeToUnix(date) > endValue.value ){\n return true\n }\n return false;\n}\nconst endDisabledDate = (date: Date) => {\n if(minLength.value && formatTimeToUnix(date) < minLength.value){\n return true;\n }\n if(maxLength.value && formatTimeToUnix(date) > maxLength.value){\n return true;\n }\n if(startValue.value && formatTimeToUnix(date) < convertUnixToStartOf(startValue.value)){\n return true;\n }\n return false;\n}\nconst startDatePickerRef = useTemplateRef('startDatePicker');\nconst endDatePickerRef = useTemplateRef('endDatePicker');\n\nconst elStyle = computed(() => {\n return {\n 'tw-border-danger-400': startErrorMessage.value || endErrorMessage.value,\n 'tw-border-secondary-700': mergeInputBind.value.activeStyle && (startValue.value || endValue.value),\n 'tw-disabled': props.disabled,\n };\n});\n\nonMounted(() => {\n const datePickerRefs = [startDatePickerRef.value, endDatePickerRef.value];\n datePickerRefs.forEach((datePickerRef) => {\n const inputEls = datePickerRef?.$el.nextSibling.querySelectorAll('input');\n if (inputEls) {\n inputEls.forEach((inputEl: HTMLInputElement) => {\n inputEl.setAttribute(\"inputmode\", \"none\");\n })\n }\n })\n panelInputModeNone();\n panelTimezone(mergeInputBind.value.timezone);\n})\n\n// type ValidationRules = {\n// required: boolean;\n// datetimerngStartLimit?: [number | undefined, false | NumberLimit | TextLimit | FileLimit | DatetimerngLimit, string, unknown];\n// datetimerngEndLimit?: [number | undefined, false | NumberLimit | TextLimit | FileLimit | DatetimerngLimit, string, unknown];\n// };\n\nconst startValueUnix = ref<number | undefined>();\nconst endValueUnix = ref<number | undefined>();\nconst displayStartValue = ref<string | undefined>();\nconst displayEndValue = ref<string | undefined>();\n\nconst startRules = computed(() => ({\n required: props.required,\n datetimerngStartLimit: [endValueUnix.value, minLength.value, maxLength.value, mergeInputBind.value.timezone, mergeInputBind.value.format]\n}));\n\nconst endRules = computed(() => ({\n required: props.required,\n datetimerngEndLimit: [startValueUnix.value, minLength.value, maxLength.value, mergeInputBind.value.timezone, mergeInputBind.value.format]\n}));\n\nconst { value: startValue, errorMessage: startErrorMessage, handleChange: handleChangeStart } = useField<number | undefined>(`${mergeField.value.id}[${props.valueIndex}][0]`, startRules);\nconst { value: endValue, errorMessage: endErrorMessage, handleChange: handleChangeEnd } = useField<number | undefined>(`${mergeField.value.id}[${props.valueIndex}][1]`, endRules);\n\n// 同步 ref 值\nwatch(startValue, () => {\n if(startValue.value) {\n displayStartValue.value = formatUnixTime(mergeInputBind.value.timezone, startValue.value, rngElFormat.value);\n startValueUnix.value = startValue.value;\n } else {\n displayStartValue.value = undefined;\n startValueUnix.value = undefined;\n }\n});\nwatch(endValue, () => {\n if(endValue.value) {\n displayEndValue.value = formatUnixTime(mergeInputBind.value.timezone, endValue.value, rngElFormat.value);\n endValueUnix.value = endValue.value;\n } else {\n displayEndValue.value = undefined;\n endValueUnix.value = undefined;\n }\n});\n\nwatch(displayStartValue, (newVal, oldVal) => {\n if (newVal) {\n if(newVal === oldVal) return;\n const targetTime = dayjs.tz(newVal, mergeInputBind.value.timezone).format();\n const utcTimestamp = formatTimeToUnix(targetTime);\n handleChangeStart(utcTimestamp);\n startValueUnix.value = utcTimestamp;\n }else{\n handleChangeStart(undefined);\n startValueUnix.value = undefined;\n }\n})\nwatch(displayEndValue, (newVal, oldVal) => {\n if(newVal) {\n const targetTime = dayjs.tz(newVal, mergeInputBind.value.timezone).format();\n const utcTimestamp = formatTimeToUnix(targetTime);\n handleChangeEnd(utcTimestamp);\n endValueUnix.value = utcTimestamp;\n }else{\n handleChangeEnd(undefined);\n endValueUnix.value = undefined;\n }\n})\nconst datetimeWrapperClick = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n if ((target.classList.contains('is-text') || target.closest('.is-text'))) {\n if (target.closest('.js-start-datetime-popper')) {\n displayStartValue.value = dayjs.tz(dayjs(), mergeInputBind.value.timezone).format(rngElFormat.value)\n } else if(target.closest('.js-end-datetime-popper')){\n displayEndValue.value = dayjs.tz(dayjs(), mergeInputBind.value.timezone).format(rngElFormat.value)\n }\n }\n}\n</script>\n\n<template>\n <InputWrapper\n :data-field-id=\"mergeField.id\"\n >\n <!-- InputWrapper for group error message, other input type wordcount, etc. -->\n <InputInner>\n <!-- InputInner for other input type prefix in here -->\n <InputFrame \n :max=\"checkFieldMax\" \n :disabled=\"disabled\" \n :inputTotal=\"inputTotal\"\n @removeComponent=\"emit('removeInputItemFn', valueIndex)\"\n >\n <div\n :class=\"[\n 'data-time-picker',\n elStyle\n ]\"\n @click=\"datetimeWrapperClick\"\n >\n <el-date-picker\n ref=\"startDatePicker\"\n v-model=\"displayStartValue\"\n class=\"datetime-picker-input datetimerng-input\"\n :placeholder=\"t('startDate')\"\n :disabled=\"disabled\"\n :disabled-date=\"startDisabledDate\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n :type=\"rngElType\"\n :format=\"rngElFormat\"\n :value-format=\"rngElFormat\"\n :popper-class=\"`${mergeInputBind.popperClass} js-start-datetime-popper`\"\n />\n <i class=\"far fa-arrow-right tw-text-xs tw-text-gray-700\"></i>\n <el-date-picker\n ref=\"endDatePicker\"\n v-model=\"displayEndValue\"\n class=\"datetime-picker-input datetimerng-input\"\n :placeholder=\"t('endDate')\"\n :disabled=\"disabled\"\n :disabled-date=\"endDisabledDate\"\n v-bind=\"clearInputBind\"\n v-on=\"inputOn\"\n :type=\"rngElType\"\n :format=\"rngElFormat\"\n :value-format=\"rngElFormat\"\n :popper-class=\"`${mergeInputBind.popperClass} js-end-datetime-popper`\"\n />\n <button\n v-if=\"mergeInputBind.isClearable && !disabled\"\n type=\"button\"\n class=\"tw-relative tw-px-1 before:tw-absolute before:-tw-inset-2.5 before:tw-content-['']\"\n @click.prevent=\"clearTime\"\n >\n <i class=\"far fa-times-circle tw-text-xs tw-text-gray-700\"></i>\n </button>\n </div>\n </InputFrame>\n </InputInner>\n <InkErrorMessage v-if=\"startErrorMessage || endErrorMessage\" :errorText=\"startErrorMessage || endErrorMessage\"/>\n </InputWrapper>\n</template>\n\n<style lang=\"postcss\" scoped>\n</style>\n","export const InkSetFont = (userLanguage = 'en-us') => {\n document.documentElement.lang = userLanguage;\n // add google font\n let fontStyleLink = document.createElement('link');\n fontStyleLink.rel = 'stylesheet';\n if (userLanguage === 'zh-tw') {\n fontStyleLink.href = 'https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400..700&display=swap'\n } else if (userLanguage === 'ja-jp') {\n fontStyleLink.href = 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&display=swap';\n } else {\n }\n document.head.appendChild(fontStyleLink);\n}","import { defineRule } from 'vee-validate';\nimport { t } from '@/helper/i18n';\nimport type { NumberLimit, FileLimit, DatetimerngLimit, DatetimePickerInputBind } from '@/components/input/field-data-interface';\nimport { formatUnixTime, formatValueOfTime, formatTimeToUnix } from '@/helper/dayjs';\nimport { RestrictTypeMode } from '@/components/input/field-data-interface';\nexport default () => {\n // from sandwich\n defineRule('required', (value: any) => {\n if (typeof value === 'number') return true;\n if (typeof value === 'boolean') return true;\n if (typeof value === 'string' && value.trim() !== '') return true; // string is not empty\n if (Array.isArray(value) && value[0]) return true; // array is not empty\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) return true; // object is not empty, if object is for empty object, change value to undefined || null\n return t('required');\n });\n\n // defineRule('matchRatio', (value: any, [valueWidth, valueHeight, reqWidth, reqHeight]: [number, number, number, number]) => {\n // if(!value) return true; // 如果沒有值,則不進行檢查,交由required檢查\n // if (typeof reqWidth === 'undefined') return true;\n // // 計算實際比例和要求比例\n // const actualRatio = valueWidth / valueHeight;\n // const requiredRatio = reqWidth / reqHeight;\n \n // // 計算基於3px誤差的可接受比例範圍\n // const tolerance = 3 / valueHeight; // 將3px轉換為比例誤差\n \n // // 檢查實際比例是否在可接受範圍內\n // if (Math.abs(actualRatio - requiredRatio) > tolerance) {\n // return t('notMatchRatio');\n // }\n // return true;\n // });\n\n // defineRule('slug', (value: string) => { \n // if (!value) return true;\n // const pattern = /^[a-z0-9\\.\\-\\_]+$/;\n // if (!pattern.test(value)) return t('isSlug');\n // return true;\n // })\n\n // form cabinet\n defineRule('wordLimit', (value: string, [min, max]: [number, number]) => {\n if (typeof value === 'undefined') return true; // for removed item data\n\n min = min === 0 ? -Infinity : min;\n max = max === 0 ? Infinity : max;\n\n const length = value ? value.trim().length : 0;\n if (length < min) {\n return t('isLessThenTextLimit', {length: min});\n }\n if (length > max) {\n return t('isMoreThenTextLimit', {length: max});\n }\n return true;\n });\n defineRule('itemLimit', (value: string, [min, max]: [number, number]) => {\n if ( !value || typeof value === 'undefined') return true; // for removed item data\n\n min = min === 0 ? -Infinity : min;\n max = max === 0 ? Infinity : max;\n\n const length = value.length;\n if (length < min) {\n return t('isLessThenMin', {length: min});\n }\n if (length > max) {\n return t('isMoreThenMax', {length: max});\n }\n return true;\n });\n // defineRule('numberLimit', (value: number, [min, max]: NumberLimit) => {\n // if (typeof value === 'undefined') return true; // for removed item data\n\n // min = min === false ? -Infinity : min;\n // max = max === false ? Infinity : max;\n\n // if (value < min) {\n // return t('isLessThenNumberLimit', {length: min});\n // }\n // if (value > max) {\n // return t('isMoreThenNumberLimit', {length: max});\n // }\n // return true;\n // });\n\n defineRule('datetimeRestrict', (value: number, [restrict, timezone, format]: [DatetimePickerInputBind['restrict'], string, string]) => {\n if (restrict.restrictType === RestrictTypeMode.UNLIMITED) return true;\n \n const restrictTimestamp = formatTimeToUnix() + (restrict.shiftSecond || 0);\n if(restrict.restrictType === RestrictTypeMode.PAST && value > restrictTimestamp ) {\n return t('isLessThenDatetimeRestrict', {datetime: formatUnixTime(timezone, restrictTimestamp, format)});\n }\n if(restrict.restrictType === RestrictTypeMode.FUTURE && value < restrictTimestamp ) {\n return t('isMoreThenDatetimeRestrict', {datetime: formatUnixTime(timezone, restrictTimestamp, format)});\n }\n return true\n });\n defineRule('datetimerngStartLimit', (value: number, [endValue, minLength, maxLength, timezone, format]: [number, number, number, string, string]) => {\n if (typeof value === 'undefined') return true;\n if (minLength && value < minLength) {\n return t('startTimeMustEarlierThanEndTime');\n }\n if (maxLength && value > maxLength) {\n return t('startTimeMustEarlierThanEndTime');\n }\n if (endValue && value > endValue) {\n return t('startTimeMustEarlierThanEndTime');\n }\n return true\n });\n defineRule('datetimerngEndLimit', (value: number, [startValue, minLength, maxLength, timezone, format]: [number, number, number, string, string]) => {\n if (typeof value === 'undefined') return true;\n if (minLength && value < minLength) {\n return t('startTimeMustEarlierThanEndTime');\n }\n if (maxLength && value > maxLength) {\n return t('startTimeMustEarlierThanEndTime');\n }\n if (startValue && value < startValue) {\n return t('startTimeMustEarlierThanEndTime');\n }\n return true\n });\n defineRule('url', (value: string) => {\n if (typeof value === 'undefined') return true; // for removed item data\n const pattern = /^https?:\\/\\//;\n return !value || pattern.test(value) ? true : t('isUrl');\n });\n // defineRule('email', (value: string) => {\n // if (typeof value === 'undefined') return true; // for removed item data\n // const pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n // return !value || pattern.test(value) ? true : t('isEmail');\n // });\n // defineRule('json', (value: string) => {\n // if (typeof value === 'undefined') return true; // for removed item data\n // try {\n // JSON.parse(value || '{}');\n // return true;\n // } catch (error) {\n // return t('isJson');\n // }\n // });\n // defineRule('maxItem', (value: any[], [max]: [number]) => {\n // if (typeof value === 'undefined') return true; // for removed item data\n // if (value?.length > max) {\n // return t('isMoreThenMax', {length: max});\n // }\n // return true;\n // });\n}\n","import { App } from 'vue'\nimport '@/scss/component/_ink-text-color.scss'\nimport InkButton from '@/components/InkButton.vue'\nimport InkBadge from '@/components/InkBadge.vue'\nimport InkSpinner from '@/components/InkSpinner.vue'\nimport InkMenu from '@/components/ink-menu/InkMenu.vue'\nimport InkMenuButton from '@/components/ink-menu/InkMenuButton.vue'\nimport InkMenuItems from '@/components/ink-menu/InkMenuItems.vue'\nimport InkMenuItem from '@/components/ink-menu/InkMenuItem.vue'\nimport InkMenuItemsWrapper from '@/components/ink-menu/InkMenuItemsWrapper.vue'\nimport InkDisclosure from './components/ink-disclosure/InkDisclosure.vue'\nimport InkDisclosureButton from '@/components/ink-disclosure/InkDisclosureButton.vue'\nimport InkDisclosurePanel from '@/components/ink-disclosure/InkDisclosurePanel.vue'\nimport InkNavbar from '@/components/InkNavbar.vue'\nimport InkSidebar from '@/components/ink-sidebar/InkSidebar.vue'\nimport InkSidebarSimpleHide from '@/components/ink-sidebar/InkSidebarSimpleHide.vue'\nimport { InkVTooltip, vInkTooltip } from '@/components/ink-tooltip/Ink-tooltip'\nimport InkField from '@/components/input/InkField.vue'\nimport InkText from '@/components/input/InkText.vue'\nimport InkUrl from '@/components/input/InkUrl.vue'\nimport InkTextarea from '@/components/input/InkTextarea.vue'\nimport InkSelect from '@/components/input/InkSelect.vue'\nimport InkHashtag from '@/components/input/InkHashtag.vue'\nimport InkCheckbox from '@/components/input/InkCheckbox.vue'\nimport InkRadio from '@/components/input/InkRadio.vue'\nimport InkSwitch from '@/components/input/InkSwitch.vue'\nimport InkElConfigProvider from '@/components/input/InkElConfigProvider.vue'\nimport InkDatetime from '@/components/input/InkDatetime.vue'\nimport InkDate from '@/components/input/InkDatetime.vue'\nimport InkDatetimerng from '@/components/input/InkDatetimerng.vue'\nimport InkDaterng from '@/components/input/InkDatetimerng.vue'\nimport { inkI18n } from '@/helper/i18n'\nimport { InkSetFont } from '@/helper/set-font'\nimport useInkDefineRule from '@/helper/useDefineRule'\n\nexport {\n InkSetFont,\n InkButton,\n InkBadge,\n InkSpinner,\n InkMenu,\n InkMenuButton,\n InkMenuItems,\n InkMenuItem,\n InkMenuItemsWrapper,\n InkDisclosure,\n InkDisclosureButton,\n InkDisclosurePanel,\n InkNavbar,\n InkSidebar,\n InkSidebarSimpleHide,\n InkVTooltip,\n vInkTooltip,\n InkField,\n InkText,\n InkUrl,\n InkTextarea,\n InkSelect,\n InkHashtag,\n InkCheckbox,\n InkRadio,\n InkSwitch,\n InkElConfigProvider,\n InkDatetime,\n InkDate,\n InkDatetimerng,\n InkDaterng\n}\n\nexport default {\n install: (app: App, options: { lang?: 'zh-tw' | 'en-us' | 'ja-jp' }) => {\n InkSetFont(options.lang)\n inkI18n.global.locale.value = options.lang || 'en-us'\n useInkDefineRule()\n }\n} ","var zhTw = {\n name: \"zh-tw\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u78BA\\u8A8D\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u8272\\u5F69\\u9078\\u64C7\\u5668\",\n description: \"\\u76EE\\u524D\\u8272\\u5F69\\u70BA {color}\\u3002\\u6309\\u4E00\\u4E0B Enter \\u4EE5\\u9078\\u64C7\\u65B0\\u8272\\u5F69\\u3002\",\n alphaLabel: \"\\u9078\\u64C7\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u73FE\\u5728\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u78BA\\u8A8D\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u9375\\u8207 Enter \\u9375\\u4EE5\\u9078\\u64C7\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u9375\\u8207 Enter \\u9375\\u4EE5\\u9078\\u64C7\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u9375\\u8207 Enter \\u9375\\u4EE5\\u9078\\u64C7\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9078\\u65E5\\u671F\",\n selectDate: \"\\u9078\\u64C7\\u65E5\\u671F\",\n selectTime: \"\\u9078\\u64C7\\u6642\\u9593\",\n startDate: \"\\u958B\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u958B\\u59CB\\u6642\\u9593\",\n endDate: \"\\u7D50\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7D50\\u675F\\u6642\\u9593\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u5F8C\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u500B\\u6708\",\n nextMonth: \"\\u4E0B\\u500B\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u6E1B\\u5C11\\u6578\\u503C\",\n increase: \"\\u589E\\u52A0\\u6578\\u503C\"\n },\n select: {\n loading: \"\\u8F09\\u5165\\u4E2D\",\n noMatch: \"\\u7121\\u76F8\\u7B26\\u8CC7\\u6599\",\n noData: \"\\u7121\\u8CC7\\u6599\",\n placeholder: \"\\u8ACB\\u9078\\u64C7\"\n },\n mention: {\n loading: \"\\u8F09\\u5165\\u4E2D\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u63DB\\u4E0B\\u62C9\\u9078\\u55AE\"\n },\n cascader: {\n noMatch: \"\\u7121\\u76F8\\u7B26\\u8CC7\\u6599\",\n loading: \"\\u8F09\\u5165\\u4E2D\",\n placeholder: \"\\u8ACB\\u9078\\u64C7\",\n noData: \"\\u7121\\u8CC7\\u6599\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u9805/\\u9801\",\n total: \"\\u5171 {total} \\u9805\",\n pageClassifier: \"\\u9801\",\n page: \"\\u9801\",\n prev: \"\\u4E0A\\u4E00\\u9801\",\n next: \"\\u4E0B\\u4E00\\u9801\",\n currentPage: \"\\u7B2C {pager} \\u9801\",\n prevPages: \"\\u5411\\u524D {pager} \\u9801\",\n nextPages: \"\\u5411\\u5F8C {pager} \\u9801\",\n deprecationWarning: \"\\u5075\\u6E2C\\u5230\\u5DF2\\u904E\\u6642\\u7684\\u4F7F\\u7528\\u65B9\\u5F0F\\uFF0C\\u8ACB\\u53C3\\u95B1 el-pagination \\u8AAA\\u660E\\u6587\\u4EF6\\u4EE5\\u4E86\\u89E3\\u66F4\\u591A\\u8CC7\\u8A0A\"\n },\n dialog: {\n close: \"\\u95DC\\u9589\\u6B64\\u5C0D\\u8A71\\u6846\"\n },\n drawer: {\n close: \"\\u95DC\\u9589\\u6B64\\u5C0D\\u8A71\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u78BA\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F38\\u5165\\u7684\\u8CC7\\u6599\\u4E0D\\u7B26\\u5408\\u898F\\u5B9A!\",\n close: \"\\u95DC\\u9589\\u6B64\\u5C0D\\u8A71\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 Delete \\u9375\\u4EE5\\u522A\\u9664\",\n delete: \"\\u522A\\u9664\",\n preview: \"\\u67E5\\u770B\\u5716\\u7247\",\n continue: \"\\u7E7C\\u7E8C\\u4E0A\\u50B3\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u687F\\u4ECB\\u65BC {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9078\\u64C7\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9078\\u64C7\\u7D50\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u66AB\\u7121\\u8CC7\\u6599\",\n confirmFilter: \"\\u7BE9\\u9078\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8A08\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7D50\\u675F\\u5C0E\\u89BD\"\n },\n tree: {\n emptyText: \"\\u66AB\\u7121\\u8CC7\\u6599\"\n },\n transfer: {\n noMatch: \"\\u7121\\u76F8\\u7B26\\u8CC7\\u6599\",\n noData: \"\\u7121\\u8CC7\\u6599\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8ACB\\u8F38\\u5165\\u641C\\u5C0B\\u5167\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9805\",\n hasCheckedFormat: \"\\u5DF2\\u9078 {checked}/{total} \\u9805\"\n },\n image: {\n error: \"\\u8F09\\u5165\\u5931\\u6557\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u78BA\\u8A8D\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F35\\u6295\\u5F71\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F35\\u6295\\u5F71\\u7247\",\n indicator: \"\\u6295\\u5F71\\u7247\\u5207\\u63DB\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhTw as default };\n//# sourceMappingURL=zh-tw.mjs.map\n","var English = {\n name: \"en\",\n el: {\n breadcrumb: {\n label: \"Breadcrumb\"\n },\n colorpicker: {\n confirm: \"OK\",\n clear: \"Clear\",\n defaultLabel: \"color picker\",\n description: \"current color is {color}. press enter to select a new color.\",\n alphaLabel: \"pick alpha value\"\n },\n datepicker: {\n now: \"Now\",\n today: \"Today\",\n cancel: \"Cancel\",\n clear: \"Clear\",\n confirm: \"OK\",\n dateTablePrompt: \"Use the arrow keys and enter to select the day of the month\",\n monthTablePrompt: \"Use the arrow keys and enter to select the month\",\n yearTablePrompt: \"Use the arrow keys and enter to select the year\",\n selectedDate: \"Selected date\",\n selectDate: \"Select date\",\n selectTime: \"Select time\",\n startDate: \"Start Date\",\n startTime: \"Start Time\",\n endDate: \"End Date\",\n endTime: \"End Time\",\n prevYear: \"Previous Year\",\n nextYear: \"Next Year\",\n prevMonth: \"Previous Month\",\n nextMonth: \"Next Month\",\n year: \"\",\n month1: \"January\",\n month2: \"February\",\n month3: \"March\",\n month4: \"April\",\n month5: \"May\",\n month6: \"June\",\n month7: \"July\",\n month8: \"August\",\n month9: \"September\",\n month10: \"October\",\n month11: \"November\",\n month12: \"December\",\n week: \"week\",\n weeks: {\n sun: \"Sun\",\n mon: \"Mon\",\n tue: \"Tue\",\n wed: \"Wed\",\n thu: \"Thu\",\n fri: \"Fri\",\n sat: \"Sat\"\n },\n weeksFull: {\n sun: \"Sunday\",\n mon: \"Monday\",\n tue: \"Tuesday\",\n wed: \"Wednesday\",\n thu: \"Thursday\",\n fri: \"Friday\",\n sat: \"Saturday\"\n },\n months: {\n jan: \"Jan\",\n feb: \"Feb\",\n mar: \"Mar\",\n apr: \"Apr\",\n may: \"May\",\n jun: \"Jun\",\n jul: \"Jul\",\n aug: \"Aug\",\n sep: \"Sep\",\n oct: \"Oct\",\n nov: \"Nov\",\n dec: \"Dec\"\n }\n },\n inputNumber: {\n decrease: \"decrease number\",\n increase: \"increase number\"\n },\n select: {\n loading: \"Loading\",\n noMatch: \"No matching data\",\n noData: \"No data\",\n placeholder: \"Select\"\n },\n mention: {\n loading: \"Loading\"\n },\n dropdown: {\n toggleDropdown: \"Toggle Dropdown\"\n },\n cascader: {\n noMatch: \"No matching data\",\n loading: \"Loading\",\n placeholder: \"Select\",\n noData: \"No data\"\n },\n pagination: {\n goto: \"Go to\",\n pagesize: \"/page\",\n total: \"Total {total}\",\n pageClassifier: \"\",\n page: \"Page\",\n prev: \"Go to previous page\",\n next: \"Go to next page\",\n currentPage: \"page {pager}\",\n prevPages: \"Previous {pager} pages\",\n nextPages: \"Next {pager} pages\",\n deprecationWarning: \"Deprecated usages detected, please refer to the el-pagination documentation for more details\"\n },\n dialog: {\n close: \"Close this dialog\"\n },\n drawer: {\n close: \"Close this dialog\"\n },\n messagebox: {\n title: \"Message\",\n confirm: \"OK\",\n cancel: \"Cancel\",\n error: \"Illegal input\",\n close: \"Close this dialog\"\n },\n upload: {\n deleteTip: \"press delete to remove\",\n delete: \"Delete\",\n preview: \"Preview\",\n continue: \"Continue\"\n },\n slider: {\n defaultLabel: \"slider between {min} and {max}\",\n defaultRangeStartLabel: \"pick start value\",\n defaultRangeEndLabel: \"pick end value\"\n },\n table: {\n emptyText: \"No Data\",\n confirmFilter: \"Confirm\",\n resetFilter: \"Reset\",\n clearFilter: \"All\",\n sumText: \"Sum\"\n },\n tour: {\n next: \"Next\",\n previous: \"Previous\",\n finish: \"Finish\"\n },\n tree: {\n emptyText: \"No Data\"\n },\n transfer: {\n noMatch: \"No matching data\",\n noData: \"No data\",\n titles: [\"List 1\", \"List 2\"],\n filterPlaceholder: \"Enter keyword\",\n noCheckedFormat: \"{total} items\",\n hasCheckedFormat: \"{checked}/{total} checked\"\n },\n image: {\n error: \"FAILED\"\n },\n pageHeader: {\n title: \"Back\"\n },\n popconfirm: {\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\"\n },\n carousel: {\n leftArrow: \"Carousel arrow left\",\n rightArrow: \"Carousel arrow right\",\n indicator: \"Carousel switch to index {index}\"\n }\n }\n};\n\nexport { English as default };\n//# sourceMappingURL=en.mjs.map\n","var ja = {\n name: \"ja\",\n el: {\n breadcrumb: {\n label: \"Breadcrumb\"\n },\n colorpicker: {\n confirm: \"OK\",\n clear: \"\\u30AF\\u30EA\\u30A2\"\n },\n datepicker: {\n now: \"\\u73FE\\u5728\",\n today: \"\\u4ECA\\u65E5\",\n cancel: \"\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\",\n clear: \"\\u30AF\\u30EA\\u30A2\",\n confirm: \"OK\",\n selectDate: \"\\u65E5\\u4ED8\\u3092\\u9078\\u629E\",\n selectTime: \"\\u6642\\u9593\\u3092\\u9078\\u629E\",\n startDate: \"\\u958B\\u59CB\\u65E5\",\n startTime: \"\\u958B\\u59CB\\u6642\\u9593\",\n endDate: \"\\u7D42\\u4E86\\u65E5\",\n endTime: \"\\u7D42\\u4E86\\u6642\\u9593\",\n prevYear: \"\\u524D\\u5E74\",\n nextYear: \"\\u7FCC\\u5E74\",\n prevMonth: \"\\u524D\\u6708\",\n nextMonth: \"\\u7FCC\\u6708\",\n year: \"\\u5E74\",\n month1: \"1\\u6708\",\n month2: \"2\\u6708\",\n month3: \"3\\u6708\",\n month4: \"4\\u6708\",\n month5: \"5\\u6708\",\n month6: \"6\\u6708\",\n month7: \"7\\u6708\",\n month8: \"8\\u6708\",\n month9: \"9\\u6708\",\n month10: \"10\\u6708\",\n month11: \"11\\u6708\",\n month12: \"12\\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u6708\",\n tue: \"\\u706B\",\n wed: \"\\u6C34\",\n thu: \"\\u6728\",\n fri: \"\\u91D1\",\n sat: \"\\u571F\"\n },\n months: {\n jan: \"1\\u6708\",\n feb: \"2\\u6708\",\n mar: \"3\\u6708\",\n apr: \"4\\u6708\",\n may: \"5\\u6708\",\n jun: \"6\\u6708\",\n jul: \"7\\u6708\",\n aug: \"8\\u6708\",\n sep: \"9\\u6708\",\n oct: \"10\\u6708\",\n nov: \"11\\u6708\",\n dec: \"12\\u6708\"\n }\n },\n select: {\n loading: \"\\u30ED\\u30FC\\u30C9\\u4E2D\",\n noMatch: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n noData: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n placeholder: \"\\u9078\\u629E\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\"\n },\n mention: {\n loading: \"\\u30ED\\u30FC\\u30C9\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n loading: \"\\u30ED\\u30FC\\u30C9\\u4E2D\",\n placeholder: \"\\u9078\\u629E\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\",\n noData: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\"\n },\n pagination: {\n goto: \"\",\n pagesize: \"\\u4EF6/\\u30DA\\u30FC\\u30B8\",\n total: \"\\u7DCF\\u8A08 {total} \\u4EF6\",\n pageClassifier: \"\\u30DA\\u30FC\\u30B8\\u76EE\\u3078\",\n page: \"Page\",\n prev: \"Go to previous page\",\n next: \"Go to next page\",\n currentPage: \"page {pager}\",\n prevPages: \"Previous {pager} pages\",\n nextPages: \"Next {pager} pages\"\n },\n messagebox: {\n title: \"\\u30E1\\u30C3\\u30BB\\u30FC\\u30B8\",\n confirm: \"OK\",\n cancel: \"\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\",\n error: \"\\u6B63\\u3057\\u304F\\u306A\\u3044\\u5165\\u529B\"\n },\n upload: {\n deleteTip: \"Del\\u30AD\\u30FC\\u3092\\u62BC\\u3057\\u3066\\u524A\\u9664\\u3059\\u308B\",\n delete: \"\\u524A\\u9664\\u3059\\u308B\",\n preview: \"\\u30D7\\u30EC\\u30D3\\u30E5\\u30FC\",\n continue: \"\\u7D9A\\u884C\\u3059\\u308B\"\n },\n table: {\n emptyText: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n confirmFilter: \"\\u78BA\\u8A8D\",\n resetFilter: \"\\u521D\\u671F\\u5316\",\n clearFilter: \"\\u3059\\u3079\\u3066\",\n sumText: \"\\u5408\\u8A08\"\n },\n tour: {\n next: \"\\u6B21\\u3078\",\n previous: \"\\u524D\\u3078\",\n finish: \"\\u30C4\\u30A2\\u30FC\\u7D42\\u4E86\"\n },\n tree: {\n emptyText: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\"\n },\n transfer: {\n noMatch: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n noData: \"\\u30C7\\u30FC\\u30BF\\u306A\\u3057\",\n titles: [\"\\u30EA\\u30B9\\u30C8 1\", \"\\u30EA\\u30B9\\u30C8 2\"],\n filterPlaceholder: \"\\u30AD\\u30FC\\u30EF\\u30FC\\u30C9\\u3092\\u5165\\u529B\",\n noCheckedFormat: \"\\u7DCF\\u8A08 {total} \\u4EF6\",\n hasCheckedFormat: \"{checked}/{total} \\u3092\\u9078\\u629E\\u3057\\u305F\"\n },\n image: {\n error: \"\\u5931\\u6557\"\n },\n pageHeader: {\n title: \"\\u623B\\u308B\"\n },\n popconfirm: {\n confirmButtonText: \"\\u306F\\u3044\",\n cancelButtonText: \"\\u3044\\u3044\\u3048\"\n },\n carousel: {\n leftArrow: \"Carousel arrow left\",\n rightArrow: \"Carousel arrow right\",\n indicator: \"Carousel switch to index {index}\"\n }\n }\n};\n\nexport { ja as default };\n//# sourceMappingURL=ja.mjs.map\n"],"names":["useRestAttrs","attrs","useAttrs","computed","className","restAttrs","props","__props","classList","list","_imports_1","handleSidebarTogglerClick","isDesktop","isFolded","Cookies","t","i","module","this","e","s","f","n","u","o","r","a","h","l","c","m","d","v","dayjs","utc","timezone","formatUnixTime","tz","time","format","formatTimeToUnix","utcTimezone","convertUnixToStartOf","unit","inkI18n","createI18n","zh","en","jp","apps","getHostname","app","hostname","prefix","_imports_0","sides","alignments","placements","acc","side","min","max","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","b","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","p","g","w","L","E","R","T","C","F","W","D","S","A","H","O","P","B","Ze","re","$","_e","Te","pe","ae","de","G","le","he","Y","q","Q","xe","Ue","Ye","Xe","Ke","Je","Qe","ne","_","ue","fe","tt","Pe","ce","et","ot","it","J","ke","Le","st","nt","z","X","Fe","rt","Re","vue","pt","Ie","at","M","Z","dt","lt","ht","ut","ft","ct","mt","je","Ve","se","ee","te","K","gt","wt","$e","N","I","j","V","Ee","ve","k","Ce","$t","vt","yt","_t","We","ze","Ae","Tt","Ne","Pt","St","U","Ge","qe","He","me","oe","Ht","Mt","Vt","emit","__emit","onMainItemCheckSwitch","item","close","onTabItemCheckSwitch","toggleSidebar","closeSidebar","onMounted","RestrictTypeMode","singleFieldTypes","defaultInputProps","fieldDefaultValue","type","useMergeFieldProps","field","defaultField","mergeField","minLength","maxLength","checkFieldMax","defaultAllSelectInputBind","defaultSelectInputBind","option","useMergeSelectInputBind","inputBind","mergeInputBind","clearInputBind","key","defaultHashtagInputBind","useMergeHashtagInputBind","defaultCheckBoxInputBind","useMergeCheckBoxInputBind","defaultAllDatetimeInputBind","defaultAllDatetimeMethod","popperEl","inputEls","inputEl","el","utcEl","defaultDatetimePickerInputBind","useMergeDatetimePickerInputBind","defaultDatetimerngInputBind","useMergeDatetimerngInputBind","componentMap","defineAsyncComponent","InkDatetimerng","fieldType","toRef","dynamicComponent","remove","push","fields","update","replace","useFieldArray","inputTotal","onRemoveItemHandler","index","onPushItem","nextTick","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","rules","errorMessage","useField","isObserver","ref","load","useTemplateRef","infiniteScrollHandler","isIntersecting","target","ul","scrollTop","watchOptions","watch","observer","checkAndObserver","disconnectObserver","onOpen","onClose","setValue","newVal","elStyle","_a","_b","_c","vSelectRef","checkedValueKey","root","IntersectionObserver","useIntersectionObserver","entry","newValue","handleChange","onChange","locale","watchEffect","zhTw$1","ja$1","panelInputModeNone","panelTimezone","datetimeType","datetimeFormat","clearTime","displayValue","disabledDate","date","startDatePickerRef","startErrorMessage","datetimeWrapperClick","datePickerRef","startValue","oldVal","targetTime","utcTimestamp","rngElType","rngElFormat","handleChangeStart","handleChangeEnd","displayStartValue","displayEndValue","startValueUnix","endValueUnix","startDisabledDate","endValue","endDisabledDate","endDatePickerRef","endErrorMessage","startRules","endRules","InkSetFont","userLanguage","fontStyleLink","useInkDefineRule","defineRule","restrict","restrictTimestamp","zhTw","English","ja"],"mappings":"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","x_google_ignoreList":[14,15,20,21,22,23,48,49,50]}