@feedmepos/mf-inventory-portal 1.5.10 → 1.5.11-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/{App-erqZSd0c.js → App-D4rysNfh.js} +4 -4
  2. package/dist/{ApprovalView-C2CGthqi.js → ApprovalView-DpYJmgiG.js} +7 -7
  3. package/dist/{BindingsDialog-Cw6MdCbI.js → BindingsDialog-C7z0HH48.js} +2 -2
  4. package/dist/{BindingsPicker-CcSrxhUo.js → BindingsPicker-C5IKp9CT.js} +2 -2
  5. package/dist/{BindingsTable-C5nMju9L.js → BindingsTable-BRDooCs4.js} +3 -3
  6. package/dist/{ClosingDraftView-C_Loim5S.js → ClosingDraftView-CSCbfIFE.js} +15 -15
  7. package/dist/ClosingHistoryView-DCIJ5ONT.js +1114 -0
  8. package/dist/{ClosingTemplateView-PQdTcIFY.js → ClosingTemplateView-D1n9_dFc.js} +14 -14
  9. package/dist/{DefaultView-BIlFmXaB.js → DefaultView-Llrh9ufI.js} +2 -2
  10. package/dist/{DeliveryOrderPrintPreview-BhT1YxRZ.js → DeliveryOrderPrintPreview-DSkU-sqv.js} +2 -2
  11. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DO7xvy5V.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DL6AKT9H.js} +2 -2
  12. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-Bf6RHJdQ.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-JHabBWJb.js} +2 -2
  13. package/dist/{FmMultiselectDialog-cXV6Jo4B.js → FmMultiselectDialog-BWujDEnX.js} +2 -2
  14. package/dist/{FmMultiselectDialog-B-X6WQXu.js → FmMultiselectDialog-C0lCYHla.js} +1 -1
  15. package/dist/FmUnitInput.vue_vue_type_script_setup_true_lang-CjCNHugK.js +388 -0
  16. package/dist/{ImportView-B3jO8aU8.js → ImportView-C6q4gB3S.js} +6 -6
  17. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-GPVWrmed.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-Df7B8ZEG.js} +1 -1
  18. package/dist/{IngredientGroupView-BuUoHLDb.js → IngredientGroupView-DO8OKEVU.js} +5 -5
  19. package/dist/{IngredientsView-Dq_YrtQ5.js → IngredientsView-CD2YtXPJ.js} +15 -15
  20. package/dist/{IntegrationExplorerView-Dh5ZPJK-.js → IntegrationExplorerView-CZCMnwZG.js} +352 -352
  21. package/dist/{IntegrationView-DWbHZdc4.js → IntegrationView--3nVS_X6.js} +13 -13
  22. package/dist/{InventoryBindingForm-D-EN8Tpz.js → InventoryBindingForm-FjFTiN7R.js} +1 -1
  23. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-CcF5cko8.js +441 -0
  24. package/dist/{InventoryBindingSummary-BTagfxn1.js → InventoryBindingSummary-D90hAi96.js} +1 -1
  25. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-BUBHDMNn.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-1iDUXU2T.js} +1 -1
  26. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-D2B20Qv0.js → PremiumBadge.vue_vue_type_script_setup_true_lang-DTYnX8kn.js} +1 -1
  27. package/dist/{PublishView-CpiWv2n6.js → PublishView-BtcGl7zM.js} +3 -3
  28. package/dist/{PurchaseOrderPrintPreview-Czi5Aip0.js → PurchaseOrderPrintPreview-DvkMQv1w.js} +2 -2
  29. package/dist/{ReceiveRequestView-BVEU4j9p.js → ReceiveRequestView-DSfj36r3.js} +9631 -9552
  30. package/dist/{RecipeView-OVmWTAt-.js → RecipeView-DkDSr3LN.js} +1304 -1267
  31. package/dist/{SettingsView-CMQLojRr.js → SettingsView-iRqUoEPg.js} +4 -4
  32. package/dist/{StockView-DZeeZlJq.js → StockView-DxUXHYD_.js} +19 -19
  33. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Bf1b1rJK.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-WJ0Fz21v.js} +1 -1
  34. package/dist/{SupplierView-BcmkfFvI.js → SupplierView-BYQjWeU7.js} +12 -12
  35. package/dist/{SurchargeView-DhcatJUO.js → SurchargeView-CyhTe1B8.js} +6 -6
  36. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-D6bwhx8Z.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-CBM8jJqP.js} +2 -2
  37. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-4Ti9w_wf.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-DM9Cg0uk.js} +1 -1
  38. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-Dw1TIZVj.js → TransferDetails.vue_vue_type_script_setup_true_lang-D2MztVse.js} +20 -20
  39. package/dist/{TransferTemplateView-CRPvLRHd.js → TransferTemplateView-FNI6jVh0.js} +18 -18
  40. package/dist/{UnitCostHistoryView-B4pAplGT.js → UnitCostHistoryView-sGxNtk0Y.js} +4 -4
  41. package/dist/UnitDisplayControl.vue_vue_type_script_setup_true_lang-Cn6q11Ts.js +160 -0
  42. package/dist/{UnitView-95-cARn9.js → UnitView-P8jU14k8.js} +7 -7
  43. package/dist/{WarehouseView-o1FxslRs.js → WarehouseView-NILk42Zj.js} +5 -5
  44. package/dist/{WastageTemplateView-D3hu-bq0.js → WastageTemplateView-DNrKoK3S.js} +14 -14
  45. package/dist/{app-BEJm79K1.js → app-DIOXPCfI.js} +23 -11
  46. package/dist/app.d.ts +12 -0
  47. package/dist/app.js +1 -1
  48. package/dist/{closing-template-BotB3jos.js → closing-template-DAlwSsqC.js} +1 -1
  49. package/dist/{date2-CnEklTL8.js → date2-DBIy5hnh.js} +1 -1
  50. package/dist/{dayjs.min-CUR65wqq.js → dayjs.min-B2EqUP7W.js} +1 -1
  51. package/dist/{decimal-CV_OL7iL.js → decimal-e6enR5yT.js} +2 -2
  52. package/dist/{defineDeepModel-D7NJvnaz.js → defineDeepModel-CwqnmttS.js} +1 -1
  53. package/dist/{duplicate-template-DCaAVNSG.js → duplicate-template-DRtq-b-P.js} +1 -1
  54. package/dist/{feature-BpZTiO4W.js → feature-BCSp38rL.js} +2 -2
  55. package/dist/{format-time-from-id-Awu23hHz.js → format-time-from-id-CTWNRFSC.js} +1 -1
  56. package/dist/{format-unit-display-B2_RGXzk.js → format-unit-display-BFP12VU7.js} +11 -11
  57. package/dist/{import-export.helper-BuNDvFsc.js → import-export.helper-Dr7R0Zql.js} +6 -6
  58. package/dist/{index-BBqEhoS9.js → index-BhS1AhF-.js} +1 -1
  59. package/dist/{index-BK75WSFH.js → index-C2MhE26a.js} +3 -3
  60. package/dist/{index-D_u-AkFp.js → index-Df-NlbKu.js} +1 -1
  61. package/dist/{inventory-core-dart.default-D_hfcDPc.js → inventory-core-dart.default-CW9d8gJh.js} +1 -1
  62. package/dist/{lz-string-K7l_8Og1.js → lz-string-BHfmMoLE.js} +1 -1
  63. package/dist/{netsuite-CPUKn7UQ.js → netsuite-BSEnJOMn.js} +2 -2
  64. package/dist/{number-DoYjk_zN.js → number-B1buZ_S4.js} +3 -3
  65. package/dist/{predefined-templates-CEDkdeWc.js → predefined-templates-BIFClpKf.js} +1 -1
  66. package/dist/{purchase-order-template-ChZyiCwx.js → purchase-order-template-BCt-pDW-.js} +1 -1
  67. package/dist/{recalculationUtils-CEkm9-mp.js → recalculationUtils-CASVCqt7.js} +1 -1
  68. package/dist/{rules-DDjcQi_O.js → rules-C60UHyIn.js} +2 -2
  69. package/dist/{stock-Voq2gMuS.js → stock-CkWMLoi7.js} +1 -1
  70. package/dist/{supplier-DFopX4OU.js → supplier-CiW6zfX_.js} +2 -2
  71. package/dist/{surcharge-CjwbPJQi.js → surcharge-B9FUKx0L.js} +1 -1
  72. package/dist/tsconfig.app.tsbuildinfo +1 -1
  73. package/dist/{uom-rules-CHnn3ILl.js → uom-rules-DXiQ0ZIA.js} +1 -1
  74. package/dist/{use-ingredient-select-dialog-DS6__LXy.js → use-ingredient-select-dialog-Bn8C8IG1.js} +2 -2
  75. package/dist/{use-inventory-binding-dialog-DcJJo3Lr.js → use-inventory-binding-dialog-DZQ1WG1S.js} +2 -2
  76. package/dist/{use-template-enabled-locations-BVs_0JOA.js → use-template-enabled-locations-B9YKq5YY.js} +2 -2
  77. package/dist/{use-transfer-locations-Dzp5fj3Z.js → use-transfer-locations-D0mDjUMQ.js} +2 -2
  78. package/dist/{useHrmPermission-DQQ5MYsL.js → useHrmPermission-BTkOHa4h.js} +1 -1
  79. package/dist/{useNavigationMenu-msCIV-Ux.js → useNavigationMenu-CSfM_5Wy.js} +2 -2
  80. package/dist/{useSseClient-cer6d2VA.js → useSseClient-DwJXBOEF.js} +3 -3
  81. package/dist/views/receive-request/components/transfer-form/TransferFormProps.d.ts +2 -0
  82. package/dist/views/receive-request/components/transfer-form/composables/use-stock-balance-toggle.d.ts +3 -0
  83. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +4 -0
  84. package/dist/{vue-i18n-BiedKAFs.js → vue-i18n-BWe-vqm2.js} +556 -556
  85. package/dist/{xlsx-DGn-BAF9.js → xlsx-BT7Z_gt_.js} +1 -1
  86. package/dist/{xlsx.util-DXnaPoeW.js → xlsx.util-Bm6lJRyh.js} +3 -3
  87. package/package.json +4 -4
  88. package/dist/ClosingHistoryView-7TcMNjKb.js +0 -1108
  89. package/dist/FmUnitInput.vue_vue_type_script_setup_true_lang-BHazP1jS.js +0 -362
  90. package/dist/InventoryBindingForm.vue_vue_type_script_setup_true_lang-CI4hutH2.js +0 -404
  91. package/dist/UnitDisplayControl.vue_vue_type_script_setup_true_lang-D3OGljNP.js +0 -137
  92. package/dist/export-HmzdllkU.js +0 -26
@@ -1,24 +1,24 @@
1
1
  import { defineComponent as Y, mergeModels as Pe, useModel as ke, onMounted as ie, ref as L, computed as O, resolveComponent as F, openBlock as x, createElementBlock as E, createElementVNode as l, toDisplayString as R, unref as V, createVNode as A, createBlock as H, withCtx as N, Fragment as P, renderList as ee, normalizeClass as q, normalizeStyle as Qe, createSlots as oe, createCommentVNode as j, withModifiers as Je, reactive as Fe, watch as Ce, isRef as re, Teleport as pe, h as k, createTextVNode as K, watchEffect as Ke } from "vue";
2
2
  import { _ as qe } from "./empty-placeholder-B0QU467o.js";
3
- import { y as Ge, z as Ze, c as ae, u as se, A as We, a as ce, N as ge, B as Ae, C as $, w as ne, D as Be, E as Ve, s as fe } from "./app-BEJm79K1.js";
3
+ import { y as Ge, z as Ze, c as ae, u as se, A as We, a as ce, N as ge, B as Ae, C as $, w as ne, D as Be, E as Ve, s as fe } from "./app-DIOXPCfI.js";
4
4
  import { useDialogChild as $e, useDialog as be, useProxiedModel as ue, useSnackbar as G, useBreakpoints as _e, components as J } from "@feedmepos/ui-library";
5
5
  import { _ as et } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DGlWE5I8.js";
6
6
  import { useI18n as Z, useCoreStore as le } from "@feedmepos/mf-common";
7
- import { _ as tt } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-Bf6RHJdQ.js";
8
- import { u as nt, a as st, b as ot, c as at } from "./index-BK75WSFH.js";
9
- import { u as te, a as me } from "./netsuite-CPUKn7UQ.js";
10
- import { b as lt, a as it } from "./FmMultiselectDialog-cXV6Jo4B.js";
11
- import { R as rt } from "./rules-DDjcQi_O.js";
7
+ import { _ as tt } from "./FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-JHabBWJb.js";
8
+ import { u as nt, a as st, b as ot, c as at } from "./index-C2MhE26a.js";
9
+ import { u as te, a as me } from "./netsuite-BSEnJOMn.js";
10
+ import { b as lt, a as it } from "./FmMultiselectDialog-BWujDEnX.js";
11
+ import { R as rt } from "./rules-C60UHyIn.js";
12
12
  import { P as Ee, J as Ne, D as Le } from "./app-DiX-EfV6.js";
13
- import { u as ut } from "./supplier-DFopX4OU.js";
14
- import { u as ve } from "./vue-i18n-BiedKAFs.js";
15
- import { _ as dt, a as ct } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-BHazP1jS.js";
16
- import { a as mt } from "./number-DoYjk_zN.js";
17
- import { a as he, f as De } from "./date2-CnEklTL8.js";
13
+ import { u as ut } from "./supplier-CiW6zfX_.js";
14
+ import { u as ve } from "./vue-i18n-BWe-vqm2.js";
15
+ import { _ as dt, a as ct } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CjCNHugK.js";
16
+ import { a as mt } from "./number-B1buZ_S4.js";
17
+ import { a as he, f as De } from "./date2-DBIy5hnh.js";
18
18
  import { F as Te } from "./FmAdminBadge-DjnBAgyv.js";
19
- import { u as Re } from "./feature-BpZTiO4W.js";
19
+ import { u as Re } from "./feature-BCSp38rL.js";
20
20
  import { F as Oe } from "./FmDroppableField-J0xUsOTV.js";
21
- import { r as Me, u as ze } from "./xlsx-DGn-BAF9.js";
21
+ import { r as Me, u as ze } from "./xlsx-BT7Z_gt_.js";
22
22
  const ft = "data:image/svg+xml,%3csvg%20width='200'%20height='101'%20viewBox='0%200%20200%20101'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M98.9161%2038.4456V24.1772H108.527V27.1988H102.12V30.2202H107.347V32.7382H102.12V38.4456H98.9161Z'%20fill='%235D5359'/%3e%3cpath%20d='M110.382%2031.2276C110.382%2027.5345%20113.249%2024.1772%20117.127%2024.1772C121.174%2024.1772%20123.872%2027.7024%20123.872%2031.3953C123.872%2035.0884%20121.005%2038.6133%20117.127%2038.6133C113.08%2038.4456%20110.382%2034.9204%20110.382%2031.2276ZM117.127%2035.5919C119.487%2035.5919%20120.499%2033.4096%20120.499%2031.2276C120.499%2029.0452%20119.319%2027.0309%20117.127%2027.0309C114.935%2027.0309%20113.754%2029.213%20113.754%2031.2276C113.754%2033.5776%20114.935%2035.5919%20117.127%2035.5919Z'%20fill='%235D5359'/%3e%3cpath%20d='M126.232%2031.2276C126.232%2027.5345%20129.099%2024.1772%20132.977%2024.1772C137.024%2024.1772%20139.722%2027.7024%20139.722%2031.3953C139.722%2035.0884%20136.855%2038.6133%20132.977%2038.6133C128.93%2038.4456%20126.232%2034.9204%20126.232%2031.2276ZM132.977%2035.5919C135.337%2035.5919%20136.349%2033.4096%20136.349%2031.2276C136.349%2029.0452%20135.169%2027.0309%20132.977%2027.0309C130.785%2027.0309%20129.604%2029.213%20129.604%2031.2276C129.604%2033.5776%20130.785%2035.5919%20132.977%2035.5919Z'%20fill='%235D5359'/%3e%3cpath%20d='M142.926%2038.4455V24.345H148.153C152.874%2024.345%20155.235%2027.5343%20155.235%2031.3952C155.235%2035.5918%20152.368%2038.4455%20148.153%2038.4455H142.926ZM148.153%2027.0308H146.129V35.4238H148.153C150.513%2035.4238%20151.862%2033.5775%20151.862%2031.2272C151.862%2028.8773%20150.513%2027.0308%20148.153%2027.0308Z'%20fill='%235D5359'/%3e%3cpath%20d='M110.045%2057.5607V49.1676L107.009%2055.2107H105.324L102.12%2049.1676V57.5607H98.9161V43.4604H102.457L106.167%2050.8465L109.876%2043.4604H113.417V57.5607H110.045Z'%20fill='%235D5359'/%3e%3cpath%20d='M115.947%2057.5607L121.342%2043.4604H124.04L129.436%2057.5607H125.895L124.715%2054.3716H120.331L119.319%2057.5607H115.947ZM122.691%2046.9856L121.005%2052.1893H124.378L122.691%2046.9856Z'%20fill='%235D5359'/%3e%3cpath%20d='M131.965%2057.5607V43.4604H138.373C141.07%2043.4604%20142.925%2045.8105%20142.925%2048.1605C142.925%2049.8393%20142.082%2051.5179%20140.565%2052.1893L143.768%2057.393H140.059L137.192%2052.8607H135V57.393H131.965V57.5607ZM135.169%2050.175H138.204C139.047%2050.175%20139.553%2049.3356%20139.553%2048.1605C139.553%2046.9856%20138.71%2046.3142%20138.035%2046.3142H135.169V50.175Z'%20fill='%235D5359'/%3e%3cpath%20d='M146.635%2057.5607V43.4604H150.007V49.8393L155.403%2043.4604H158.776L153.548%2049.6713L159.281%2057.5607H155.74L151.693%2051.5179L150.007%2053.3642V57.5607H146.635Z'%20fill='%235D5359'/%3e%3cpath%20d='M171.422%2054.7073V57.5607H161.474V43.4604H171.253V46.3142H164.677V48.9999H170.242V51.6856H164.677V54.7073H171.422Z'%20fill='%235D5359'/%3e%3cpath%20d='M185.417%2046.3142H181.202V57.5607H177.829V46.3142H173.614V43.4604H185.417V46.3142Z'%20fill='%235D5359'/%3e%3cpath%20d='M111.057%2062.5967V76.6973H107.853V70.9898H102.12V76.6973H98.9161V62.5967H102.12V68.1361H107.853V62.5967H111.057Z'%20fill='%235D5359'/%3e%3cpath%20d='M124.04%2069.815V62.5967H127.244V69.815C127.244%2073.6758%20125.389%2076.865%20121.005%2076.865C116.453%2076.865%20114.766%2073.5078%20114.766%2069.815V62.5967H117.97V69.815C117.97%2071.997%20118.813%2074.0115%20121.005%2074.0115C123.366%2074.0115%20124.04%2071.997%20124.04%2069.815Z'%20fill='%235D5359'/%3e%3cpath%20d='M138.036%2076.6973H131.122V62.5967H139.047C141.071%2062.5967%20142.251%2064.4433%20142.251%2066.2898C142.251%2067.6327%20141.576%2068.9755%20140.228%2069.4793C141.914%2069.9827%20142.926%2071.1578%20142.926%2073.1721C142.757%2075.5221%20140.733%2076.6973%20138.036%2076.6973ZM134.326%2065.4504V68.3041H137.53C138.204%2068.3041%20138.879%2067.8004%20138.879%2066.7933C138.879%2065.7861%20138.373%2065.2827%20137.698%2065.2827H134.326V65.4504ZM138.204%2070.8221H134.494V73.8435H138.204C139.047%2073.8435%20139.722%2073.1721%20139.722%2072.3327C139.553%2071.6613%20138.879%2070.8221%20138.204%2070.8221Z'%20fill='%235D5359'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M73.4753%2051.4994C78.7281%2050.5396%2082.8911%2046.4891%2083.9954%2041.3137L84.1232%2040.7134L83.9445%2040.1256C80.5804%2029.066%2071.9945%2020.2704%2061.0373%2016.5726C57.4%2015.3451%2053.5046%2014.6804%2049.458%2014.6804C45.4112%2014.6804%2041.5158%2015.3451%2037.8784%2016.5726C26.9214%2020.2704%2018.3354%2029.066%2014.9712%2040.1256L14.7924%2040.7134L14.9206%2041.3137C16.0247%2046.4891%2020.1875%2050.5396%2025.4405%2051.4994V58.8839H14.4183C14.6758%2059.9557%2014.9818%2061.0088%2015.3337%2062.0411C20.1553%2076.1811%2033.6083%2086.3619%2049.458%2086.3619C65.3074%2086.3619%2078.7606%2076.1811%2083.5822%2062.0411C83.9342%2061.0088%2084.2399%2059.9557%2084.4974%2058.8839H73.4753V51.4994ZM41.0517%2020.5973V38.5742C41.0517%2043.1931%2044.8155%2046.9371%2049.458%2046.9371C54.1005%2046.9371%2057.8641%2043.1931%2057.8641%2038.5742V20.5973C55.1919%2019.856%2052.3732%2019.4592%2049.458%2019.4592C46.5428%2019.4592%2043.7241%2019.856%2041.0517%2020.5973ZM62.6675%2022.3673V38.5742C62.6675%2043.1931%2066.431%2046.9371%2071.0735%2046.9371C74.9051%2046.9371%2078.1425%2044.3848%2079.1528%2040.8942C76.4672%2032.6902%2070.4379%2025.9824%2062.6675%2022.3673ZM60.2658%2046.1322C57.8753%2049.5094%2053.9255%2051.7159%2049.458%2051.7159C44.9902%2051.7159%2041.0408%2049.5094%2038.65%2046.1322C36.6982%2048.8894%2033.7074%2050.8662%2030.2439%2051.4994V58.8839H68.6718V51.4994C65.2083%2050.8662%2062.2175%2048.8894%2060.2658%2046.1322ZM21.1583%2063.6628C26.1349%2074.2514%2036.9382%2081.5834%2049.458%2081.5834C61.9776%2081.5834%2072.781%2074.2514%2077.7574%2063.6628H21.1583ZM36.2482%2038.5742V22.3673C28.4779%2025.9824%2022.4486%2032.6902%2019.7631%2040.8942C20.7733%2044.3848%2024.0106%2046.9371%2027.8422%2046.9371C32.4847%2046.9371%2036.2482%2043.1931%2036.2482%2038.5742Z'%20fill='%23FFC35D'/%3e%3c/svg%3e";
23
23
  var je = { exports: {} };
24
24
  (function(_, h) {
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-CI4hutH2.js";
1
+ import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-CcF5cko8.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -0,0 +1,441 @@
1
+ import { defineComponent as oe, computed as x, reactive as te, resolveComponent as B, openBlock as d, createElementBlock as c, createVNode as u, withCtx as I, createElementVNode as n, toDisplayString as p, unref as i, createBlock as w, createCommentVNode as v, Fragment as U, renderList as G, nextTick as le } from "vue";
2
+ import { a as ie, t as se, v as de, F as re } from "./app-DIOXPCfI.js";
3
+ import { a as h, c as ae } from "./number-B1buZ_S4.js";
4
+ import { u as ue } from "./use-inventory-binding-dialog-DZQ1WG1S.js";
5
+ import { b as $, c as A } from "./rules-C60UHyIn.js";
6
+ import { _ as me, c as ce, d as pe } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CjCNHugK.js";
7
+ import { useI18n as ye } from "@feedmepos/mf-common";
8
+ const fe = { class: "flex flex-col gap-24" }, ve = { class: "flex flex-col gap-16" }, be = { class: "flex items-center" }, _e = { class: "flex-1 fm-typo-en-title-sm-600" }, xe = { class: "flex flex-col" }, ge = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, he = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Ve = { class: "flex flex-col w-full border-b border-fm-color-neutral-gray-100" }, ke = {
9
+ class: "flex items-center",
10
+ style: { "min-height": "48px" }
11
+ }, Be = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, Ie = { class: "flex flex-col" }, we = { class: "line-clamp-1" }, Fe = { class: "w-[200px]" }, Ue = {
12
+ key: 0,
13
+ class: "w-[52px]"
14
+ }, Ce = {
15
+ key: 0,
16
+ class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400 px-8"
17
+ }, Ee = {
18
+ key: 0,
19
+ class: "flex flex-col gap-16"
20
+ }, Ge = { class: "flex items-center" }, Ae = { class: "flex-1 fm-typo-en-title-sm-600" }, Re = { class: "flex flex-col" }, Se = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, Pe = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Te = { class: "flex flex-col w-full border-b border-fm-color-neutral-gray-100" }, Me = {
21
+ key: 0,
22
+ class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400"
23
+ }, Ne = {
24
+ class: "flex items-center",
25
+ style: { "min-height": "48px" }
26
+ }, $e = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, ze = { class: "flex flex-col" }, De = { class: "w-[200px]" }, Ke = {
27
+ key: 0,
28
+ class: "w-[52px]"
29
+ }, je = { class: "flex flex-col gap-16" }, Le = { class: "flex items-center" }, Oe = { class: "flex-1 fm-typo-en-title-sm-600" }, Ye = { class: "flex flex-col" }, We = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, qe = { class: "flex-1 fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, He = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary w-[150px] px-16" }, Je = {
30
+ key: 0,
31
+ class: "flex flex-col border-b border-fm-color-neutral-gray-100"
32
+ }, Qe = {
33
+ class: "flex items-center w-full",
34
+ style: { "min-height": "48px" }
35
+ }, Xe = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12 text-fm-color-typo-secondary line-clamp-1" }, Ze = {
36
+ key: 0,
37
+ class: "w-[52px]"
38
+ }, en = { class: "flex gap-4 text-fm-color-system-error-400 fm-typo-en-body-sm-400 px-12 pb-4" }, nn = {
39
+ key: 1,
40
+ class: "flex flex-col border-b border-fm-color-neutral-gray-100"
41
+ }, on = {
42
+ class: "flex items-center w-full",
43
+ style: { "min-height": "48px" }
44
+ }, tn = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, ln = { class: "line-clamp-1 w-full" }, sn = { class: "w-[150px]" }, dn = {
45
+ key: 0,
46
+ class: "w-[52px]"
47
+ }, rn = { class: "flex flex-col px-12 pb-4" }, vn = /* @__PURE__ */ oe({
48
+ __name: "InventoryBindingForm",
49
+ props: {
50
+ id: {},
51
+ modelValue: { default: () => [] },
52
+ excludeBindingId: {},
53
+ rules: { default: () => [] },
54
+ iframeMode: { type: Boolean },
55
+ disabled: { type: Boolean },
56
+ readonly: { type: Boolean },
57
+ enableIngredientGroup: { type: Boolean }
58
+ },
59
+ emits: ["update:modelValue", "click:pick-inventory-bindings"],
60
+ setup(z, { emit: D }) {
61
+ const { t: m } = ye(), g = ie(), R = x(() => g.recipeById), V = x(() => g.skuById), K = x(() => g.skuGroupById), s = z, b = D, S = x(() => se({
62
+ parentId: s.id,
63
+ bindings: s.modelValue,
64
+ recipes: g.recipes.map((t) => t._id === s.id ? {
65
+ ...t,
66
+ contains: s.modelValue
67
+ } : t),
68
+ skus: g.skus.map((t) => t._id === s.id ? {
69
+ ...t,
70
+ convert: {
71
+ inventoryBindings: s.modelValue
72
+ }
73
+ } : t),
74
+ skuGroups: g.skuGroups
75
+ }).inventoryBindings.filter((t) => "error" in t && t.error).map((t) => t).filter((t) => t.reason === de.enum.circularDependency)), C = x(
76
+ () => new Set(S.value.map((e) => {
77
+ var l;
78
+ return (l = e.bindingPaths[0]) == null ? void 0 : l.id;
79
+ }))
80
+ ), j = x(() => s.modelValue.filter((e) => e.type === "RECIPE")), { promptIngredientsBinding: L, promptRecipesBinding: O, promptIngredientGroupsBinding: Y } = ue();
81
+ async function W() {
82
+ if (s.iframeMode) {
83
+ b("click:pick-inventory-bindings", "RECIPE");
84
+ return;
85
+ }
86
+ O(
87
+ s.modelValue,
88
+ (e) => b("update:modelValue", e),
89
+ s.id ? [s.id] : []
90
+ );
91
+ }
92
+ const q = x(() => s.modelValue.filter((e) => e.type === "SKU_GROUP"));
93
+ async function H() {
94
+ Y(
95
+ s.modelValue,
96
+ (e) => b("update:modelValue", e),
97
+ s.id ? [s.id] : []
98
+ );
99
+ }
100
+ const P = x(() => s.modelValue.filter((e) => e.type === "SKU") ?? []);
101
+ async function J() {
102
+ if (s.iframeMode) {
103
+ b("click:pick-inventory-bindings", "SKU");
104
+ return;
105
+ }
106
+ L(
107
+ s.modelValue,
108
+ (e) => b("update:modelValue", e),
109
+ s.excludeBindingId,
110
+ s.id ? [s.id] : []
111
+ );
112
+ }
113
+ function T(e, l, t) {
114
+ const a = +l;
115
+ let f = t;
116
+ l.length > 0 && isFinite(a) ? f = t.map((y) => (y.id !== e || (y.amount = ae(a)), y)) : f = t.map((y) => (y.id !== e || (y.amount = { amount: 0, precision: 0 }), y)), b("update:modelValue", f);
117
+ }
118
+ function F(e, l) {
119
+ const t = l.filter((a) => a.id !== e);
120
+ b("update:modelValue", t);
121
+ }
122
+ function M(e) {
123
+ var t, a;
124
+ if (e.type !== re.enum.SKU)
125
+ throw new Error("Non-SKU binding does not have unit");
126
+ if (!((t = V.value[e.id]) == null ? void 0 : t.unit))
127
+ throw new Error(`Cannot find ingredient: ${e.id}`);
128
+ return (a = V.value[e.id]) == null ? void 0 : a.unit;
129
+ }
130
+ function Q(e) {
131
+ return !V.value[e.id];
132
+ }
133
+ function X(e) {
134
+ return { amount: e.amount, measurement: e.measurement };
135
+ }
136
+ function Z(e, l, t) {
137
+ const a = t.map((f) => f.id !== e ? f : {
138
+ ...f,
139
+ amount: l.amount,
140
+ measurement: l.measurement
141
+ });
142
+ b("update:modelValue", a);
143
+ }
144
+ const N = te({});
145
+ function ee(e) {
146
+ return N[e.id] ?? {
147
+ modelValue: {
148
+ amount: e.amount,
149
+ measurement: e.measurement
150
+ },
151
+ amountAsString: h(e.amount)
152
+ };
153
+ }
154
+ function ne(e, l) {
155
+ le(() => {
156
+ N[e.id] = {
157
+ modelValue: {
158
+ amount: e.amount,
159
+ measurement: e.measurement
160
+ },
161
+ amountAsString: l
162
+ };
163
+ });
164
+ }
165
+ return (e, l) => {
166
+ const t = B("FmFormGroup"), a = B("FmButton"), f = B("FmTooltip"), y = B("FmTextField"), E = B("FmIcon");
167
+ return d(), c("div", fe, [
168
+ u(t, {
169
+ disabled: e.disabled,
170
+ "model-value": e.modelValue,
171
+ rules: [
172
+ ...e.rules,
173
+ () => S.value.length ? "There is a binding error in your configuration" : !0
174
+ ]
175
+ }, {
176
+ label: I(() => l[0] || (l[0] = [
177
+ n("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Define the inventory bindings for this recipe or ingredient. ", -1)
178
+ ])),
179
+ _: 1
180
+ }, 8, ["disabled", "model-value", "rules"]),
181
+ n("div", ve, [
182
+ n("div", be, [
183
+ n("div", _e, p(i(m)("inventory.inventoryBindings.recipe")), 1),
184
+ e.readonly ? v("", !0) : (d(), w(a, {
185
+ key: 0,
186
+ variant: "secondary",
187
+ "text-color": "primary",
188
+ "border-color": "primary",
189
+ label: i(m)("inventory.inventoryBindings.linkRecipe"),
190
+ "prepend-icon": "link",
191
+ onClick: W
192
+ }, null, 8, ["label"]))
193
+ ]),
194
+ n("div", xe, [
195
+ n("div", ge, [
196
+ n("div", he, p(i(m)("inventory.inventoryBindings.recipe")), 1),
197
+ l[1] || (l[1] = n("div", { class: "w-[200px]" }, null, -1)),
198
+ l[2] || (l[2] = n("div", { class: "w-[52px]" }, null, -1))
199
+ ]),
200
+ (d(!0), c(U, null, G(j.value, (o) => (d(), w(t, {
201
+ key: o.id,
202
+ disabled: e.disabled,
203
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
204
+ rules: [i($)(0), i(A)(-1)]
205
+ }, {
206
+ default: I(({ invalid: k }) => {
207
+ var _;
208
+ return [
209
+ n("div", Ve, [
210
+ n("div", ke, [
211
+ n("div", Be, [
212
+ n("div", Ie, [
213
+ u(f, {
214
+ zIndex: 51,
215
+ variant: "plain",
216
+ placement: "top",
217
+ content: (_ = R.value[o.id]) == null ? void 0 : _.name
218
+ }, {
219
+ default: I(() => {
220
+ var r;
221
+ return [
222
+ n("span", we, p((r = R.value[o.id]) == null ? void 0 : r.name), 1)
223
+ ];
224
+ }),
225
+ _: 2
226
+ }, 1032, ["content"])
227
+ ])
228
+ ]),
229
+ n("div", Fe, [
230
+ u(y, {
231
+ class: "w-full",
232
+ disabled: e.disabled,
233
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
234
+ "onUpdate:modelValue": (r) => T(o.id, r, e.modelValue),
235
+ invalid: k
236
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
237
+ ]),
238
+ e.readonly ? v("", !0) : (d(), c("div", Ue, [
239
+ u(a, {
240
+ disabled: e.disabled,
241
+ type: "button",
242
+ variant: "plain",
243
+ icon: "delete",
244
+ "icon-color": "#000000",
245
+ onClick: (r) => F(o.id, e.modelValue)
246
+ }, null, 8, ["disabled", "onClick"])
247
+ ]))
248
+ ]),
249
+ C.value.has(o.id) ? (d(), c("div", Ce, [
250
+ u(E, {
251
+ name: "error",
252
+ color: "system-error-300",
253
+ size: "sm"
254
+ }),
255
+ n("div", null, p(i(m)("inventory.inventoryBindings.circularError")), 1)
256
+ ])) : v("", !0)
257
+ ])
258
+ ];
259
+ }),
260
+ _: 2
261
+ }, 1032, ["disabled", "modelValue", "rules"]))), 128))
262
+ ])
263
+ ]),
264
+ e.enableIngredientGroup ? (d(), c("div", Ee, [
265
+ n("div", Ge, [
266
+ n("div", Ae, p(i(m)("inventory.inventoryBindings.ingredientGroup")), 1),
267
+ e.readonly ? v("", !0) : (d(), w(a, {
268
+ key: 0,
269
+ variant: "secondary",
270
+ "text-color": "primary",
271
+ "border-color": "primary",
272
+ label: i(m)("inventory.inventoryBindings.linkIngredientGroup"),
273
+ "prepend-icon": "link",
274
+ onClick: H
275
+ }, null, 8, ["label"]))
276
+ ]),
277
+ n("div", Re, [
278
+ n("div", Se, [
279
+ n("div", Pe, p(i(m)("inventory.inventoryBindings.ingredientGroup")), 1),
280
+ l[3] || (l[3] = n("div", { class: "w-[200px]" }, null, -1)),
281
+ l[4] || (l[4] = n("div", { class: "w-[52px]" }, null, -1))
282
+ ]),
283
+ (d(!0), c(U, null, G(q.value, (o) => (d(), w(t, {
284
+ key: o.id,
285
+ disabled: e.disabled,
286
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
287
+ rules: [i($)(0), i(A)(0)]
288
+ }, {
289
+ default: I(({ invalid: k }) => {
290
+ var _;
291
+ return [
292
+ n("div", Te, [
293
+ C.value.has(o.id) ? (d(), c("div", Me, [
294
+ u(E, {
295
+ name: "error",
296
+ color: "system-error-300",
297
+ size: "sm"
298
+ }),
299
+ n("div", null, p(i(m)("inventory.inventoryBindings.circularError")), 1)
300
+ ])) : v("", !0),
301
+ n("div", Ne, [
302
+ n("div", $e, [
303
+ n("div", ze, p((_ = K.value[o.id]) == null ? void 0 : _.name), 1)
304
+ ]),
305
+ n("div", De, [
306
+ u(y, {
307
+ class: "w-full",
308
+ disabled: e.disabled,
309
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
310
+ "onUpdate:modelValue": (r) => T(o.id, r, e.modelValue),
311
+ invalid: k
312
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
313
+ ]),
314
+ e.readonly ? v("", !0) : (d(), c("div", Ke, [
315
+ u(a, {
316
+ disabled: e.disabled,
317
+ type: "button",
318
+ variant: "plain",
319
+ icon: "delete",
320
+ "icon-color": "#000000",
321
+ onClick: (r) => F(o.id, e.modelValue)
322
+ }, null, 8, ["disabled", "onClick"])
323
+ ]))
324
+ ])
325
+ ])
326
+ ];
327
+ }),
328
+ _: 2
329
+ }, 1032, ["disabled", "modelValue", "rules"]))), 128))
330
+ ])
331
+ ])) : v("", !0),
332
+ n("div", je, [
333
+ n("div", Le, [
334
+ n("div", Oe, p(i(m)("inventory.inventoryBindings.ingredient")), 1),
335
+ e.readonly ? v("", !0) : (d(), w(a, {
336
+ key: 0,
337
+ variant: "secondary",
338
+ "text-color": "primary",
339
+ "border-color": "primary",
340
+ label: i(m)("inventory.inventoryBindings.linkIngredient"),
341
+ "prepend-icon": "link",
342
+ onClick: J
343
+ }, null, 8, ["label"]))
344
+ ]),
345
+ n("div", Ye, [
346
+ n("div", We, [
347
+ n("div", qe, p(i(m)("inventory.inventoryBindings.ingredient")), 1),
348
+ n("div", He, p(i(m)("inventory.inventoryBindings.amount")), 1),
349
+ l[5] || (l[5] = n("div", { class: "w-[52px]" }, null, -1))
350
+ ]),
351
+ (d(!0), c(U, null, G(P.value, (o, k) => {
352
+ var _;
353
+ return d(), c(U, {
354
+ key: o.id
355
+ }, [
356
+ Q(o) ? (d(), c("div", Je, [
357
+ n("div", Qe, [
358
+ n("div", Xe, p(o.id), 1),
359
+ e.readonly ? v("", !0) : (d(), c("div", Ze, [
360
+ u(a, {
361
+ disabled: e.disabled,
362
+ type: "button",
363
+ variant: "tertiary",
364
+ icon: "delete",
365
+ onClick: (r) => F(o.id, e.modelValue)
366
+ }, null, 8, ["disabled", "onClick"])
367
+ ]))
368
+ ]),
369
+ n("div", en, [
370
+ u(E, {
371
+ name: "error",
372
+ color: "system-error-300",
373
+ size: "sm"
374
+ }),
375
+ n("div", null, p(i(m)("inventory.inventoryBindings.missingIngredient")), 1)
376
+ ])
377
+ ])) : (d(), c("div", nn, [
378
+ n("div", on, [
379
+ n("div", tn, [
380
+ u(f, {
381
+ zIndex: 51,
382
+ variant: "plain",
383
+ placement: "top",
384
+ content: (_ = V.value[o.id]) == null ? void 0 : _.name
385
+ }, {
386
+ default: I(() => {
387
+ var r;
388
+ return [
389
+ n("span", ln, p((r = V.value[o.id]) == null ? void 0 : r.name), 1)
390
+ ];
391
+ }),
392
+ _: 2
393
+ }, 1032, ["content"])
394
+ ]),
395
+ n("div", sn, [
396
+ u(me, {
397
+ "model-value": X(o),
398
+ "onUpdate:modelValue": (r) => r && Z(o.id, r, e.modelValue),
399
+ "onUpdate:amount": (r) => ne(o, r),
400
+ unit: M(o),
401
+ placement: k === P.value.length - 1 ? "top" : "bottom",
402
+ "convert-amount-on-change-unit": "",
403
+ disabled: e.readonly
404
+ }, null, 8, ["model-value", "onUpdate:modelValue", "onUpdate:amount", "unit", "placement", "disabled"])
405
+ ]),
406
+ e.readonly ? v("", !0) : (d(), c("div", dn, [
407
+ u(a, {
408
+ disabled: e.disabled,
409
+ type: "button",
410
+ variant: "tertiary",
411
+ icon: "delete",
412
+ onClick: (r) => F(o.id, e.modelValue)
413
+ }, null, 8, ["disabled", "onClick"])
414
+ ]))
415
+ ]),
416
+ n("div", rn, [
417
+ u(t, {
418
+ modelValue: +i(h)(o.amount ?? { amount: 1, precision: 0 }),
419
+ rules: [i(A)(0)]
420
+ }, null, 8, ["modelValue", "rules"]),
421
+ u(t, {
422
+ modelValue: ee(o),
423
+ rules: [
424
+ i(ce)(),
425
+ i(pe)(M(o)),
426
+ () => C.value.has(o.id) ? i(m)("inventory.inventoryBindings.invalidWarning") : !0
427
+ ]
428
+ }, null, 8, ["modelValue", "rules"])
429
+ ])
430
+ ]))
431
+ ], 64);
432
+ }), 128))
433
+ ])
434
+ ])
435
+ ]);
436
+ };
437
+ }
438
+ });
439
+ export {
440
+ vn as _
441
+ };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as l, resolveComponent as m, openBlock as c, createBlock as d, h as g } from "vue";
2
2
  import { useI18n as p } from "@feedmepos/mf-common";
3
3
  import { components as u } from "@feedmepos/ui-library";
4
- import { F as r } from "./app-BEJm79K1.js";
4
+ import { F as r } from "./app-DIOXPCfI.js";
5
5
  const w = /* @__PURE__ */ l({
6
6
  __name: "InventoryBindingSummary",
7
7
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as V, computed as w, ref as h, watch as u, resolveComponent as i, openBlock as F, createBlock as g, withCtx as d, createVNode as A, createElementVNode as k, normalizeClass as K } from "vue";
2
- import { c as s } from "./number-DoYjk_zN.js";
2
+ import { c as s } from "./number-B1buZ_S4.js";
3
3
  const _ = ["value", "disabled"], C = /* @__PURE__ */ V({
4
4
  __name: "NumberPrecisionInput",
5
5
  props: {
@@ -1,4 +1,4 @@
1
- import { m as F, u as f } from "./app-BEJm79K1.js";
1
+ import { m as F, u as f } from "./app-DIOXPCfI.js";
2
2
  import { useCoreStore as v } from "@feedmepos/mf-common";
3
3
  import { ref as _, defineComponent as h, resolveComponent as l, openBlock as y, createElementBlock as g, renderSlot as k, createVNode as p, withCtx as S } from "vue";
4
4
  const m = F((e, t) => {
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as D, ref as A, computed as i, watch as H, resolveComponent as u, openBlock as S, createBlock as x, unref as c, createSlots as Y, withCtx as h, createElementVNode as N, normalizeClass as $, createVNode as m, normalizeStyle as U, Teleport as q, h as p } from "vue";
2
- import { u as E, a as K, x as j } from "./app-BEJm79K1.js";
2
+ import { u as E, a as K, x as j } from "./app-DIOXPCfI.js";
3
3
  import { u as G, _ as J } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-DGlWE5I8.js";
4
4
  import { useBreakpoints as O, useDialog as Q, useSnackbar as R, components as I } from "@feedmepos/ui-library";
5
- import { u as X } from "./vue-i18n-BiedKAFs.js";
6
- import { a as C } from "./date2-CnEklTL8.js";
5
+ import { u as X } from "./vue-i18n-BWe-vqm2.js";
6
+ import { a as C } from "./date2-DBIy5hnh.js";
7
7
  const ie = /* @__PURE__ */ D({
8
8
  __name: "PublishView",
9
9
  setup(Z) {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as b, computed as x, ref as f, onMounted as g, openBlock as n, createElementBlock as o, createElementVNode as t, toDisplayString as e, normalizeStyle as w, createTextVNode as u, Fragment as i, createCommentVNode as v, renderList as p } from "vue";
2
2
  import { useRoute as k } from "vue-router";
3
- import { P as y } from "./app-BEJm79K1.js";
4
- import { L as C } from "./lz-string-K7l_8Og1.js";
3
+ import { P as y } from "./app-DIOXPCfI.js";
4
+ import { L as C } from "./lz-string-BHfmMoLE.js";
5
5
  import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
6
  const P = { class: "purchase-box" }, R = { valign: "bottom" }, A = { class: "title" }, E = { class: "text-right" }, D = { class: "header" }, O = { class: "sub-header" }, S = { class: "caption" }, F = { class: "address" }, T = { class: "text-right" }, L = {
7
7
  key: 0,