@farris/ui-vue 1.3.1 → 1.3.4

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 (269) hide show
  1. package/components/accordion/index.esm.js +103 -99
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +301 -351
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/binding-selector/index.esm.js +444 -0
  6. package/components/binding-selector/index.umd.cjs +1 -0
  7. package/components/binding-selector/package.json +8 -0
  8. package/components/border-editor/index.esm.js +5 -3
  9. package/components/border-editor/index.umd.cjs +1 -1
  10. package/components/button-edit/index.esm.js +143 -139
  11. package/components/button-edit/index.umd.cjs +1 -1
  12. package/components/calendar/index.esm.js +407 -396
  13. package/components/calendar/index.umd.cjs +1 -1
  14. package/components/capsule/index.esm.js +266 -255
  15. package/components/capsule/index.umd.cjs +1 -1
  16. package/components/checkbox/index.esm.js +628 -641
  17. package/components/checkbox/index.umd.cjs +1 -1
  18. package/components/color-picker/index.esm.js +379 -374
  19. package/components/color-picker/index.umd.cjs +2 -2
  20. package/components/combo-list/index.esm.js +471 -471
  21. package/components/combo-list/index.umd.cjs +1 -1
  22. package/components/combo-tree/index.esm.js +155 -148
  23. package/components/combo-tree/index.umd.cjs +1 -1
  24. package/components/common/index.esm.js +487 -478
  25. package/components/common/index.umd.cjs +1 -1
  26. package/components/component/index.esm.js +330 -279
  27. package/components/component/index.umd.cjs +1 -1
  28. package/components/condition/index.esm.js +1175 -1280
  29. package/components/condition/index.umd.cjs +1 -1
  30. package/components/content-container/index.esm.js +220 -204
  31. package/components/content-container/index.umd.cjs +1 -1
  32. package/components/data-grid/index.esm.js +4658 -4555
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +2891 -2994
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2375 -2590
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/designer-canvas/index.css +1 -1
  39. package/components/designer-canvas/index.esm.js +9912 -1191
  40. package/components/designer-canvas/index.umd.cjs +1 -1
  41. package/components/designer-outline/index.esm.js +2 -1
  42. package/components/designer-outline/index.umd.cjs +1 -1
  43. package/components/drawer/index.esm.js +34 -38
  44. package/components/drawer/index.umd.cjs +1 -1
  45. package/components/dropdown/index.esm.js +149 -138
  46. package/components/dropdown/index.umd.cjs +2 -2
  47. package/components/dynamic-form/index.esm.js +1595 -1725
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +159 -151
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +218 -218
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/event-parameter/index.esm.js +355 -0
  54. package/components/event-parameter/index.umd.cjs +1 -0
  55. package/components/event-parameter/package.json +8 -0
  56. package/components/events-editor/index.css +1 -1
  57. package/components/events-editor/index.esm.js +622 -633
  58. package/components/events-editor/index.umd.cjs +1 -1
  59. package/components/expression-editor/index.esm.js +95 -91
  60. package/components/expression-editor/index.umd.cjs +1 -1
  61. package/components/external-container/index.esm.js +2079 -2178
  62. package/components/external-container/index.umd.cjs +1 -1
  63. package/components/field-selector/index.esm.js +3062 -3322
  64. package/components/field-selector/index.umd.cjs +1 -1
  65. package/components/filter-bar/index.css +1 -1
  66. package/components/filter-bar/index.esm.js +10581 -3225
  67. package/components/filter-bar/index.umd.cjs +1 -1
  68. package/components/flow-canvas/index.css +1 -1
  69. package/components/flow-canvas/index.esm.js +10182 -1327
  70. package/components/flow-canvas/index.umd.cjs +1 -1
  71. package/components/image-cropper/index.esm.js +353 -341
  72. package/components/image-cropper/index.umd.cjs +1 -1
  73. package/components/input-group/index.esm.js +510 -827
  74. package/components/input-group/index.umd.cjs +1 -1
  75. package/components/layout/index.esm.js +278 -268
  76. package/components/layout/index.umd.cjs +1 -1
  77. package/components/list-nav/index.esm.js +144 -136
  78. package/components/list-nav/index.umd.cjs +1 -1
  79. package/components/list-view/index.esm.js +1909 -2007
  80. package/components/list-view/index.umd.cjs +1 -1
  81. package/components/lookup/index.esm.js +6292 -6244
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.esm.js +5165 -5062
  84. package/components/mapping-editor/index.umd.cjs +1 -1
  85. package/components/message-box/index.esm.js +252 -252
  86. package/components/message-box/index.umd.cjs +1 -1
  87. package/components/modal/index.esm.js +70 -70
  88. package/components/modal/index.umd.cjs +1 -1
  89. package/components/nav/index.esm.js +486 -984
  90. package/components/nav/index.umd.cjs +3 -3
  91. package/components/number-range/index.esm.js +446 -498
  92. package/components/number-range/index.umd.cjs +1 -1
  93. package/components/number-spinner/index.esm.js +363 -388
  94. package/components/number-spinner/index.umd.cjs +1 -1
  95. package/components/order/index.esm.js +1050 -1308
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +134 -131
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +1072 -1082
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +412 -910
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/progress/index.esm.js +214 -203
  104. package/components/progress/index.umd.cjs +3 -3
  105. package/components/property-editor/index.esm.js +1361 -1536
  106. package/components/property-editor/index.umd.cjs +2 -2
  107. package/components/property-panel/index.css +1 -1
  108. package/components/property-panel/index.esm.js +650 -677
  109. package/components/property-panel/index.umd.cjs +1 -1
  110. package/components/query-solution/index.css +1 -1
  111. package/components/query-solution/index.esm.js +12607 -5080
  112. package/components/query-solution/index.umd.cjs +6 -1
  113. package/components/radio-button/index.esm.js +97 -97
  114. package/components/radio-button/index.umd.cjs +1 -1
  115. package/components/radio-group/index.css +1 -1
  116. package/components/radio-group/index.esm.js +1821 -565
  117. package/components/radio-group/index.umd.cjs +1 -1
  118. package/components/rate/index.esm.js +251 -244
  119. package/components/rate/index.umd.cjs +1 -1
  120. package/components/response-layout/index.esm.js +151 -140
  121. package/components/response-layout/index.umd.cjs +1 -1
  122. package/components/response-layout-editor/index.esm.js +707 -676
  123. package/components/response-layout-editor/index.umd.cjs +1 -1
  124. package/components/response-toolbar/index.esm.js +719 -740
  125. package/components/response-toolbar/index.umd.cjs +1 -1
  126. package/components/schema-selector/index.esm.js +5002 -5272
  127. package/components/schema-selector/index.umd.cjs +2 -2
  128. package/components/search-box/index.esm.js +145 -134
  129. package/components/search-box/index.umd.cjs +1 -1
  130. package/components/section/index.esm.js +2128 -427
  131. package/components/section/index.umd.cjs +1 -1
  132. package/components/smoke-detector/index.esm.js +141 -130
  133. package/components/smoke-detector/index.umd.cjs +1 -1
  134. package/components/splitter/index.esm.js +311 -301
  135. package/components/splitter/index.umd.cjs +1 -1
  136. package/components/step/index.esm.js +231 -220
  137. package/components/step/index.umd.cjs +1 -1
  138. package/components/switch/index.esm.js +385 -432
  139. package/components/switch/index.umd.cjs +1 -1
  140. package/components/tabs/index.esm.js +2223 -2203
  141. package/components/tabs/index.umd.cjs +1 -1
  142. package/components/tags/index.esm.js +351 -340
  143. package/components/tags/index.umd.cjs +1 -1
  144. package/components/text/index.esm.js +209 -199
  145. package/components/text/index.umd.cjs +1 -1
  146. package/components/textarea/index.esm.js +399 -421
  147. package/components/textarea/index.umd.cjs +1 -1
  148. package/components/time-picker/index.esm.js +619 -666
  149. package/components/time-picker/index.umd.cjs +1 -1
  150. package/components/transfer/index.esm.js +493 -486
  151. package/components/transfer/index.umd.cjs +1 -1
  152. package/components/tree-grid/index.esm.js +2992 -3101
  153. package/components/tree-grid/index.umd.cjs +1 -1
  154. package/components/tree-view/index.esm.js +2350 -2448
  155. package/components/tree-view/index.umd.cjs +1 -1
  156. package/components/uploader/index.esm.js +563 -554
  157. package/components/uploader/index.umd.cjs +2 -2
  158. package/components/verify-detail/index.esm.js +287 -276
  159. package/components/verify-detail/index.umd.cjs +1 -1
  160. package/components/video/index.esm.js +368 -324
  161. package/components/video/index.umd.cjs +1 -1
  162. package/components/weather/index.esm.js +498 -487
  163. package/components/weather/index.umd.cjs +5 -5
  164. package/farris.all.esm.js +46910 -42804
  165. package/farris.all.umd.cjs +14 -9
  166. package/index.css +1 -1
  167. package/package.json +1 -1
  168. package/types/binding-selector/index.d.ts +55 -0
  169. package/types/binding-selector/src/binding-selector.component.d.ts +11 -0
  170. package/types/binding-selector/src/binding-selector.props.d.ts +52 -0
  171. package/types/binding-selector/src/components/binding-selector-container.component.d.ts +13 -0
  172. package/types/binding-selector/src/composition/use-field-selection.d.ts +9 -0
  173. package/types/combo-list/src/components/list-container.component.d.ts +6 -6
  174. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  175. package/types/combo-tree/src/components/tree-container.component.d.ts +5 -5
  176. package/types/common/entity/entity-schema.d.ts +26 -11
  177. package/types/common/index.d.ts +1 -0
  178. package/types/common/types.d.ts +2 -2
  179. package/types/condition/src/condition-fields.design.component.d.ts +18 -0
  180. package/types/condition/src/types.d.ts +6 -6
  181. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +20 -0
  182. package/types/data-grid/src/{designer/data-grid-column.props.d.ts → data-grid-column.props.d.ts} +1 -1
  183. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  184. package/types/data-grid/src/designer/grid-field-editor.component.d.ts +14 -14
  185. package/types/data-grid/src/schema/schema-resolver.d.ts +1 -1
  186. package/types/data-view/composition/types.d.ts +2 -2
  187. package/types/date-picker/src/components/calendar/calendar.component.d.ts +3 -3
  188. package/types/date-picker/src/components/month/month.component.d.ts +3 -3
  189. package/types/date-picker/src/components/year/year.component.d.ts +3 -3
  190. package/types/designer-canvas/index.d.ts +2 -1
  191. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  192. package/types/designer-canvas/src/composition/function/drag-resolve.d.ts +5 -0
  193. package/types/designer-canvas/src/composition/types.d.ts +49 -40
  194. package/types/designer-canvas/src/types.d.ts +8 -20
  195. package/types/dynamic-form/index.d.ts +1 -1
  196. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +2 -0
  197. package/types/dynamic-form/src/schema/{schema-resolver.d.ts → response-form-schema-resolver.d.ts} +1 -1
  198. package/types/dynamic-form/src/types.d.ts +1 -1
  199. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +5 -0
  200. package/types/dynamic-resolver/src/converter/row-number.converter.d.ts +3 -0
  201. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +18 -0
  202. package/types/entity-binding-selector/composition/use-field-tree.d.ts +28 -0
  203. package/types/entity-binding-selector/entity-binding-selector.component.d.ts +11 -0
  204. package/types/entity-binding-selector/entity-binding-selector.props.d.ts +3 -0
  205. package/types/enum-editor/src/components/enum-editor-container.component.d.ts +3 -3
  206. package/types/enum-editor/src/enum-editor.component.d.ts +3 -3
  207. package/types/event-parameter/index.d.ts +31 -0
  208. package/types/event-parameter/src/composition/type.d.ts +77 -0
  209. package/types/event-parameter/src/composition/use-editor-combotree.d.ts +3 -0
  210. package/types/event-parameter/src/composition/use-editor-input.d.ts +3 -0
  211. package/types/event-parameter/src/composition/use-editor-select.d.ts +3 -0
  212. package/types/event-parameter/src/composition/use-editor-switch.d.ts +3 -0
  213. package/types/event-parameter/src/composition/use-editor.d.ts +3 -0
  214. package/types/event-parameter/src/composition/use-general-editor.d.ts +26 -0
  215. package/types/event-parameter/src/event-parameter.component.d.ts +8 -0
  216. package/types/event-parameter/src/event-parameter.props.d.ts +34 -0
  217. package/types/events-editor/src/composition/types.d.ts +1 -1
  218. package/types/external-container/src/designer/import-external-schema.component.d.ts +1 -1
  219. package/types/field-selector/src/field-selector.component.d.ts +1 -2
  220. package/types/field-selector/src/field-selector.props.d.ts +0 -9
  221. package/types/input-group/src/designer/use-input-group-rules.d.ts +1 -2
  222. package/types/list-view/src/designer/list-view-table.design.component.d.ts +15 -0
  223. package/types/list-view/src/list-view-table.component.d.ts +15 -0
  224. package/types/lookup/src/composition/use-user-data.d.ts +2 -2
  225. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -6
  226. package/types/modal/src/composition/modal.service.d.ts +2 -1
  227. package/types/page-header/src/designer/page-header.design.component.d.ts +1 -1
  228. package/types/page-header/src/page-header.component.d.ts +1 -1
  229. package/types/property-panel/index.d.ts +2 -1
  230. package/types/property-panel/src/composition/entity/property-entity.d.ts +1 -1
  231. package/types/property-panel/src/composition/type.d.ts +0 -13
  232. package/types/query-solution/src/composition/types.d.ts +90 -4
  233. package/types/query-solution/src/composition/use-condition.d.ts +19 -0
  234. package/types/query-solution/src/composition/use-header.d.ts +21 -0
  235. package/types/query-solution/src/composition/{use-filter.d.ts → use-http.d.ts} +2 -2
  236. package/types/query-solution/src/composition/use-solution.d.ts +20 -0
  237. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +18 -16
  238. package/types/query-solution/src/designer/query-solution-config/converter/query-solution-config-property.converter.d.ts +4 -0
  239. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +14 -14
  240. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +3 -51
  241. package/types/query-solution/src/query-solution.d.ts +10 -2
  242. package/types/radio-group/src/designer/item-collection-editor-inner.component.d.ts +29 -0
  243. package/types/radio-group/src/designer/item-collection-editor.component.d.ts +29 -0
  244. package/types/radio-group/src/designer/item-collection-editor.props.d.ts +21 -0
  245. package/types/radio-group/src/schema/schema-mapper.d.ts +1 -0
  246. package/types/radio-group/src/schema/schema-resolver.d.ts +1 -0
  247. package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -0
  248. package/types/section/index.d.ts +15 -0
  249. package/types/section/src/designer/section-header.design.component.d.ts +4 -0
  250. package/types/section/src/designer/section-toolbar-item.props.d.ts +19 -0
  251. package/types/section/src/designer/section-toolbar.design.component.d.ts +3 -0
  252. package/types/section/src/property-config/section.property-config.d.ts +17 -17
  253. package/types/section/src/schema/schema-resolver.d.ts +1 -2
  254. package/types/section/src/schema/toolbar-resolver.d.ts +1 -1
  255. package/types/tabs/src/composition/types.d.ts +4 -1
  256. package/types/tabs/src/property-config/tab-page.property-config.d.ts +9 -59
  257. package/types/tabs/src/property-config/tabs.property-config.d.ts +8 -71
  258. package/types/tabs/src/schema/schema-resolver.d.ts +1 -2
  259. package/types/text/src/composition/types.d.ts +4 -4
  260. package/types/textarea/src/property-config/textarea.property-config.d.ts +23 -0
  261. package/types/weather/src/composition/use-weather-charts.d.ts +15 -0
  262. package/types/weather/src/composition/use-weather-color.d.ts +15 -0
  263. package/types/weather/src/composition/use-weather-data.d.ts +15 -0
  264. package/types/weather/src/composition/use-weather-format-number.d.ts +15 -0
  265. package/types/property-panel/src/composition/entity/use-input-rules.d.ts +0 -3
  266. package/types/tree-grid/src/schema/column-resolver.d.ts +0 -3
  267. package/types/weather/src/composition/types.d.ts +0 -2
  268. /package/types/dynamic-form/src/designer/{use-designer-rules.d.ts → response-form-use-designer-rules.d.ts} +0 -0
  269. /package/types/dynamic-form/src/property-config/{form.property-config.d.ts → response-form.property-config.d.ts} +0 -0
@@ -1 +1 @@
1
- (function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P.calendar={},P.Vue,P.LodashES))})(this,function(P,e,J){"use strict";const X={},Z={};function U(t){const{properties:a,title:u,ignore:p}=t,f=p&&Array.isArray(p),d=Object.keys(a).reduce((c,s)=>((!f||!p.find(V=>V==s))&&(c[s]=a[s].type==="object"&&a[s].properties?U(a[s]):J.cloneDeep(a[s].default)),c),{});return u&&(!f||!p.find(c=>c=="id"))&&(d.id=`${u}-${Date.now()}`),d}function x(t,a={},u){const p=X[t];if(p){let f=U(p);const d=Z[t];return f=d?d({getSchemaByType:x},f,a,u):f,f}return null}function re(t,a){const u=U(a);return Object.keys(t).reduce((p,f)=>(p[f]&&J.isPlainObject(p[f])&&J.isPlainObject(t[f])?Object.assign(p[f],t[f]):p[f]=t[f],p),u),u}function oe(t,a){return Object.keys(t).filter(p=>t[p]!=null).reduce((p,f)=>{if(a.has(f)){const d=a.get(f);if(typeof d=="string")p[d]=t[f];else{const c=d(f,t[f],t);Object.assign(p,c)}}else p[f]=t[f];return p},{})}function ce(t,a,u=new Map){const p=re(t,a);return oe(p,u)}function se(t={}){function a(n,v,g,D){if(typeof g=="number")return D[n].length===g;if(typeof g=="object"){const l=Object.keys(g)[0],h=g[l];if(l==="not")return Number(D[n].length)!==Number(h);if(l==="moreThan")return Number(D[n].length)>=Number(h);if(l==="lessThan")return Number(D[n].length)<=Number(h)}return!1}function u(n,v,g,D){return D[n]&&D[n].propertyValue&&String(D[n].propertyValue.value)===String(g)}const p=new Map([["length",a],["getProperty",u]]);Object.keys(t).reduce((n,v)=>(n.set(v,t[v]),n),p);function f(n,v){const g=n;return typeof v=="number"?[{target:g,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:g,operator:"getProperty",param:n,value:!!v}]:typeof v=="object"?Object.keys(v).map(D=>{if(D==="length")return{target:g,operator:"length",param:null,value:v[D]};const l=D,h=v[D];return{target:g,operator:"getProperty",param:l,value:h}}):[]}function d(n){return Object.keys(n).reduce((g,D)=>{const l=f(D,n[D]);return g.push(...l),g},[])}function c(n,v){if(p.has(n.operator)){const g=p.get(n.operator);return g&&g(n.target,n.param,n.value,v)||!1}return!1}function s(n,v){return d(n).reduce((l,h)=>l&&c(h,v),!0)}function V(n,v){const g=Object.keys(n),D=g.includes("allOf"),l=g.includes("anyOf"),h=D||l,i=(h?n[h?D?"allOf":"anyOf":"allOf"]:[n]).map(o=>s(o,v));return D?!i.includes(!1):i.includes(!0)}return{parseValueSchema:V}}const le={},ie={};se();function ue(t,a,u=new Map,p=(c,s,V)=>s,f={},d=c=>c){return X[a.title]=a,Z[a.title]=p,le[a.title]=f,ie[a.title]=d,(c={})=>{const s=ce(c,a,u),V=Object.keys(t).reduce((n,v)=>(n[v]=t[v].default,n),{});return Object.assign(V,s)}}function de(t,a){return{customClass:a.class,customStyle:a.style}}const fe=new Map([["appearance",de]]);function ye(t,a,u){return a}const he={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/calendar.schema.json",title:"calendar",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for calendar",type:"string"},type:{description:"The type string of calendar",type:"string",default:"calendar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}}},required:["id","type"]},me={title:"calendar",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},G={events:{Type:Array,default:[]},firstDayOfTheWeek:{type:String,default:"Sun."}},Q=ue(G,he,fe,ye,me),$=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var S=(t=>(t[t.previous=1]="previous",t[t.current=2]="current",t[t.next=3]="next",t))(S||{});function _(){function t(){return{year:0,month:0,day:0}}function a(n){return new Date(n.year||0,n.month?n.month-1:0,n.day||0,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0)}function u(n){const v=new Date;return n.year||(n.year=v.getFullYear()),n.month||(n.month=v.getMonth()+1),n.day||(n.day=1),new Date(n.year,n.month-1,n.day,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0)}function p(n){return new Date(n.year||1,(n.month||1)-1,n.day,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0).getDay()}function f(n){return $.indexOf(n)}function d(n){return a(n).getTime()}function c(n){return Math.round(d(n)/1e3)}function s(n,v,g){const D=d(v),l=d(g),h=d(n);return l-h>h-D?v:g}function V(){const n=new Date;return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate(),hour:n.getHours(),minute:n.getMinutes(),second:n.getSeconds()}}return{emptyDate:t,getDate:a,getDate2:u,getDayNumber:p,getEpocTime:c,getNearDate:s,getWeekdayIndex:f,getTimeInMilliseconds:d,getToday:V}}function pe(){function t(d,c){return new Date(c,d,0).getDate()}function a(d,c,s){return new Date(d,c-1,s,0,0,0,0)}function u(d,c){const s=a(c,d,1);return s.setMonth(s.getMonth()-1),t(s.getMonth()+1,s.getFullYear())}function p(d,c){const s={year:d===12?c+1:c},V=d===12?1:d+1;return s.month=V,s}function f(d,c){const s={year:d===1?c-1:c},V=d===1?12:d-1;return s.month=V,s}return{daysInMonth:t,daysInPreMonth:u,getNextMonth:p,getPreviousMonth:f}}function K(){const{getToday:t,getDayNumber:a}=_(),{daysInMonth:u,daysInPreMonth:p,getNextMonth:f,getPreviousMonth:d}=pe();function c(m){const k=$.indexOf(m);return k>0?7-k:0}function s(m){const{day:k,month:i,year:r}=m;if(k===void 0||i===void 0||r===void 0)throw new Error("invalided date.");const o=k===1,w=o?p(i,r):k-1,y=o?i-1:i,N=y<1,M=N?12:y;return{year:N?r-1:r,month:M,day:w}}function V(m){const{day:k,month:i,year:r}=m;if(k===void 0||i===void 0||r===void 0)throw new Error("invalided date.");const o=u(i,r),w=k===o,y=w?1:k+1,N=w?i+1:i,M=N>12,b=M?1:N;return{year:M?r+1:r,month:b,day:y}}function n(m){const k=d(m.month||1,m.year||1),i=u(k.month||1,k.year||1);return{day:(m.day||1)<=i?m.day:i,month:k.month,year:k.year}}function v(m){const k=f(m.month||1,m.year||1),i=u(k.month||1,k.year||1);return{day:(m.day||1)<=i?m.day:i,month:k.month,year:k.year}}function g(m){const i=(m.day||1)-7,r=i<1,o=r?u(m.month||1,m.year||1)+i:i,w=r?d(m.month||1,m.year||1):m;return{day:o,month:w.month,year:w.year}}function D(m){const i=(m.day||1)+7,r=u(m.month||1,m.year||1),o=i>r,w=o?i-r:i,y=o?f(m.month||1,m.year||1):m;return{day:w,month:y.month,year:y.year}}function l(m,k,i,r){const o={day:m,month:k,year:i},y=c(r)===0?1:0,N=a(o)+y,M=t();let b=s(o);const W=[];for(let j=N-1;j>=1;j--){const H=b.month!==o.month?S.previous:S.current,C=b.month===k&&b.day===M.day&&b.month===M.month&&b.year===M.year;W.push({date:b,monthTag:H,isCurrent:C}),j>1&&(b=s(b))}let O=V(o);const E=[];for(let j=N+1;j<=7;j++){const H=b.month!==o.month?S.next:S.current,C=O.day===M.day&&O.month===M.month&&O.year===M.year;E.push({date:O,monthTag:H,isCurrent:C}),j<7&&(O=V(O))}const T=m===M.day&&k===M.month&&i===M.year;return{days:[...W.reverse(),{date:o,monthTag:S.current,isCurrent:T},...E],weekNumber:0,year:i}}function h(m,k,i){const r=[],o=u(m,k);for(let w=1;w<=o;w+=7){const y=l(w,m,k,i);r.push(y)}return r}return{getMonthlyCalendar:h,getWeeklyCalendar:l,getPreviousDay:s,getNextDay:V,getDayInPreviousWeek:g,getDayInNextWeek:D,getDayInPreviousMonth:n,getDayInNextMonth:v}}function F(){const{getTimeInMilliseconds:t}=_();function a(l){return l&&l.year!==0&&l.month!==0&&l.day!==0}function u(l){return l&&l.year!==0&&l.month!==0}function p(l){return l&&l.year!==0}function f(l,h){return t(l)<t(h)}function d(l,h){return t(l)<=t(h)}function c(l,h){return t(l)===t(h)}function s(l,h){const m=t(h);return t(l.from)===m||t(l.to)===m}function V(l,h){return!h||!a(h.to)||!a(h.from)?!1:d(h.from,l)&&d(l,h.to)}function n(l,h){return a(h)&&t(l)>=t(h)}function v(l,h){return a(h)&&t(l)<=t(h)}function g(l,h){return t({year:l.year,month:l.month,day:l.day})===t({year:h.year,month:h.month,day:h.day})}function D(l,h){return t({hour:l.hour,minute:l.minute,second:l.second})===t({hour:h.hour,minute:h.minute,second:h.second})}return{isDateEarlier:f,equal:c,inPeriod:V,isPoint:s,equalOrEarlier:d,isInitializedDate:a,isInitializedMonth:u,isInitializedYear:p,isMonthDisabledByDisableSince:n,isMonthDisabledByDisableUntil:v,sameTime:D,sameDay:g}}const Y={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},ee={activeView:{Type:Number,default:3},title:{Type:String,default:""},dailyViewTitle:{Type:String,default:"Day"},weeklyViewTitle:{Type:String,default:"Week"},monthlyViewTitle:{Type:String,default:"Month"}},I=e.defineComponent({name:"FCalendarHeader",props:ee,emits:["ViewChange","Previous","Next","ResetToToday"],setup(t,a){const u=e.ref(t.title),p=e.ref(t.dailyViewTitle),f=e.ref(t.weeklyViewTitle),d=e.ref(t.monthlyViewTitle),c=2,s=62,V=e.ref(t.activeView),n=e.ref("Today");e.watch(()=>t.title,()=>{u.value=t.title});const v=e.computed(()=>({top:`${c}px`,left:`${V.value*(c+1)+(V.value-1)*(s+1)}px`})),g=e.computed(()=>V.value===1?p.value:V.value===2?f.value:d.value);function D(){V.value=1,a.emit("ViewChange",1)}function l(){V.value=2,a.emit("ViewChange",2)}function h(){V.value=3,a.emit("ViewChange",3)}function m(){a.emit("Previous",V.value)}function k(){a.emit("Next",V.value)}function i(){a.emit("ResetToToday")}return()=>e.createVNode("div",{class:"f-calendar-header"},[e.createVNode("div",{class:"f-calendar-title"},[u.value]),e.createVNode("div",{class:"f-calendar-navigator"},[e.createVNode("div",{class:"f-calendar-navigator-today btn btn-default",onClick:()=>i()},[n.value]),e.createVNode("div",{class:"f-calendar-navigator-button-group"},[e.createVNode("div",{class:"f-calendar-navigator-previous btn btn-default",onClick:()=>m()},[e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)]),e.createVNode("div",{class:"f-calendar-navigator-next btn btn-default",onClick:()=>k()},[e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)])])]),e.createVNode("div",{class:"f-calendar-view-switch"},[e.createVNode("div",{class:"f-calendar-view-switch-panel"},[e.createVNode("span",{class:"f-calendar-view-switch-daily",onClick:r=>D()},[p.value]),e.createVNode("span",{class:"f-calendar-view-switch-weekly",onClick:r=>l()},[f.value]),e.createVNode("span",{class:"f-calendar-view-switch-monthly",onClick:r=>h()},[d.value])]),e.createVNode("div",{class:"f-calendar-view-switch-active-view",style:v.value},[g.value])])])}}),te={dates:{Type:Array,default:[]},daysInWeek:{Type:Array,default:$},enableKeyboadNavigate:{Type:Boolean,default:!0},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]},activeDay:{Type:Object,default:null}};var L=(t=>(t[t.enter=13]="enter",t[t.esc=27]="esc",t[t.space=32]="space",t[t.leftArrow=37]="leftArrow",t[t.upArrow=38]="upArrow",t[t.rightArrow=39]="rightArrow",t[t.downArrow=40]="downArrow",t[t.tab=9]="tab",t[t.shift=16]="shift",t))(L||{});function ve(){function t(a){const u=a.key||a.keyCode;return u==="Enter"||u===13?13:u==="Escape"||u===27?27:u===" "||u===32?32:u==="ArrowLeft"||u===37?37:u==="ArrowUp"||u===38?38:u==="ArrowRight"||u===39?39:u==="ArrowDown"||u===40?40:u==="Tab"||u===9?9:u==="Shift"||u===16?16:-1}return{getKeyCodeFromEvent:t}}const B=e.defineComponent({name:"FCalendarMonthView",props:te,emits:["click","keyDown"],setup(t,a){const u=e.ref(t.daysInWeek),p=e.ref(t.enableKeyboadNavigate),f=e.ref(t.enableMarkCurrent),d=e.ref(t.activeDay),c=e.ref(t.events),{equal:s,sameDay:V}=F(),{getKeyCodeFromEvent:n}=ve();function v(i,r){return i.forEach(o=>{o.days.forEach(w=>{const y=r.filter(N=>V(N.starts,w.date));y&&y.length&&(w.events=[...y])})}),i}const g=e.ref(v(t.dates,c.value));e.watch(()=>t.dates,()=>{g.value=v(t.dates,c.value)}),e.watch(()=>t.activeDay,()=>{d.value=t.activeDay}),e.watch(()=>t.events,()=>{c.value=t.events});function D(i){return!!d.value&&s({year:d.value.year,month:d.value.month,day:d.value.day},i)}const l=(i,r,o)=>{const y={"f-datepicker-no-currmonth":i.monthTag===S.previous||i.monthTag===S.next},N=`d_${r}_${o}`;return y[N]=!0,y},h=i=>{const r=i.monthTag===S.current&&D(i.date),o=i.isCurrent&&f.value;return{"f-calendar-month-view-date":!0,"f-calendar-month-view-selected":r,"f-calendar-month-view-current":o}};function m(i,r){i.stopPropagation(),a.emit("click",r.date)}function k(i,r){const o=n(i);o!==L.tab&&(i.preventDefault(),o===L.enter||o===L.space?m(i,r):p.value&&a.emit("keyDown",r.date))}return()=>e.createVNode("div",{class:"f-calendar-month-view"},[e.createVNode("table",{class:"f-datepicker-table",cellpadding:"0"},[e.createVNode("thead",null,[e.createVNode("tr",null,[u.value&&u.value.map(i=>e.createVNode("th",{scope:"col",style:"padding: 4px 4px 8px"},[i]))])]),e.createVNode("tbody",null,[g.value&&g.value.map((i,r)=>e.createVNode("tr",null,[i.days&&i.days.map((o,w)=>e.createVNode("td",{id:`d_${r}_${w}`,tabindex:"0",class:l(o,r,w),onClick:y=>m(y,o),onKeydown:y=>k(y,o)},[e.createVNode("div",{class:"f-calendar-month-view-title"},[e.createVNode("div",{class:h(o)},[o.date.day]),e.createVNode("div",{class:"f-calendar-month-view-date-month"},[o.date.day===1?Y[o.date.month||1]:""])]),o.events&&o.events.length&&o.events.map(y=>e.createVNode("div",{class:"f-calendar-month-view-event-item"},[y.title]))]))]))])])])}}),ne={daysInWeek:{Type:Array,default:$},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]},week:{Type:Object,default:{days:[],weekNumber:0,year:0}}},R=e.defineComponent({name:"FCalendarWeekView",props:ne,emits:[],setup(t){const a=e.ref(),u=e.ref(),p=e.ref(t.daysInWeek),f=e.ref(t.week),d=e.ref(t.enableMarkCurrent),c=e.ref(t.events),s=e.ref([]),{equal:V}=F();function n(r){return f.value.days.map(w=>{const y={year:w.date.year,month:w.date.month,day:w.date.day,hour:r.hour,minute:r.minute,second:r.second},N=c.value.filter(M=>V(M.starts,y));return{day:y,events:N}})}function v(){const r=[];for(let o=0;o<24;o++){const w={hour:o,minute:0,second:0},y={hour:o,minute:30,second:0},N=n(w),M=n(y);r.push({time:w,events:N,title:o>0?`${o}:00`:"",part:"upper"}),r.push({time:y,events:M,title:`${o}:30`,part:"lower"})}s.value=r}v(),e.watch(()=>t.week,()=>{f.value=t.week,v()}),e.watch(()=>t.events,()=>{c.value=t.events,v()});const g=r=>({"f-calendar-week-view-date":!0,"f-calendar-week-view-current":r.isCurrent&&d.value});function D(){return e.createVNode("div",{class:"f-calendar-week-view-header"},[e.createVNode("div",{class:"f-calendar-week-view-header-corner"},null),e.createVNode("div",{class:"f-calendar-week-view-header-primary"},[e.createVNode("div",{class:"f-calendar-week-view-header-columns"},[p.value.map((r,o)=>e.createVNode("div",{class:"f-calendar-week-view-header-cell"},[e.createVNode("div",{class:g(f.value.days[o])},[f.value.days[o].date.day]),e.createVNode("span",null,[r])]))])])])}function l(){return e.createVNode("div",{class:"f-calendar-week-view-content-side"},[e.createVNode("div",{class:"f-calendar-side"},[s.value.map(r=>e.createVNode("div",{class:"f-calendar-side-row"},[e.createVNode("div",{class:"f-calendar-side-row-number"},[r.part==="upper"?r.title:""])]))])])}function h(r){return{"f-calendar-week-view-item":!0,"f-calendar-week-view-item-upper":r.part==="upper","f-calendar-week-view-item-lower":r.part==="lower"}}function m(r){const b=(r.starts.hour||0)+(r.starts.minute||0)/60;return{height:`${44*((r.ends.hour||0)+(r.ends.minute||0)/60-b)-2-2-1-1}px`}}function k(){return s.value.map(r=>e.createVNode("div",{class:h(r)},[r.events.map(o=>e.createVNode("div",{class:"f-calendar-week-view-item-cell"},[o.events.length>0&&o.events.map(w=>e.createVNode("div",{class:"f-calendar-event",style:m(w)},[w.title]))]))]))}function i(){return e.createVNode("div",{ref:u,class:"f-calendar-content-primary"},[e.createVNode("div",{class:"f-calendar-content-data"},[k()])])}return e.onMounted(()=>{a.value&&a.value.scrollTo(0,250)}),()=>e.createVNode("div",{class:"f-calendar-week-view"},[D(),e.createVNode("div",{class:"f-calendar-week-view-content",ref:a},[l(),i()])])}}),ae={day:{Type:Object,default:{}},dayInWeek:{Type:String,default:""},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]}},q=e.defineComponent({name:"FCalendarDayView",props:ae,emits:[],setup(t){const a=e.ref(),u=e.ref(),p=e.ref(t.dayInWeek),f=e.ref(t.day),d=e.ref(t.enableMarkCurrent),c=e.ref(t.events),s=e.ref([]),{equal:V}=F();function n(r){const o={year:f.value.date.year,month:f.value.date.month,day:f.value.date.day,hour:r.hour,minute:r.minute,second:r.second},w=c.value.filter(y=>V(y.starts,o));return[{day:o,events:w}]}function v(){const r=[];for(let o=0;o<24;o++){const w={hour:o,minute:0,second:0},y={hour:o,minute:30,second:0},N=n(w),M=n(y);r.push({time:w,events:N,title:o>0?`${o}:00`:"",part:"upper"}),r.push({time:y,events:M,title:`${o}:30`,part:"lower"})}s.value=r}v(),e.watch(()=>t.day,()=>{f.value=t.day,v()}),e.watch(()=>t.events,()=>{c.value=t.events,v()});const g=r=>({"f-calendar-day-view-date":!0,"f-calendar-day-view-current":r.isCurrent&&d.value});function D(){return e.createVNode("div",{class:"f-calendar-day-view-header"},[e.createVNode("div",{class:"f-calendar-day-view-header-corner"},null),e.createVNode("div",{class:"f-calendar-day-view-header-primary"},[e.createVNode("div",{class:"f-calendar-day-view-header-columns"},[e.createVNode("div",{class:"f-calendar-day-view-header-cell"},[e.createVNode("div",{class:g(f.value)},[f.value.date.day]),e.createVNode("span",null,[p.value])])])])])}function l(){return e.createVNode("div",{class:"f-calendar-day-view-content-side"},[e.createVNode("div",{class:"f-calendar-side"},[s.value.map(r=>e.createVNode("div",{class:"f-calendar-side-row"},[e.createVNode("div",{class:"f-calendar-side-row-number"},[r.part==="upper"?r.title:""])]))])])}function h(r){return{"f-calendar-day-view-item":!0,"f-calendar-day-view-item-upper":r.part==="upper","f-calendar-day-view-item-lower":r.part==="lower"}}function m(r){const b=(r.starts.hour||0)+(r.starts.minute||0)/60;return{height:`${44*((r.ends.hour||0)+(r.ends.minute||0)/60-b)-2-2-1-1}px`}}function k(){return s.value.map(r=>e.createVNode("div",{class:h(r)},[r.events.map(o=>e.createVNode("div",{class:"f-calendar-day-view-item-cell"},[o.events.length>0&&o.events.map(w=>e.createVNode("div",{class:"f-calendar-event",style:m(w)},[w.title]))]))]))}function i(){return e.createVNode("div",{ref:u,class:"f-calendar-content-primary"},[e.createVNode("div",{class:"f-calendar-content-data"},[k()])])}return e.onMounted(()=>{a.value&&a.value.scrollTo(0,250)}),()=>e.createVNode("div",{class:"f-calendar-day-view"},[D(),e.createVNode("div",{class:"f-calendar-day-view-content",ref:a},[l(),i()])])}}),A=e.defineComponent({name:"FCalendar",props:G,emits:[],setup(t){const{sameDay:a}=F(),{getToday:u}=_(),p=e.ref(t.firstDayOfTheWeek),f=e.ref(t.events),d=u(),c=e.ref({year:d.year||1,month:d.month||1,day:d.day||1}),s=e.ref(3),{getMonthlyCalendar:V,getWeeklyCalendar:n,getPreviousDay:v,getNextDay:g,getDayInPreviousWeek:D,getDayInNextWeek:l,getDayInPreviousMonth:h,getDayInNextMonth:m}=K(),k=e.computed(()=>`${Y[c.value.month||1]} ${c.value.year}`),i=e.computed(()=>V(c.value.month||1,c.value.year||1,p.value)),r=e.computed(()=>n(c.value.day||1,c.value.month||1,c.value.year||1,p.value)),o=e.computed(()=>r.value.days.find(T=>a(T.date,c.value))||r.value.days[1]),w=e.computed(()=>{const T=r.value.days.findIndex(j=>a(j.date,c.value)),z=T>-1?T:1;return $[z]}),y=e.computed(()=>s.value===3),N=e.computed(()=>s.value===2),M=e.computed(()=>s.value===1);function b(T){s.value=T}function W(T){T===1&&(c.value=v(c.value)),T===2&&(c.value=D(c.value)),T===3&&(c.value=h(c.value))}function O(T){T===1&&(c.value=g(c.value)),T===2&&(c.value=l(c.value)),T===3&&(c.value=m(c.value))}function E(){c.value={year:d.year||1,month:d.month||1,day:d.day||1}}return()=>e.createVNode("div",{class:"f-calendar"},[e.createVNode(I,{activeView:s.value,title:k.value,onViewChange:T=>b(T),onPrevious:T=>W(T),onNext:T=>O(T),onResetToToday:()=>E()},null),e.createVNode("div",null,[M.value&&e.createVNode(q,{day:o.value,dayInWeek:w.value,events:f.value},null),N.value&&e.createVNode(R,{week:r.value,events:f.value},null),y.value&&e.createVNode(B,{activeDay:c.value,dates:i.value,events:f.value},null)])])}});function we(t,a,u){var w;function p(){}const f="",d="",c=e.ref();function s(){return(a==null?void 0:a.schema.componentType)!=="frame"}function V(){return!1}function n(){return(a==null?void 0:a.schema.componentType)!=="frame"}function v(){return(a==null?void 0:a.schema.componentType)==="frame"}function g(y){if(!y||!y.value)return null;if(y.value.schema&&y.value.schema.type==="component")return y.value;const N=e.ref(y==null?void 0:y.value.parent),M=g(N);return M||null}function D(y=a){const{componentInstance:N,designerItemElementRef:M}=y;return!N||!N.value?null:N.value.canMove?M:D(y.parent)}function l(y){return!!u}function h(){return(a==null?void 0:a.schema.label)||(a==null?void 0:a.schema.title)||(a==null?void 0:a.schema.name)}function m(){}function k(y,N){}function i(y,N){const{componentType:M}=y;let b=x(M,y,N);const W=M.toLowerCase().replace("-","_");return b&&!b.id&&b.type===M&&(b.id=`${W}_${Math.random().toString().slice(2,6)}`),b}function r(y){}function o(...y){}return c.value={canMove:s(),canSelectParent:V(),canDelete:n(),canNested:!v(),contents:a==null?void 0:a.schema.contents,elementRef:t,parent:(w=a==null?void 0:a.parent)==null?void 0:w.componentInstance,schema:a==null?void 0:a.schema,styles:f,designerClass:d,canAccepts:l,getBelongedComponentInstance:g,getDraggableDesignItemElement:D,getDraggingDisplayText:h,getPropConfig:o,getDragScopeElement:m,onAcceptMovedChildElement:k,onChildElementMovedOut:r,addNewChildComponentSchema:i,updateDragAndDropRules:p,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1)},c}const ge=e.defineComponent({name:"FCalendarDesign",props:G,emits:[],setup(t,a){const{sameDay:u}=F(),{getToday:p}=_(),f=e.ref(t.firstDayOfTheWeek),d=e.ref(t.events),c=p(),s=e.ref({year:c.year||1,month:c.month||1,day:c.day||1}),V=e.ref(3),n=e.ref(),v=e.inject("design-item-context"),g=we(n,v);e.onMounted(()=>{n.value.componentInstance=g}),a.expose(g.value);const{getMonthlyCalendar:D,getWeeklyCalendar:l,getPreviousDay:h,getNextDay:m,getDayInPreviousWeek:k,getDayInNextWeek:i,getDayInPreviousMonth:r,getDayInNextMonth:o}=K(),w=e.computed(()=>`${Y[s.value.month||1]} ${s.value.year}`),y=e.computed(()=>D(s.value.month||1,s.value.year||1,f.value)),N=e.computed(()=>l(s.value.day||1,s.value.month||1,s.value.year||1,f.value)),M=e.computed(()=>N.value.days.find(C=>u(C.date,s.value))||N.value.days[1]),b=e.computed(()=>{const C=N.value.days.findIndex(ke=>u(ke.date,s.value)),Ve=C>-1?C:1;return $[Ve]}),W=e.computed(()=>V.value===3),O=e.computed(()=>V.value===2),E=e.computed(()=>V.value===1);function T(C){V.value=C}function z(C){C===1&&(s.value=h(s.value)),C===2&&(s.value=k(s.value)),C===3&&(s.value=r(s.value))}function j(C){C===1&&(s.value=m(s.value)),C===2&&(s.value=i(s.value)),C===3&&(s.value=o(s.value))}function H(){s.value={year:c.year||1,month:c.month||1,day:c.day||1}}return()=>e.createVNode("div",{ref:n,class:"f-calendar"},[e.createVNode(I,{activeView:V.value,title:w.value,onViewChange:C=>T(C),onPrevious:C=>z(C),onNext:C=>j(C),onResetToToday:()=>H()},null),e.createVNode("div",null,[E.value&&e.createVNode(q,{day:M.value,dayInWeek:b.value,events:d.value},null),O.value&&e.createVNode(R,{week:N.value,events:d.value},null),W.value&&e.createVNode(B,{activeDay:s.value,dates:y.value,events:d.value},null)])])}});A.install=t=>{t.component(A.name,A).component(q.name,q).component(I.name,I).component(B.name,B).component(R.name,R)},A.register=(t,a,u,p)=>{t.calendar=A,a.calendar=Q},A.registerDesigner=(t,a,u)=>{t.calendar=ge,a.calendar=Q},P.FCalendar=A,P.FCalendarDayView=q,P.FCalendarHeader=I,P.FCalendarMonthView=B,P.FCalendarWeekView=R,P.MonthTag=S,P.calendarProps=G,P.dayViewProps=ae,P.default=A,P.defaultNameOfMonths=Y,P.headerProps=ee,P.monthViewProps=te,P.propsResolver=Q,P.weekDays=$,P.weekViewProps=ne,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.calendar={},C.Vue,C.LodashES))})(this,function(C,e,J){"use strict";const X={},Z={};function U(t){const{properties:a,title:l,ignore:p}=t,f=p&&Array.isArray(p),i=Object.keys(a).reduce((c,s)=>((!f||!p.find(V=>V===s))&&(c[s]=a[s].type==="object"&&a[s].properties?U(a[s]):J.cloneDeep(a[s].default)),c),{});if(l&&(!f||!p.find(c=>c==="id"))){const c=l.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}function x(t,a={},l){const p=X[t];if(p){let f=U(p);const i=Z[t];return f=i?i({getSchemaByType:x},f,a,l):f,f}return null}function re(t,a){const l=U(a);return Object.keys(l).reduce((p,f)=>(p[f]&&J.isPlainObject(p[f])&&J.isPlainObject(t[f]||!t[f])?Object.assign(p[f],t[f]||{}):p[f]=t[f],p),l),l}function oe(t,a){return Object.keys(t).filter(p=>t[p]!=null).reduce((p,f)=>{if(a.has(f)){const i=a.get(f);if(typeof i=="string")p[i]=t[f];else{const c=i(f,t[f],t);Object.assign(p,c)}}else p[f]=t[f];return p},{})}function ce(t,a,l=new Map){const p=re(t,a);return oe(p,l)}function se(t={}){function a(n,v,g,N){if(typeof g=="number")return N[n].length===g;if(typeof g=="object"){const u=Object.keys(g)[0],h=g[u];if(u==="not")return Number(N[n].length)!==Number(h);if(u==="moreThan")return Number(N[n].length)>=Number(h);if(u==="lessThan")return Number(N[n].length)<=Number(h)}return!1}function l(n,v,g,N){return N[n]&&N[n].propertyValue&&String(N[n].propertyValue.value)===String(g)}const p=new Map([["length",a],["getProperty",l]]);Object.keys(t).reduce((n,v)=>(n.set(v,t[v]),n),p);function f(n,v){const g=n;return typeof v=="number"?[{target:g,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:g,operator:"getProperty",param:n,value:!!v}]:typeof v=="object"?Object.keys(v).map(N=>{if(N==="length")return{target:g,operator:"length",param:null,value:v[N]};const u=N,h=v[N];return{target:g,operator:"getProperty",param:u,value:h}}):[]}function i(n){return Object.keys(n).reduce((g,N)=>{const u=f(N,n[N]);return g.push(...u),g},[])}function c(n,v){if(p.has(n.operator)){const g=p.get(n.operator);return g&&g(n.target,n.param,n.value,v)||!1}return!1}function s(n,v){return i(n).reduce((u,h)=>u&&c(h,v),!0)}function V(n,v){const g=Object.keys(n),N=g.includes("allOf"),u=g.includes("anyOf"),h=N||u,d=(h?n[h?N?"allOf":"anyOf":"allOf"]:[n]).map(o=>s(o,v));return N?!d.includes(!1):d.includes(!0)}return{parseValueSchema:V}}const le={},ie={};se();function ue(t,a,l=new Map,p=(c,s,V,n)=>s,f={},i=c=>c){return X[a.title]=a,Z[a.title]=p,le[a.title]=f,ie[a.title]=i,(c={})=>{const s=ce(c,a,l),V=Object.keys(t).reduce((n,v)=>(n[v]=t[v].default,n),{});return Object.assign(V,s)}}function de(t,a){return{customClass:a.class,customStyle:a.style}}const fe=new Map([["appearance",de]]);function ye(t,a,l){return a}const he={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/calendar.schema.json",title:"calendar",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for calendar",type:"string"},type:{description:"The type string of calendar",type:"string",default:"calendar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}}},required:["id","type"]},me={title:"calendar",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},_={events:{Type:Array,default:[]},firstDayOfTheWeek:{type:String,default:"Sun."}},Q=ue(_,he,fe,ye,me),E=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var j=(t=>(t[t.previous=1]="previous",t[t.current=2]="current",t[t.next=3]="next",t))(j||{});function G(){function t(){return{year:0,month:0,day:0}}function a(n){return new Date(n.year||0,n.month?n.month-1:0,n.day||0,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0)}function l(n){const v=new Date;return n.year||(n.year=v.getFullYear()),n.month||(n.month=v.getMonth()+1),n.day||(n.day=1),new Date(n.year,n.month-1,n.day,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0)}function p(n){return new Date(n.year||1,(n.month||1)-1,n.day,n.hour?n.hour:0,n.minute?n.minute:0,n.second?n.second:0,0).getDay()}function f(n){return E.indexOf(n)}function i(n){return a(n).getTime()}function c(n){return Math.round(i(n)/1e3)}function s(n,v,g){const N=i(v),u=i(g),h=i(n);return u-h>h-N?v:g}function V(){const n=new Date;return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate(),hour:n.getHours(),minute:n.getMinutes(),second:n.getSeconds()}}return{emptyDate:t,getDate:a,getDate2:l,getDayNumber:p,getEpocTime:c,getNearDate:s,getWeekdayIndex:f,getTimeInMilliseconds:i,getToday:V}}function pe(){function t(i,c){return new Date(c,i,0).getDate()}function a(i,c,s){return new Date(i,c-1,s,0,0,0,0)}function l(i,c){const s=a(c,i,1);return s.setMonth(s.getMonth()-1),t(s.getMonth()+1,s.getFullYear())}function p(i,c){const s={year:i===12?c+1:c},V=i===12?1:i+1;return s.month=V,s}function f(i,c){const s={year:i===1?c-1:c},V=i===1?12:i-1;return s.month=V,s}return{daysInMonth:t,daysInPreMonth:l,getNextMonth:p,getPreviousMonth:f}}function K(){const{getToday:t,getDayNumber:a}=G(),{daysInMonth:l,daysInPreMonth:p,getNextMonth:f,getPreviousMonth:i}=pe();function c(m){const k=E.indexOf(m);return k>0?7-k:0}function s(m){const{day:k,month:d,year:r}=m;if(k===void 0||d===void 0||r===void 0)throw new Error("invalided date.");const o=k===1,w=o?p(d,r):k-1,y=o?d-1:d,D=y<1,M=D?12:y;return{year:D?r-1:r,month:M,day:w}}function V(m){const{day:k,month:d,year:r}=m;if(k===void 0||d===void 0||r===void 0)throw new Error("invalided date.");const o=l(d,r),w=k===o,y=w?1:k+1,D=w?d+1:d,M=D>12,b=M?1:D;return{year:M?r+1:r,month:b,day:y}}function n(m){const k=i(m.month||1,m.year||1),d=l(k.month||1,k.year||1);return{day:(m.day||1)<=d?m.day:d,month:k.month,year:k.year}}function v(m){const k=f(m.month||1,m.year||1),d=l(k.month||1,k.year||1);return{day:(m.day||1)<=d?m.day:d,month:k.month,year:k.year}}function g(m){const d=(m.day||1)-7,r=d<1,o=r?l(m.month||1,m.year||1)+d:d,w=r?i(m.month||1,m.year||1):m;return{day:o,month:w.month,year:w.year}}function N(m){const d=(m.day||1)+7,r=l(m.month||1,m.year||1),o=d>r,w=o?d-r:d,y=o?f(m.month||1,m.year||1):m;return{day:w,month:y.month,year:y.year}}function u(m,k,d,r){const o={day:m,month:k,year:d},y=c(r)===0?1:0,D=a(o)+y,M=t();let b=s(o);const W=[];for(let S=D-1;S>=1;S--){const H=b.month!==o.month?j.previous:j.current,P=b.month===k&&b.day===M.day&&b.month===M.month&&b.year===M.year;W.push({date:b,monthTag:H,isCurrent:P}),S>1&&(b=s(b))}let O=V(o);const $=[];for(let S=D+1;S<=7;S++){const H=b.month!==o.month?j.next:j.current,P=O.day===M.day&&O.month===M.month&&O.year===M.year;$.push({date:O,monthTag:H,isCurrent:P}),S<7&&(O=V(O))}const T=m===M.day&&k===M.month&&d===M.year;return{days:[...W.reverse(),{date:o,monthTag:j.current,isCurrent:T},...$],weekNumber:0,year:d}}function h(m,k,d){const r=[],o=l(m,k);for(let w=1;w<=o;w+=7){const y=u(w,m,k,d);r.push(y)}return r}return{getMonthlyCalendar:h,getWeeklyCalendar:u,getPreviousDay:s,getNextDay:V,getDayInPreviousWeek:g,getDayInNextWeek:N,getDayInPreviousMonth:n,getDayInNextMonth:v}}function F(){const{getTimeInMilliseconds:t}=G();function a(u){return u&&u.year!==0&&u.month!==0&&u.day!==0}function l(u){return u&&u.year!==0&&u.month!==0}function p(u){return u&&u.year!==0}function f(u,h){return t(u)<t(h)}function i(u,h){return t(u)<=t(h)}function c(u,h){return t(u)===t(h)}function s(u,h){const m=t(h);return t(u.from)===m||t(u.to)===m}function V(u,h){return!h||!a(h.to)||!a(h.from)?!1:i(h.from,u)&&i(u,h.to)}function n(u,h){return a(h)&&t(u)>=t(h)}function v(u,h){return a(h)&&t(u)<=t(h)}function g(u,h){return t({year:u.year,month:u.month,day:u.day})===t({year:h.year,month:h.month,day:h.day})}function N(u,h){return t({hour:u.hour,minute:u.minute,second:u.second})===t({hour:h.hour,minute:h.minute,second:h.second})}return{isDateEarlier:f,equal:c,inPeriod:V,isPoint:s,equalOrEarlier:i,isInitializedDate:a,isInitializedMonth:l,isInitializedYear:p,isMonthDisabledByDisableSince:n,isMonthDisabledByDisableUntil:v,sameTime:N,sameDay:g}}const L={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},ee={activeView:{Type:Number,default:3},title:{Type:String,default:""},dailyViewTitle:{Type:String,default:"Day"},weeklyViewTitle:{Type:String,default:"Week"},monthlyViewTitle:{Type:String,default:"Month"}},B=e.defineComponent({name:"FCalendarHeader",props:ee,emits:["ViewChange","Previous","Next","ResetToToday"],setup(t,a){const l=e.ref(t.title),p=e.ref(t.dailyViewTitle),f=e.ref(t.weeklyViewTitle),i=e.ref(t.monthlyViewTitle),c=2,s=62,V=e.ref(t.activeView),n=e.ref("Today");e.watch(()=>t.title,()=>{l.value=t.title});const v=e.computed(()=>({top:`${c}px`,left:`${V.value*(c+1)+(V.value-1)*(s+1)}px`})),g=e.computed(()=>V.value===1?p.value:V.value===2?f.value:i.value);function N(){V.value=1,a.emit("ViewChange",1)}function u(){V.value=2,a.emit("ViewChange",2)}function h(){V.value=3,a.emit("ViewChange",3)}function m(){a.emit("Previous",V.value)}function k(){a.emit("Next",V.value)}function d(){a.emit("ResetToToday")}return()=>e.createVNode("div",{class:"f-calendar-header"},[e.createVNode("div",{class:"f-calendar-title"},[l.value]),e.createVNode("div",{class:"f-calendar-navigator"},[e.createVNode("div",{class:"f-calendar-navigator-today btn btn-default",onClick:()=>d()},[n.value]),e.createVNode("div",{class:"f-calendar-navigator-button-group"},[e.createVNode("div",{class:"f-calendar-navigator-previous btn btn-default",onClick:()=>m()},[e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)]),e.createVNode("div",{class:"f-calendar-navigator-next btn btn-default",onClick:()=>k()},[e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)])])]),e.createVNode("div",{class:"f-calendar-view-switch"},[e.createVNode("div",{class:"f-calendar-view-switch-panel"},[e.createVNode("span",{class:"f-calendar-view-switch-daily",onClick:r=>N()},[p.value]),e.createVNode("span",{class:"f-calendar-view-switch-weekly",onClick:r=>u()},[f.value]),e.createVNode("span",{class:"f-calendar-view-switch-monthly",onClick:r=>h()},[i.value])]),e.createVNode("div",{class:"f-calendar-view-switch-active-view",style:v.value},[g.value])])])}}),te={dates:{Type:Array,default:[]},daysInWeek:{Type:Array,default:E},enableKeyboadNavigate:{Type:Boolean,default:!0},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]},activeDay:{Type:Object,default:null}};var Y=(t=>(t[t.enter=13]="enter",t[t.esc=27]="esc",t[t.space=32]="space",t[t.leftArrow=37]="leftArrow",t[t.upArrow=38]="upArrow",t[t.rightArrow=39]="rightArrow",t[t.downArrow=40]="downArrow",t[t.tab=9]="tab",t[t.shift=16]="shift",t))(Y||{});function ve(){function t(a){const l=a.key||a.keyCode;return l==="Enter"||l===13?13:l==="Escape"||l===27?27:l===" "||l===32?32:l==="ArrowLeft"||l===37?37:l==="ArrowUp"||l===38?38:l==="ArrowRight"||l===39?39:l==="ArrowDown"||l===40?40:l==="Tab"||l===9?9:l==="Shift"||l===16?16:-1}return{getKeyCodeFromEvent:t}}const R=e.defineComponent({name:"FCalendarMonthView",props:te,emits:["click","keyDown"],setup(t,a){const l=e.ref(t.daysInWeek),p=e.ref(t.enableKeyboadNavigate),f=e.ref(t.enableMarkCurrent),i=e.ref(t.activeDay),c=e.ref(t.events),{equal:s,sameDay:V}=F(),{getKeyCodeFromEvent:n}=ve();function v(d,r){return d.forEach(o=>{o.days.forEach(w=>{const y=r.filter(D=>V(D.starts,w.date));y&&y.length&&(w.events=[...y])})}),d}const g=e.ref(v(t.dates,c.value));e.watch(()=>t.dates,()=>{g.value=v(t.dates,c.value)}),e.watch(()=>t.activeDay,()=>{i.value=t.activeDay}),e.watch(()=>t.events,()=>{c.value=t.events});function N(d){return!!i.value&&s({year:i.value.year,month:i.value.month,day:i.value.day},d)}const u=(d,r,o)=>{const y={"f-datepicker-no-currmonth":d.monthTag===j.previous||d.monthTag===j.next},D=`d_${r}_${o}`;return y[D]=!0,y},h=d=>{const r=d.monthTag===j.current&&N(d.date),o=d.isCurrent&&f.value;return{"f-calendar-month-view-date":!0,"f-calendar-month-view-selected":r,"f-calendar-month-view-current":o}};function m(d,r){d.stopPropagation(),a.emit("click",r.date)}function k(d,r){const o=n(d);o!==Y.tab&&(d.preventDefault(),o===Y.enter||o===Y.space?m(d,r):p.value&&a.emit("keyDown",r.date))}return()=>e.createVNode("div",{class:"f-calendar-month-view"},[e.createVNode("table",{class:"f-datepicker-table",cellpadding:"0"},[e.createVNode("thead",null,[e.createVNode("tr",null,[l.value&&l.value.map(d=>e.createVNode("th",{scope:"col",style:"padding: 4px 4px 8px"},[d]))])]),e.createVNode("tbody",null,[g.value&&g.value.map((d,r)=>e.createVNode("tr",null,[d.days&&d.days.map((o,w)=>e.createVNode("td",{id:`d_${r}_${w}`,tabindex:"0",class:u(o,r,w),onClick:y=>m(y,o),onKeydown:y=>k(y,o)},[e.createVNode("div",{class:"f-calendar-month-view-title"},[e.createVNode("div",{class:h(o)},[o.date.day]),e.createVNode("div",{class:"f-calendar-month-view-date-month"},[o.date.day===1?L[o.date.month||1]:""])]),o.events&&o.events.length&&o.events.map(y=>e.createVNode("div",{class:"f-calendar-month-view-event-item"},[y.title]))]))]))])])])}}),ne={daysInWeek:{Type:Array,default:E},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]},week:{Type:Object,default:{days:[],weekNumber:0,year:0}}},I=e.defineComponent({name:"FCalendarWeekView",props:ne,emits:[],setup(t){const a=e.ref(),l=e.ref(),p=e.ref(t.daysInWeek),f=e.ref(t.week),i=e.ref(t.enableMarkCurrent),c=e.ref(t.events),s=e.ref([]),{equal:V}=F();function n(r){return f.value.days.map(w=>{const y={year:w.date.year,month:w.date.month,day:w.date.day,hour:r.hour,minute:r.minute,second:r.second},D=c.value.filter(M=>V(M.starts,y));return{day:y,events:D}})}function v(){const r=[];for(let o=0;o<24;o++){const w={hour:o,minute:0,second:0},y={hour:o,minute:30,second:0},D=n(w),M=n(y);r.push({time:w,events:D,title:o>0?`${o}:00`:"",part:"upper"}),r.push({time:y,events:M,title:`${o}:30`,part:"lower"})}s.value=r}v(),e.watch(()=>t.week,()=>{f.value=t.week,v()}),e.watch(()=>t.events,()=>{c.value=t.events,v()});const g=r=>({"f-calendar-week-view-date":!0,"f-calendar-week-view-current":r.isCurrent&&i.value});function N(){return e.createVNode("div",{class:"f-calendar-week-view-header"},[e.createVNode("div",{class:"f-calendar-week-view-header-corner"},null),e.createVNode("div",{class:"f-calendar-week-view-header-primary"},[e.createVNode("div",{class:"f-calendar-week-view-header-columns"},[p.value.map((r,o)=>e.createVNode("div",{class:"f-calendar-week-view-header-cell"},[e.createVNode("div",{class:g(f.value.days[o])},[f.value.days[o].date.day]),e.createVNode("span",null,[r])]))])])])}function u(){return e.createVNode("div",{class:"f-calendar-week-view-content-side"},[e.createVNode("div",{class:"f-calendar-side"},[s.value.map(r=>e.createVNode("div",{class:"f-calendar-side-row"},[e.createVNode("div",{class:"f-calendar-side-row-number"},[r.part==="upper"?r.title:""])]))])])}function h(r){return{"f-calendar-week-view-item":!0,"f-calendar-week-view-item-upper":r.part==="upper","f-calendar-week-view-item-lower":r.part==="lower"}}function m(r){const b=(r.starts.hour||0)+(r.starts.minute||0)/60;return{height:`${44*((r.ends.hour||0)+(r.ends.minute||0)/60-b)-2-2-1-1}px`}}function k(){return s.value.map(r=>e.createVNode("div",{class:h(r)},[r.events.map(o=>e.createVNode("div",{class:"f-calendar-week-view-item-cell"},[o.events.length>0&&o.events.map(w=>e.createVNode("div",{class:"f-calendar-event",style:m(w)},[w.title]))]))]))}function d(){return e.createVNode("div",{ref:l,class:"f-calendar-content-primary"},[e.createVNode("div",{class:"f-calendar-content-data"},[k()])])}return e.onMounted(()=>{a.value&&a.value.scrollTo(0,250)}),()=>e.createVNode("div",{class:"f-calendar-week-view"},[N(),e.createVNode("div",{class:"f-calendar-week-view-content",ref:a},[u(),d()])])}}),ae={day:{Type:Object,default:{}},dayInWeek:{Type:String,default:""},enableMarkCurrent:{Type:Boolean,default:!0},events:{Type:Array,default:[]}},q=e.defineComponent({name:"FCalendarDayView",props:ae,emits:[],setup(t){const a=e.ref(),l=e.ref(),p=e.ref(t.dayInWeek),f=e.ref(t.day),i=e.ref(t.enableMarkCurrent),c=e.ref(t.events),s=e.ref([]),{equal:V}=F();function n(r){const o={year:f.value.date.year,month:f.value.date.month,day:f.value.date.day,hour:r.hour,minute:r.minute,second:r.second},w=c.value.filter(y=>V(y.starts,o));return[{day:o,events:w}]}function v(){const r=[];for(let o=0;o<24;o++){const w={hour:o,minute:0,second:0},y={hour:o,minute:30,second:0},D=n(w),M=n(y);r.push({time:w,events:D,title:o>0?`${o}:00`:"",part:"upper"}),r.push({time:y,events:M,title:`${o}:30`,part:"lower"})}s.value=r}v(),e.watch(()=>t.day,()=>{f.value=t.day,v()}),e.watch(()=>t.events,()=>{c.value=t.events,v()});const g=r=>({"f-calendar-day-view-date":!0,"f-calendar-day-view-current":r.isCurrent&&i.value});function N(){return e.createVNode("div",{class:"f-calendar-day-view-header"},[e.createVNode("div",{class:"f-calendar-day-view-header-corner"},null),e.createVNode("div",{class:"f-calendar-day-view-header-primary"},[e.createVNode("div",{class:"f-calendar-day-view-header-columns"},[e.createVNode("div",{class:"f-calendar-day-view-header-cell"},[e.createVNode("div",{class:g(f.value)},[f.value.date.day]),e.createVNode("span",null,[p.value])])])])])}function u(){return e.createVNode("div",{class:"f-calendar-day-view-content-side"},[e.createVNode("div",{class:"f-calendar-side"},[s.value.map(r=>e.createVNode("div",{class:"f-calendar-side-row"},[e.createVNode("div",{class:"f-calendar-side-row-number"},[r.part==="upper"?r.title:""])]))])])}function h(r){return{"f-calendar-day-view-item":!0,"f-calendar-day-view-item-upper":r.part==="upper","f-calendar-day-view-item-lower":r.part==="lower"}}function m(r){const b=(r.starts.hour||0)+(r.starts.minute||0)/60;return{height:`${44*((r.ends.hour||0)+(r.ends.minute||0)/60-b)-2-2-1-1}px`}}function k(){return s.value.map(r=>e.createVNode("div",{class:h(r)},[r.events.map(o=>e.createVNode("div",{class:"f-calendar-day-view-item-cell"},[o.events.length>0&&o.events.map(w=>e.createVNode("div",{class:"f-calendar-event",style:m(w)},[w.title]))]))]))}function d(){return e.createVNode("div",{ref:l,class:"f-calendar-content-primary"},[e.createVNode("div",{class:"f-calendar-content-data"},[k()])])}return e.onMounted(()=>{a.value&&a.value.scrollTo(0,250)}),()=>e.createVNode("div",{class:"f-calendar-day-view"},[N(),e.createVNode("div",{class:"f-calendar-day-view-content",ref:a},[u(),d()])])}}),A=e.defineComponent({name:"FCalendar",props:_,emits:[],setup(t){const{sameDay:a}=F(),{getToday:l}=G(),p=e.ref(t.firstDayOfTheWeek),f=e.ref(t.events),i=l(),c=e.ref({year:i.year||1,month:i.month||1,day:i.day||1}),s=e.ref(3),{getMonthlyCalendar:V,getWeeklyCalendar:n,getPreviousDay:v,getNextDay:g,getDayInPreviousWeek:N,getDayInNextWeek:u,getDayInPreviousMonth:h,getDayInNextMonth:m}=K(),k=e.computed(()=>`${L[c.value.month||1]} ${c.value.year}`),d=e.computed(()=>V(c.value.month||1,c.value.year||1,p.value)),r=e.computed(()=>n(c.value.day||1,c.value.month||1,c.value.year||1,p.value)),o=e.computed(()=>r.value.days.find(T=>a(T.date,c.value))||r.value.days[1]),w=e.computed(()=>{const T=r.value.days.findIndex(S=>a(S.date,c.value)),z=T>-1?T:1;return E[z]}),y=e.computed(()=>s.value===3),D=e.computed(()=>s.value===2),M=e.computed(()=>s.value===1);function b(T){s.value=T}function W(T){T===1&&(c.value=v(c.value)),T===2&&(c.value=N(c.value)),T===3&&(c.value=h(c.value))}function O(T){T===1&&(c.value=g(c.value)),T===2&&(c.value=u(c.value)),T===3&&(c.value=m(c.value))}function $(){c.value={year:i.year||1,month:i.month||1,day:i.day||1}}return()=>e.createVNode("div",{class:"f-calendar"},[e.createVNode(B,{activeView:s.value,title:k.value,onViewChange:T=>b(T),onPrevious:T=>W(T),onNext:T=>O(T),onResetToToday:()=>$()},null),e.createVNode("div",null,[M.value&&e.createVNode(q,{day:o.value,dayInWeek:w.value,events:f.value},null),D.value&&e.createVNode(I,{week:r.value,events:f.value},null),y.value&&e.createVNode(R,{activeDay:c.value,dates:d.value,events:f.value},null)])])}});function we(t,a,l){var w;const p="",f="",i=e.ref();function c(){return(a==null?void 0:a.schema.componentType)!=="frame"}function s(){return!1}function V(){return(a==null?void 0:a.schema.componentType)!=="frame"}function n(){return(a==null?void 0:a.schema.componentType)==="frame"}function v(y){if(!y||!y.value)return null;if(y.value.schema&&y.value.schema.type==="component")return y.value;const D=e.ref(y==null?void 0:y.value.parent),M=v(D);return M||null}function g(y=a){const{componentInstance:D,designerItemElementRef:M}=y;return!D||!D.value?null:D.value.canMove?M:g(y.parent)}function N(y){return!!l}function u(){return(a==null?void 0:a.schema.label)||(a==null?void 0:a.schema.title)||(a==null?void 0:a.schema.name)}function h(){}function m(y,D){}function k(y,D){const{componentType:M}=y;let b=x(M,y,D);const W=M.toLowerCase().replace(/-/g,"_");return b&&!b.id&&b.type===M&&(b.id=`${W}_${Math.random().toString().slice(2,6)}`),b}function d(y){}function r(...y){}function o(){a!=null&&a.schema.contents&&a.schema.contents.map(y=>{var b;let D=y.id;y.type==="component-ref"&&(D=y.component);const M=t.value.querySelector(`#${D}-design-item`);(b=M==null?void 0:M.componentInstance)!=null&&b.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent()})}return i.value={canMove:c(),canSelectParent:s(),canDelete:V(),canNested:!n(),contents:a==null?void 0:a.schema.contents,elementRef:t,parent:(w=a==null?void 0:a.parent)==null?void 0:w.componentInstance,schema:a==null?void 0:a.schema,styles:p,designerClass:f,canAccepts:N,getBelongedComponentInstance:v,getDraggableDesignItemElement:g,getDraggingDisplayText:u,getPropConfig:r,getDragScopeElement:h,onAcceptMovedChildElement:m,onChildElementMovedOut:d,addNewChildComponentSchema:k,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1),onRemoveComponent:o},i}const ge=e.defineComponent({name:"FCalendarDesign",props:_,emits:[],setup(t,a){const{sameDay:l}=F(),{getToday:p}=G(),f=e.ref(t.firstDayOfTheWeek),i=e.ref(t.events),c=p(),s=e.ref({year:c.year||1,month:c.month||1,day:c.day||1}),V=e.ref(3),n=e.ref(),v=e.inject("design-item-context"),g=we(n,v);e.onMounted(()=>{n.value.componentInstance=g}),a.expose(g.value);const{getMonthlyCalendar:N,getWeeklyCalendar:u,getPreviousDay:h,getNextDay:m,getDayInPreviousWeek:k,getDayInNextWeek:d,getDayInPreviousMonth:r,getDayInNextMonth:o}=K(),w=e.computed(()=>`${L[s.value.month||1]} ${s.value.year}`),y=e.computed(()=>N(s.value.month||1,s.value.year||1,f.value)),D=e.computed(()=>u(s.value.day||1,s.value.month||1,s.value.year||1,f.value)),M=e.computed(()=>D.value.days.find(P=>l(P.date,s.value))||D.value.days[1]),b=e.computed(()=>{const P=D.value.days.findIndex(ke=>l(ke.date,s.value)),Ve=P>-1?P:1;return E[Ve]}),W=e.computed(()=>V.value===3),O=e.computed(()=>V.value===2),$=e.computed(()=>V.value===1);function T(P){V.value=P}function z(P){P===1&&(s.value=h(s.value)),P===2&&(s.value=k(s.value)),P===3&&(s.value=r(s.value))}function S(P){P===1&&(s.value=m(s.value)),P===2&&(s.value=d(s.value)),P===3&&(s.value=o(s.value))}function H(){s.value={year:c.year||1,month:c.month||1,day:c.day||1}}return()=>e.createVNode("div",{ref:n,class:"f-calendar"},[e.createVNode(B,{activeView:V.value,title:w.value,onViewChange:P=>T(P),onPrevious:P=>z(P),onNext:P=>S(P),onResetToToday:()=>H()},null),e.createVNode("div",null,[$.value&&e.createVNode(q,{day:M.value,dayInWeek:b.value,events:i.value},null),O.value&&e.createVNode(I,{week:D.value,events:i.value},null),W.value&&e.createVNode(R,{activeDay:s.value,dates:y.value,events:i.value},null)])])}});A.install=t=>{t.component(A.name,A).component(q.name,q).component(B.name,B).component(R.name,R).component(I.name,I)},A.register=(t,a,l,p)=>{t.calendar=A,a.calendar=Q},A.registerDesigner=(t,a,l)=>{t.calendar=ge,a.calendar=Q},C.FCalendar=A,C.FCalendarDayView=q,C.FCalendarHeader=B,C.FCalendarMonthView=R,C.FCalendarWeekView=I,C.MonthTag=j,C.calendarProps=_,C.dayViewProps=ae,C.default=A,C.defaultNameOfMonths=L,C.headerProps=ee,C.monthViewProps=te,C.propsResolver=Q,C.weekDays=E,C.weekViewProps=ne,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});