@ikas/storefront-models 4.0.0-alpha.49 → 4.0.0-alpha.50

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 (407) hide show
  1. package/package.json +5 -5
  2. package/{build/index.d.ts → src/index.ts} +229 -170
  3. package/src/models/base/index.ts +6 -0
  4. package/src/models/base/init.ts +14 -0
  5. package/{build/models/blog/category/index.d.ts → src/models/blog/category/index.ts} +11 -9
  6. package/src/models/blog/category/init.ts +33 -0
  7. package/{build/models/blog/tag/index.d.ts → src/models/blog/content/index.ts} +5 -4
  8. package/src/models/blog/index.ts +26 -0
  9. package/src/models/blog/init.ts +7 -0
  10. package/src/models/blog/meta-data/index.ts +16 -0
  11. package/src/models/blog/tag/index.ts +5 -0
  12. package/src/models/blog/writer/index.ts +4 -0
  13. package/src/models/brand/index.ts +26 -0
  14. package/src/models/brand/init.ts +27 -0
  15. package/src/models/brand/translation/index.ts +5 -0
  16. package/src/models/campaign-offer/index.ts +43 -0
  17. package/src/models/campaign-offer/product/index.ts +27 -0
  18. package/src/models/cart/available-shipping-method/index.ts +13 -0
  19. package/src/models/cart/campaign-offer/index.ts +24 -0
  20. package/src/models/cart/index.ts +12 -0
  21. package/src/models/category/index.ts +30 -0
  22. package/src/models/category/init.ts +37 -0
  23. package/src/models/category/path-item/index.ts +11 -0
  24. package/src/models/category/path-item/init.ts +25 -0
  25. package/src/models/category/translations/index.ts +5 -0
  26. package/src/models/checkout/index.ts +3 -0
  27. package/src/models/checkout-settings/index.ts +24 -0
  28. package/src/models/checkout-settings/option/index.ts +4 -0
  29. package/src/models/checkout-settings/price/index.ts +5 -0
  30. package/src/models/city/index.ts +11 -0
  31. package/src/models/contact-form/index.ts +7 -0
  32. package/src/models/country/index.ts +17 -0
  33. package/src/models/country/init.ts +16 -0
  34. package/src/models/country/location-translations/index.ts +5 -0
  35. package/src/models/customer/address/city/index.ts +5 -0
  36. package/src/models/customer/address/country/index.ts +7 -0
  37. package/src/models/customer/address/district/index.ts +5 -0
  38. package/src/models/customer/address/index.ts +27 -0
  39. package/src/models/customer/address/state/index.ts +5 -0
  40. package/src/models/customer/attribute/index.ts +22 -0
  41. package/src/models/customer/attribute/init.ts +34 -0
  42. package/src/models/customer/attribute/option/index.ts +7 -0
  43. package/src/models/customer/attribute/sales-channel/index.ts +18 -0
  44. package/src/models/customer/attribute/translation/index.ts +8 -0
  45. package/src/models/customer/attribute/translation/option/index.ts +4 -0
  46. package/src/models/customer/attribute/value/index.ts +12 -0
  47. package/src/models/customer/index.ts +48 -0
  48. package/src/models/customer/review/index.ts +28 -0
  49. package/src/models/customer/review/init.ts +7 -0
  50. package/src/models/customer/review/settings/index.ts +4 -0
  51. package/src/models/customer/review/summary/index.ts +9 -0
  52. package/src/models/customer/review/summary/star/index.ts +4 -0
  53. package/src/models/district/index.ts +11 -0
  54. package/src/models/favorite-product/index.ts +6 -0
  55. package/src/models/filter-category/index.ts +9 -0
  56. package/src/models/html-meta-data/index.ts +28 -0
  57. package/src/models/html-meta-data/init.ts +27 -0
  58. package/src/models/html-meta-data/translations/index.ts +5 -0
  59. package/src/models/image/index.ts +4 -0
  60. package/src/models/last-viewed-product/index.ts +4 -0
  61. package/src/models/merchant-settings/address/city/index.ts +5 -0
  62. package/src/models/merchant-settings/address/country/index.ts +7 -0
  63. package/src/models/merchant-settings/address/district/index.ts +5 -0
  64. package/src/models/merchant-settings/address/index.ts +22 -0
  65. package/src/models/merchant-settings/address/state/index.ts +5 -0
  66. package/src/models/merchant-settings/address/type/index.ts +4 -0
  67. package/src/models/merchant-settings/index.ts +28 -0
  68. package/src/models/merchant-settings/init.ts +7 -0
  69. package/src/models/order/address/city/index.ts +5 -0
  70. package/src/models/order/address/country/index.ts +7 -0
  71. package/src/models/order/address/district/index.ts +5 -0
  72. package/src/models/order/address/index.ts +25 -0
  73. package/src/models/order/address/state/index.ts +5 -0
  74. package/src/models/order/adjustment/applied-order-line/index.ts +6 -0
  75. package/src/models/order/adjustment/index.ts +24 -0
  76. package/src/models/order/customer/index.ts +9 -0
  77. package/src/models/order/gift-line/index.ts +4 -0
  78. package/src/models/order/index.ts +92 -0
  79. package/src/models/order/invoice/index.ts +15 -0
  80. package/src/models/order/line-item/base-unit/index.ts +22 -0
  81. package/src/models/order/line-item/base-unit/unit-type/index.ts +4 -0
  82. package/src/models/order/line-item/discount/index.ts +10 -0
  83. package/src/models/order/line-item/index.ts +37 -0
  84. package/src/models/order/line-item/option/index.ts +10 -0
  85. package/src/models/order/line-item/option/value/index.ts +5 -0
  86. package/src/models/order/line-item/variant/brand/index.ts +4 -0
  87. package/src/models/order/line-item/variant/category/index.ts +10 -0
  88. package/src/models/order/line-item/variant/index.ts +30 -0
  89. package/src/models/order/line-item/variant/price/index.ts +8 -0
  90. package/src/models/order/line-item/variant/unit/index.ts +6 -0
  91. package/src/models/order/line-item/variant/value/index.ts +7 -0
  92. package/src/models/order/package/index.ts +28 -0
  93. package/src/models/order/package/tracking-info/index.ts +7 -0
  94. package/src/models/order/payment-method/index.ts +9 -0
  95. package/src/models/order/refund/index.ts +6 -0
  96. package/src/models/order/refund/line-item/index.ts +4 -0
  97. package/src/models/order/refund/settings/index.ts +5 -0
  98. package/src/models/order/shipping-line/index.ts +12 -0
  99. package/src/models/order/tax-line/index.ts +4 -0
  100. package/src/models/order/transaction/error/index.ts +5 -0
  101. package/src/models/order/transaction/index.ts +37 -0
  102. package/src/models/order/transaction/payment-method-detail/index.ts +25 -0
  103. package/src/models/order/transaction/payment-method-detail/installment-price/index.ts +7 -0
  104. package/src/models/payment-gateway/additional-price/index.ts +16 -0
  105. package/src/models/payment-gateway/index.ts +47 -0
  106. package/src/models/payment-gateway/init.ts +26 -0
  107. package/src/models/payment-gateway/settings/index.ts +12 -0
  108. package/src/models/payment-gateway/translation/index.ts +5 -0
  109. package/src/models/product/attribute/index.ts +26 -0
  110. package/src/models/product/attribute/init.ts +34 -0
  111. package/src/models/product/attribute/option/index.ts +4 -0
  112. package/src/models/product/attribute/table-cell/index.ts +4 -0
  113. package/src/models/product/attribute/table-template/index.ts +6 -0
  114. package/src/models/product/attribute/translation/index.ts +11 -0
  115. package/src/models/product/attribute-value/index.ts +26 -0
  116. package/src/models/product/attribute-value/init.ts +7 -0
  117. package/src/models/product/back-in-stock-settings/index.ts +3 -0
  118. package/src/models/product/base-unit/index.ts +12 -0
  119. package/src/models/product/campaign/data/index.ts +43 -0
  120. package/src/models/product/campaign/filter/index.ts +12 -0
  121. package/src/models/product/campaign/index.ts +6 -0
  122. package/src/models/product/campaign/product-buyx-then-gety/index.ts +19 -0
  123. package/src/models/product/campaign/product-campaign-date-range-field/index.ts +4 -0
  124. package/src/models/product/campaign/product-fixed-discount/index.ts +13 -0
  125. package/src/models/product/filter/index.ts +98 -0
  126. package/src/models/product/image/index.ts +10 -0
  127. package/src/models/product/image/init.ts +7 -0
  128. package/src/models/product/index.ts +45 -0
  129. package/src/models/product/init.ts +16 -0
  130. package/src/models/product/option-set/index.ts +25 -0
  131. package/src/models/product/option-set/init.ts +77 -0
  132. package/src/models/product/option-set/option/index.ts +81 -0
  133. package/src/models/product/option-set/option/init.ts +13 -0
  134. package/src/models/product/tag/index.ts +4 -0
  135. package/src/models/product/variant/index.ts +22 -0
  136. package/src/models/product/variant/init.ts +10 -0
  137. package/src/models/product/variant/price/index.ts +9 -0
  138. package/src/models/product/variant/unit/index.ts +6 -0
  139. package/src/models/product/variant-type/index.ts +7 -0
  140. package/src/models/product/variant-type/init.ts +15 -0
  141. package/src/models/product-option-file/index.ts +5 -0
  142. package/src/models/raffle/index.ts +77 -0
  143. package/src/models/raffle/init.ts +6 -0
  144. package/src/models/sales-channel/index.ts +17 -0
  145. package/src/models/state/index.ts +7 -0
  146. package/src/models/stock-location/address/city/index.ts +5 -0
  147. package/src/models/stock-location/address/country/index.ts +5 -0
  148. package/src/models/stock-location/address/district/index.ts +5 -0
  149. package/src/models/stock-location/address/index.ts +14 -0
  150. package/src/models/stock-location/address/state/index.ts +5 -0
  151. package/src/models/stock-location/available/index.ts +9 -0
  152. package/src/models/stock-location/index.ts +26 -0
  153. package/src/models/storefront/domain/index.ts +7 -0
  154. package/src/models/storefront/index.ts +31 -0
  155. package/src/models/storefront/localization/index.tsx +6 -0
  156. package/src/models/storefront/routing/dynamic-currency/index.ts +4 -0
  157. package/src/models/storefront/routing/index.tsx +13 -0
  158. package/src/models/storefront/theme/index.tsx +13 -0
  159. package/src/models/storefront/theme-localization/index.tsx +13 -0
  160. package/src/models/theme-json/component/index.ts +19 -0
  161. package/src/models/theme-json/component/prop/index.ts +65 -0
  162. package/src/models/theme-json/custom-data/index.ts +46 -0
  163. package/src/models/theme-json/index.ts +12 -0
  164. package/src/models/theme-json/page/component/index.ts +11 -0
  165. package/src/models/theme-json/page/index.ts +46 -0
  166. package/src/models/theme-json/settings/color/index.ts +13 -0
  167. package/src/models/theme-json/settings/favicon/index.ts +3 -0
  168. package/src/models/theme-json/settings/font-family/index.ts +4 -0
  169. package/src/models/theme-json/settings/index.ts +16 -0
  170. package/src/models/variant-type/index.ts +25 -0
  171. package/src/models/variant-type/init.ts +37 -0
  172. package/src/models/variant-type/variant-value/index.ts +12 -0
  173. package/src/models/variant-type/variant-value/init.ts +5 -0
  174. package/build/_virtual/_tslib.js +0 -1
  175. package/build/index.js +0 -1
  176. package/build/models/base/index.d.ts +0 -6
  177. package/build/models/base/init.d.ts +0 -6
  178. package/build/models/base/init.js +0 -1
  179. package/build/models/blog/category/init.d.ts +0 -11
  180. package/build/models/blog/category/init.js +0 -1
  181. package/build/models/blog/content/index.d.ts +0 -4
  182. package/build/models/blog/index.d.ts +0 -24
  183. package/build/models/blog/init.d.ts +0 -2
  184. package/build/models/blog/init.js +0 -1
  185. package/build/models/blog/meta-data/index.d.ts +0 -14
  186. package/build/models/blog/meta-data/index.js +0 -1
  187. package/build/models/blog/writer/index.d.ts +0 -4
  188. package/build/models/brand/index.d.ts +0 -23
  189. package/build/models/brand/index.js +0 -1
  190. package/build/models/brand/init.d.ts +0 -2
  191. package/build/models/brand/init.js +0 -1
  192. package/build/models/brand/translation/index.d.ts +0 -5
  193. package/build/models/campaign-offer/index.d.ts +0 -37
  194. package/build/models/campaign-offer/index.js +0 -1
  195. package/build/models/campaign-offer/product/index.d.ts +0 -24
  196. package/build/models/campaign-offer/product/index.js +0 -1
  197. package/build/models/cart/available-shipping-method/index.d.ts +0 -12
  198. package/build/models/cart/available-shipping-method/index.js +0 -1
  199. package/build/models/cart/campaign-offer/index.d.ts +0 -19
  200. package/build/models/cart/campaign-offer/index.js +0 -1
  201. package/build/models/cart/index.d.ts +0 -11
  202. package/build/models/category/index.d.ts +0 -27
  203. package/build/models/category/index.js +0 -1
  204. package/build/models/category/init.d.ts +0 -2
  205. package/build/models/category/init.js +0 -1
  206. package/build/models/category/path-item/index.d.ts +0 -10
  207. package/build/models/category/path-item/init.d.ts +0 -2
  208. package/build/models/category/path-item/init.js +0 -1
  209. package/build/models/category/translations/index.d.ts +0 -5
  210. package/build/models/checkout/index.d.ts +0 -2
  211. package/build/models/checkout-settings/index.d.ts +0 -22
  212. package/build/models/checkout-settings/index.js +0 -1
  213. package/build/models/checkout-settings/option/index.d.ts +0 -4
  214. package/build/models/checkout-settings/price/index.d.ts +0 -5
  215. package/build/models/city/index.d.ts +0 -10
  216. package/build/models/contact-form/index.d.ts +0 -7
  217. package/build/models/country/index.d.ts +0 -16
  218. package/build/models/country/init.d.ts +0 -2
  219. package/build/models/country/init.js +0 -1
  220. package/build/models/country/location-translations/index.d.ts +0 -5
  221. package/build/models/customer/address/city/index.d.ts +0 -5
  222. package/build/models/customer/address/country/index.d.ts +0 -7
  223. package/build/models/customer/address/district/index.d.ts +0 -5
  224. package/build/models/customer/address/index.d.ts +0 -25
  225. package/build/models/customer/address/state/index.d.ts +0 -5
  226. package/build/models/customer/attribute/index.d.ts +0 -20
  227. package/build/models/customer/attribute/index.js +0 -1
  228. package/build/models/customer/attribute/init.d.ts +0 -2
  229. package/build/models/customer/attribute/init.js +0 -1
  230. package/build/models/customer/attribute/option/index.d.ts +0 -7
  231. package/build/models/customer/attribute/sales-channel/index.d.ts +0 -16
  232. package/build/models/customer/attribute/sales-channel/index.js +0 -1
  233. package/build/models/customer/attribute/translation/index.d.ts +0 -7
  234. package/build/models/customer/attribute/translation/option/index.d.ts +0 -4
  235. package/build/models/customer/attribute/value/index.d.ts +0 -9
  236. package/build/models/customer/index.d.ts +0 -43
  237. package/build/models/customer/index.js +0 -1
  238. package/build/models/customer/review/index.d.ts +0 -24
  239. package/build/models/customer/review/index.js +0 -1
  240. package/build/models/customer/review/init.d.ts +0 -2
  241. package/build/models/customer/review/init.js +0 -1
  242. package/build/models/customer/review/settings/index.d.ts +0 -4
  243. package/build/models/customer/review/summary/index.d.ts +0 -8
  244. package/build/models/customer/review/summary/star/index.d.ts +0 -4
  245. package/build/models/district/index.d.ts +0 -10
  246. package/build/models/favorite-product/index.d.ts +0 -5
  247. package/build/models/filter-category/index.d.ts +0 -8
  248. package/build/models/html-meta-data/index.d.ts +0 -25
  249. package/build/models/html-meta-data/index.js +0 -1
  250. package/build/models/html-meta-data/init.d.ts +0 -3
  251. package/build/models/html-meta-data/init.js +0 -1
  252. package/build/models/html-meta-data/translations/index.d.ts +0 -5
  253. package/build/models/image/index.d.ts +0 -4
  254. package/build/models/last-viewed-product/index.d.ts +0 -4
  255. package/build/models/merchant-settings/address/city/index.d.ts +0 -5
  256. package/build/models/merchant-settings/address/country/index.d.ts +0 -7
  257. package/build/models/merchant-settings/address/district/index.d.ts +0 -5
  258. package/build/models/merchant-settings/address/index.d.ts +0 -21
  259. package/build/models/merchant-settings/address/state/index.d.ts +0 -5
  260. package/build/models/merchant-settings/address/type/index.d.ts +0 -4
  261. package/build/models/merchant-settings/address/type/index.js +0 -1
  262. package/build/models/merchant-settings/index.d.ts +0 -24
  263. package/build/models/merchant-settings/index.js +0 -1
  264. package/build/models/merchant-settings/init.d.ts +0 -2
  265. package/build/models/merchant-settings/init.js +0 -1
  266. package/build/models/order/address/city/index.d.ts +0 -5
  267. package/build/models/order/address/country/index.d.ts +0 -7
  268. package/build/models/order/address/district/index.d.ts +0 -5
  269. package/build/models/order/address/index.d.ts +0 -22
  270. package/build/models/order/address/state/index.d.ts +0 -5
  271. package/build/models/order/adjustment/applied-order-line/index.d.ts +0 -6
  272. package/build/models/order/adjustment/index.d.ts +0 -21
  273. package/build/models/order/adjustment/index.js +0 -1
  274. package/build/models/order/customer/index.d.ts +0 -9
  275. package/build/models/order/gift-line/index.d.ts +0 -4
  276. package/build/models/order/index.d.ts +0 -86
  277. package/build/models/order/index.js +0 -1
  278. package/build/models/order/invoice/index.d.ts +0 -14
  279. package/build/models/order/invoice/index.js +0 -1
  280. package/build/models/order/line-item/base-unit/index.d.ts +0 -20
  281. package/build/models/order/line-item/base-unit/index.js +0 -1
  282. package/build/models/order/line-item/base-unit/unit-type/index.d.ts +0 -4
  283. package/build/models/order/line-item/discount/index.d.ts +0 -9
  284. package/build/models/order/line-item/index.d.ts +0 -35
  285. package/build/models/order/line-item/index.js +0 -1
  286. package/build/models/order/line-item/option/index.d.ts +0 -9
  287. package/build/models/order/line-item/option/value/index.d.ts +0 -5
  288. package/build/models/order/line-item/variant/brand/index.d.ts +0 -4
  289. package/build/models/order/line-item/variant/category/index.d.ts +0 -9
  290. package/build/models/order/line-item/variant/index.d.ts +0 -27
  291. package/build/models/order/line-item/variant/price/index.d.ts +0 -8
  292. package/build/models/order/line-item/variant/unit/index.d.ts +0 -5
  293. package/build/models/order/line-item/variant/value/index.d.ts +0 -7
  294. package/build/models/order/package/index.d.ts +0 -26
  295. package/build/models/order/package/index.js +0 -1
  296. package/build/models/order/package/tracking-info/index.d.ts +0 -7
  297. package/build/models/order/payment-method/index.d.ts +0 -8
  298. package/build/models/order/refund/index.d.ts +0 -5
  299. package/build/models/order/refund/line-item/index.d.ts +0 -4
  300. package/build/models/order/refund/settings/index.d.ts +0 -5
  301. package/build/models/order/shipping-line/index.d.ts +0 -11
  302. package/build/models/order/tax-line/index.d.ts +0 -4
  303. package/build/models/order/transaction/error/index.d.ts +0 -5
  304. package/build/models/order/transaction/index.d.ts +0 -34
  305. package/build/models/order/transaction/index.js +0 -1
  306. package/build/models/order/transaction/payment-method-detail/index.d.ts +0 -22
  307. package/build/models/order/transaction/payment-method-detail/index.js +0 -1
  308. package/build/models/order/transaction/payment-method-detail/installment-price/index.d.ts +0 -7
  309. package/build/models/payment-gateway/additional-price/index.d.ts +0 -14
  310. package/build/models/payment-gateway/additional-price/index.js +0 -1
  311. package/build/models/payment-gateway/index.d.ts +0 -42
  312. package/build/models/payment-gateway/index.js +0 -1
  313. package/build/models/payment-gateway/init.d.ts +0 -2
  314. package/build/models/payment-gateway/init.js +0 -1
  315. package/build/models/payment-gateway/settings/index.d.ts +0 -11
  316. package/build/models/payment-gateway/settings/index.js +0 -1
  317. package/build/models/payment-gateway/translation/index.d.ts +0 -5
  318. package/build/models/product/attribute/index.d.ts +0 -24
  319. package/build/models/product/attribute/index.js +0 -1
  320. package/build/models/product/attribute/init.d.ts +0 -2
  321. package/build/models/product/attribute/init.js +0 -1
  322. package/build/models/product/attribute/option/index.d.ts +0 -4
  323. package/build/models/product/attribute/table-cell/index.d.ts +0 -4
  324. package/build/models/product/attribute/table-template/index.d.ts +0 -5
  325. package/build/models/product/attribute/translation/index.d.ts +0 -10
  326. package/build/models/product/attribute-value/index.d.ts +0 -21
  327. package/build/models/product/attribute-value/init.d.ts +0 -2
  328. package/build/models/product/attribute-value/init.js +0 -1
  329. package/build/models/product/back-in-stock-settings/index.d.ts +0 -3
  330. package/build/models/product/base-unit/index.d.ts +0 -10
  331. package/build/models/product/campaign/data/index.d.ts +0 -39
  332. package/build/models/product/campaign/data/index.js +0 -1
  333. package/build/models/product/campaign/filter/index.d.ts +0 -11
  334. package/build/models/product/campaign/filter/index.js +0 -1
  335. package/build/models/product/campaign/index.d.ts +0 -5
  336. package/build/models/product/campaign/product-buyx-then-gety/index.d.ts +0 -16
  337. package/build/models/product/campaign/product-campaign-date-range-field/index.d.ts +0 -4
  338. package/build/models/product/campaign/product-fixed-discount/index.d.ts +0 -11
  339. package/build/models/product/filter/index.d.ts +0 -83
  340. package/build/models/product/filter/index.js +0 -1
  341. package/build/models/product/image/index.d.ts +0 -8
  342. package/build/models/product/image/init.d.ts +0 -2
  343. package/build/models/product/image/init.js +0 -1
  344. package/build/models/product/index.d.ts +0 -41
  345. package/build/models/product/index.js +0 -1
  346. package/build/models/product/init.d.ts +0 -2
  347. package/build/models/product/init.js +0 -1
  348. package/build/models/product/option-set/index.d.ts +0 -21
  349. package/build/models/product/option-set/init.d.ts +0 -6
  350. package/build/models/product/option-set/init.js +0 -1
  351. package/build/models/product/option-set/option/index.d.ts +0 -70
  352. package/build/models/product/option-set/option/index.js +0 -1
  353. package/build/models/product/option-set/option/init.d.ts +0 -2
  354. package/build/models/product/option-set/option/init.js +0 -1
  355. package/build/models/product/tag/index.d.ts +0 -4
  356. package/build/models/product/variant/index.d.ts +0 -21
  357. package/build/models/product/variant/init.d.ts +0 -2
  358. package/build/models/product/variant/init.js +0 -1
  359. package/build/models/product/variant/price/index.d.ts +0 -9
  360. package/build/models/product/variant/unit/index.d.ts +0 -5
  361. package/build/models/product/variant-type/index.d.ts +0 -6
  362. package/build/models/product/variant-type/init.d.ts +0 -2
  363. package/build/models/product/variant-type/init.js +0 -1
  364. package/build/models/product-option-file/index.d.ts +0 -5
  365. package/build/models/raffle/index.d.ts +0 -68
  366. package/build/models/raffle/index.js +0 -1
  367. package/build/models/raffle/init.d.ts +0 -2
  368. package/build/models/raffle/init.js +0 -1
  369. package/build/models/sales-channel/index.d.ts +0 -15
  370. package/build/models/state/index.d.ts +0 -6
  371. package/build/models/stock-location/address/city/index.d.ts +0 -5
  372. package/build/models/stock-location/address/country/index.d.ts +0 -5
  373. package/build/models/stock-location/address/district/index.d.ts +0 -5
  374. package/build/models/stock-location/address/index.d.ts +0 -13
  375. package/build/models/stock-location/address/state/index.d.ts +0 -5
  376. package/build/models/stock-location/available/index.d.ts +0 -8
  377. package/build/models/stock-location/index.d.ts +0 -23
  378. package/build/models/stock-location/index.js +0 -1
  379. package/build/models/storefront/domain/index.d.ts +0 -7
  380. package/build/models/storefront/index.d.ts +0 -27
  381. package/build/models/storefront/index.js +0 -1
  382. package/build/models/storefront/localization/index.d.ts +0 -6
  383. package/build/models/storefront/routing/dynamic-currency/index.d.ts +0 -4
  384. package/build/models/storefront/routing/index.d.ts +0 -12
  385. package/build/models/storefront/theme/index.d.ts +0 -12
  386. package/build/models/storefront/theme/index.js +0 -1
  387. package/build/models/storefront/theme-localization/index.d.ts +0 -11
  388. package/build/models/theme-json/component/index.d.ts +0 -17
  389. package/build/models/theme-json/component/prop/index.d.ts +0 -60
  390. package/build/models/theme-json/component/prop/index.js +0 -1
  391. package/build/models/theme-json/custom-data/index.d.ts +0 -37
  392. package/build/models/theme-json/index.d.ts +0 -11
  393. package/build/models/theme-json/page/component/index.d.ts +0 -5
  394. package/build/models/theme-json/page/index.d.ts +0 -43
  395. package/build/models/theme-json/page/index.js +0 -1
  396. package/build/models/theme-json/settings/color/index.d.ts +0 -12
  397. package/build/models/theme-json/settings/favicon/index.d.ts +0 -3
  398. package/build/models/theme-json/settings/font-family/index.d.ts +0 -4
  399. package/build/models/theme-json/settings/index.d.ts +0 -14
  400. package/build/models/theme-json/settings/index.js +0 -1
  401. package/build/models/variant-type/index.d.ts +0 -21
  402. package/build/models/variant-type/index.js +0 -1
  403. package/build/models/variant-type/init.d.ts +0 -2
  404. package/build/models/variant-type/init.js +0 -1
  405. package/build/models/variant-type/variant-value/index.d.ts +0 -9
  406. package/build/models/variant-type/variant-value/init.d.ts +0 -2
  407. package/build/models/variant-type/variant-value/init.js +0 -1
@@ -0,0 +1,5 @@
1
+ export type IkasOrderRefundSettings = {
2
+ isActiveRefundSection: boolean;
3
+ orderRefundDayLimit: number | null;
4
+ refundDesc: string;
5
+ };
@@ -0,0 +1,12 @@
1
+ import { IkasPaymentMethodType } from "../../payment-gateway";
2
+
3
+ export type IkasOrderShippingLine = {
4
+ finalPrice: number;
5
+ isRefunded: boolean | null;
6
+ paymentMethod: IkasPaymentMethodType | null;
7
+ price: number;
8
+ shippingSettingsId: string | null;
9
+ shippingZoneRateId: string | null;
10
+ taxValue: number | null;
11
+ title: string;
12
+ };
@@ -0,0 +1,4 @@
1
+ export type IkasOrderTaxLine = {
2
+ price: number;
3
+ rate: number;
4
+ };
@@ -0,0 +1,5 @@
1
+ export type IkasTransactionError = {
2
+ code: string | null;
3
+ declineCode: string | null;
4
+ message: string | null;
5
+ };
@@ -0,0 +1,37 @@
1
+ import { IkasPaymentMethodType } from "../../payment-gateway";
2
+ import { IkasTransactionError } from "./error";
3
+ import { IkasTransactionPaymentMethodDetail } from "./payment-method-detail";
4
+
5
+ export type IkasOrderTransaction = {
6
+ amount: number | null;
7
+ checkoutId: string | null;
8
+ createdAt: number | null;
9
+ currencyCode: string | null;
10
+ currencySymbol: string | null;
11
+ customerId: string | null;
12
+ error: IkasTransactionError | null;
13
+ id: string | null;
14
+ orderId: string | null;
15
+ paymentGatewayId: string | null;
16
+ paymentGatewayName: string | null;
17
+ paymentMethod: IkasPaymentMethodType | null;
18
+ paymentMethodDetail: IkasTransactionPaymentMethodDetail | null;
19
+ processedAt: number | null;
20
+ refundReason: string | null;
21
+ status: IkasTransactionStatus | null;
22
+ type: IkasTransactionType | null;
23
+ updatedAt: number | null;
24
+ };
25
+
26
+ export enum IkasTransactionStatus {
27
+ AUTHORIZED = "AUTHORIZED",
28
+ FAILED = "FAILED",
29
+ PENDING = "PENDING",
30
+ SUCCESS = "SUCCESS",
31
+ }
32
+
33
+ export enum IkasTransactionType {
34
+ REFUND = "REFUND",
35
+ SALE = "SALE",
36
+ VOID = "VOID",
37
+ }
@@ -0,0 +1,25 @@
1
+ import { IkasTransactionInstallmentPrice } from "./installment-price";
2
+
3
+ export type IkasTransactionPaymentMethodDetail = {
4
+ bankName: string | null;
5
+ binNumber: string;
6
+ cardAssociation: IkasTransactionCardAssociation | null;
7
+ cardFamily: string | null;
8
+ cardType: IkasTransactionCardType | null;
9
+ installment: IkasTransactionInstallmentPrice | null;
10
+ lastFourDigits: string;
11
+ threeDSecure: boolean | null;
12
+ };
13
+
14
+ export enum IkasTransactionCardAssociation {
15
+ AMERICAN_EXPRESS = "AMERICAN_EXPRESS",
16
+ MASTER_CARD = "MASTER_CARD",
17
+ TROY = "TROY",
18
+ VISA = "VISA",
19
+ }
20
+
21
+ export enum IkasTransactionCardType {
22
+ CREDIT = "CREDIT",
23
+ DEBIT = "DEBIT",
24
+ PREPAID = "PREPAID",
25
+ }
@@ -0,0 +1,7 @@
1
+ export type IkasTransactionInstallmentPrice = {
2
+ installmentCount: number | null;
3
+ installmentPrice: number | null;
4
+ originalRate: number | null;
5
+ rate: number | null;
6
+ totalPrice: number | null;
7
+ };
@@ -0,0 +1,16 @@
1
+ export type IkasPaymentGatewayAdditionalPrice = {
2
+ amount: number;
3
+ amountType: IkasPaymentGatewayTransactionFeeType;
4
+ name: string;
5
+ type: IkasPaymentGatewayAdditionalPriceType;
6
+ };
7
+
8
+ export enum IkasPaymentGatewayTransactionFeeType {
9
+ AMOUNT = "AMOUNT",
10
+ RATIO = "RATIO",
11
+ }
12
+
13
+ export enum IkasPaymentGatewayAdditionalPriceType {
14
+ DECREMENT = "DECREMENT",
15
+ INCREMENT = "INCREMENT",
16
+ }
@@ -0,0 +1,47 @@
1
+ import { IkasPaymentGatewayAdditionalPrice } from "./additional-price";
2
+ import { IkasBaseModel } from "../base";
3
+ import { IkasPaymentGatewayTranslation } from "./translation";
4
+ import { IkasPaymentGatewaySettings } from "./settings";
5
+
6
+ export type IkasPaymentGateway = {
7
+ additionalPrices: IkasPaymentGatewayAdditionalPrice[] | null;
8
+ availableCountries: string[] | null;
9
+ code: string;
10
+ description: string | null;
11
+ logoUrl: string | null;
12
+ masterPassClientId: string | null;
13
+ name: string;
14
+ paymentGatewayProviderId: string | null;
15
+ supportedCurrencies: string[] | null;
16
+ testMode: boolean | null;
17
+ type: IkasPaymentGatewayType;
18
+ paymentMethods: IkasPaymentMethod[];
19
+ paymentMethodType: IkasPaymentMethodType;
20
+ settings?: IkasPaymentGatewaySettings[] | null;
21
+
22
+ translations?: IkasPaymentGatewayTranslation[] | null;
23
+ } & IkasBaseModel;
24
+
25
+ export enum IkasPaymentMethodType {
26
+ APP_PAYMENT = "APP_PAYMENT",
27
+ BUY_ONLINE_PAY_AT_STORE = "BUY_ONLINE_PAY_AT_STORE",
28
+ CASH = "CASH",
29
+ CASH_ON_DELIVERY = "CASH_ON_DELIVERY",
30
+ CREDIT_CARD = "CREDIT_CARD",
31
+ CREDIT_CARD_ON_DELIVERY = "CREDIT_CARD_ON_DELIVERY",
32
+ GIFT_CARD = "GIFT_CARD",
33
+ MONEY_ORDER = "MONEY_ORDER",
34
+ OTHER = "OTHER",
35
+ WALLET = "WALLET",
36
+ }
37
+
38
+ export type IkasPaymentMethod = {
39
+ name: string;
40
+ logoUrl: string | null;
41
+ };
42
+
43
+ export enum IkasPaymentGatewayType {
44
+ EXTERNAL = "EXTERNAL",
45
+ INTERNAL = "INTERNAL",
46
+ THIRD_PARTY = "THIRD_PARTY",
47
+ }
@@ -0,0 +1,26 @@
1
+ import { IkasPaymentGateway } from ".";
2
+ import { IkasPaymentGatewayTranslation } from "./translation";
3
+
4
+ export function initIkasPaymentGateway(
5
+ paymentGateway: IkasPaymentGateway,
6
+ locale: string | null
7
+ ) {
8
+ if (paymentGateway.translations && locale) {
9
+ setTranslations(paymentGateway, paymentGateway.translations, locale);
10
+ delete paymentGateway.translations;
11
+ }
12
+ }
13
+
14
+ function setTranslations(
15
+ paymentGateway: IkasPaymentGateway,
16
+ translations: IkasPaymentGatewayTranslation[],
17
+ locale: string
18
+ ) {
19
+ if (translations && translations.some((t) => t.locale === locale)) {
20
+ const localeTranslations = translations.find((t) => t.locale === locale);
21
+
22
+ if (localeTranslations?.name) paymentGateway.name = localeTranslations.name;
23
+ if (localeTranslations?.description)
24
+ paymentGateway.description = localeTranslations.description;
25
+ }
26
+ }
@@ -0,0 +1,12 @@
1
+ export type IkasPaymentGatewaySettings = {
2
+ label: string;
3
+ order: number;
4
+ type: IkasPaymentGatewaySettingsType;
5
+ value: string | null;
6
+ };
7
+
8
+ export enum IkasPaymentGatewaySettingsType {
9
+ NUMBER = "NUMBER",
10
+ PASSWORD = "PASSWORD",
11
+ TEXT = "TEXT",
12
+ }
@@ -0,0 +1,5 @@
1
+ export type IkasPaymentGatewayTranslation = {
2
+ description: string | null;
3
+ locale: string | null;
4
+ name: string | null;
5
+ };
@@ -0,0 +1,26 @@
1
+ import { IkasProductAttributeTableTemplate } from "./table-template";
2
+ import { IkasProductAttributeOption } from "./option";
3
+ import { IkasProductAttributeTranslation } from "./translation";
4
+
5
+ export type IkasProductAttribute = {
6
+ id: string;
7
+ name: string;
8
+ description: string | null;
9
+ type: IkasProductAttributeType;
10
+ options: IkasProductAttributeOption[] | null;
11
+ tableTemplate: IkasProductAttributeTableTemplate | null;
12
+ translations?: IkasProductAttributeTranslation[] | null;
13
+ };
14
+
15
+ export enum IkasProductAttributeType {
16
+ CHOICE = "CHOICE",
17
+ MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
18
+ TEXT = "TEXT",
19
+ BOOLEAN = "BOOLEAN",
20
+ NUMERIC = "NUMERIC",
21
+ DATETIME = "DATETIME",
22
+ HTML = "HTML",
23
+ TABLE = "TABLE",
24
+ IMAGE = "IMAGE",
25
+ PRODUCT = "PRODUCT",
26
+ }
@@ -0,0 +1,34 @@
1
+ import { IkasProductAttribute } from ".";
2
+ import { IkasProductAttributeTranslation } from "./translation";
3
+
4
+ export function initIkasProductAttribute(
5
+ attribute: IkasProductAttribute,
6
+ locale: string | null
7
+ ) {
8
+ if (attribute.translations && locale) {
9
+ setTranslations(attribute, attribute.translations, locale);
10
+ delete attribute.translations;
11
+ }
12
+ }
13
+
14
+ function setTranslations(
15
+ attribute: IkasProductAttribute,
16
+ translations: IkasProductAttributeTranslation[],
17
+ locale: string
18
+ ) {
19
+ if (translations && translations.some((t) => t.locale === locale)) {
20
+ const localeTranslations = translations.find((t) => t.locale === locale);
21
+
22
+ if (localeTranslations?.name) attribute.name = localeTranslations.name;
23
+ if (localeTranslations?.description)
24
+ attribute.description = localeTranslations.description;
25
+ if (localeTranslations?.options) {
26
+ attribute.options?.forEach((o) => {
27
+ const translatedVV = localeTranslations.options?.find(
28
+ (to) => to.id === o.id
29
+ );
30
+ if (translatedVV && translatedVV.name) o.name = translatedVV.name;
31
+ });
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,4 @@
1
+ export type IkasProductAttributeOption = {
2
+ id: string;
3
+ name: string;
4
+ };
@@ -0,0 +1,4 @@
1
+ export type IkasProductAttributeTableCell = {
2
+ id: string;
3
+ name: string | null;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { IkasProductAttributeTableCell } from "../table-cell";
2
+
3
+ export type IkasProductAttributeTableTemplate = {
4
+ columns: IkasProductAttributeTableCell[] | null;
5
+ rows: IkasProductAttributeTableCell[] | null;
6
+ };
@@ -0,0 +1,11 @@
1
+ export type IkasProductAttributeTranslation = {
2
+ description: string | null;
3
+ locale: string;
4
+ name: string | null;
5
+ options: IkasProductAttributeOptionTranslation[] | null;
6
+ };
7
+
8
+ export type IkasProductAttributeOptionTranslation = {
9
+ id: string;
10
+ name: string | null;
11
+ };
@@ -0,0 +1,26 @@
1
+ import { IkasImage } from "../../image";
2
+ import { IkasProductAttribute } from "../attribute";
3
+ import { IkasProductAttributeOption } from "../attribute/option";
4
+
5
+ export type IkasProductAttributeValue = {
6
+ imageIds: string[] | null;
7
+ productAttributeId: string | null;
8
+ productAttributeOptionId: string | null;
9
+ value: string | null;
10
+
11
+ // Extra
12
+ images?: IkasImage[];
13
+ productAttribute?: IkasProductAttribute | null;
14
+ productAttributeOption?: IkasProductAttributeOption | null;
15
+ };
16
+
17
+ export type IkasAttributeTableCellValue = {
18
+ colId: string;
19
+ rowId: string;
20
+ value: string | null;
21
+ };
22
+
23
+ export type IkasProductAttributeMap = {
24
+ attribute: IkasProductAttribute;
25
+ values: IkasProductAttributeValue[];
26
+ };
@@ -0,0 +1,7 @@
1
+ import { IkasProductAttributeValue } from ".";
2
+
3
+ export function initIkasProductAttributeValue(
4
+ value: IkasProductAttributeValue
5
+ ) {
6
+ value.images = value.imageIds?.map((i) => ({ id: i, isVideo: false }));
7
+ }
@@ -0,0 +1,3 @@
1
+ export type IkasProductBackInStockSettings = {
2
+ customerLoginRequired: boolean;
3
+ };
@@ -0,0 +1,12 @@
1
+ import { IkasProductUnitType } from "../../order/line-item/base-unit";
2
+
3
+ export type IkasProductBaseUnit = {
4
+ baseAmount: number | null;
5
+ type: IkasProductUnitType;
6
+ unit: IkasProductUnit;
7
+ };
8
+
9
+ export type IkasProductUnit = {
10
+ id: string;
11
+ name: string;
12
+ };
@@ -0,0 +1,43 @@
1
+ import { IkasProductBuyXThenGetY } from "../product-buyx-then-gety";
2
+ import { IkasProductCampaignDateRangeField } from "../product-campaign-date-range-field";
3
+ import { IkasProductFixedDiscount } from "../product-fixed-discount";
4
+
5
+ export type IkasProductCampaignData = {
6
+ applicableCustomerGroupIds: string[] | null;
7
+ applicableCustomerIds: string[] | null;
8
+ applicablePrice: IkasCampaignApplicablePrice;
9
+ buyXThenGetY: IkasProductBuyXThenGetY;
10
+ canCombineWithOtherCampaigns: boolean;
11
+ createdFor: IkasCampaignCreatedFor | null;
12
+ currencyCodes: [string] | null;
13
+ dateRange: IkasProductCampaignDateRangeField | null;
14
+ deleted: boolean;
15
+ fixedDiscount: IkasProductFixedDiscount | null;
16
+ hasCoupon: boolean;
17
+ id: string;
18
+ includeDiscountedProducts: boolean | null;
19
+ salesChannelIds: string[] | null;
20
+ title: string;
21
+ type: IkasCampaignType;
22
+ usageCount: number;
23
+ usageLimit: number | null;
24
+ usageLimitPerCustomer: number | null;
25
+ };
26
+
27
+ export enum IkasCampaignApplicablePrice {
28
+ DISCOUNT_PRICE = "DISCOUNT_PRICE",
29
+ SELL_PRICE = "SELL_PRICE",
30
+ }
31
+
32
+ export enum IkasCampaignCreatedFor {
33
+ ABANDONED_CHECKOUT = "ABANDONED_CHECKOUT",
34
+ CART = "CART",
35
+ CUSTOMER_REVIEW = "CUSTOMER_REVIEW",
36
+ }
37
+
38
+ export enum IkasCampaignType {
39
+ BUY_X_THEN_GET_Y = "BUY_X_THEN_GET_Y",
40
+ FIXED_AMOUNT = "FIXED_AMOUNT",
41
+ FREE_SHIPPING = "FREE_SHIPPING",
42
+ RATIO = "FREE_SHIPPING",
43
+ }
@@ -0,0 +1,12 @@
1
+ export type IkasProductCampaignFilter = {
2
+ idList: string[];
3
+ type: IkasCampaignFilterType;
4
+ };
5
+
6
+ export enum IkasCampaignFilterType {
7
+ CATEGORY = "CATEGORY",
8
+ PRODUCT = "PRODUCT",
9
+ PRODUCT_BRAND = "PRODUCT_BRAND",
10
+ PRODUCT_TAG = "PRODUCT_TAG",
11
+ VARIANT = "VARIANT",
12
+ }
@@ -0,0 +1,6 @@
1
+ import { IkasProductCampaignData } from "./data";
2
+
3
+ export type IkasProductCampaign = {
4
+ campaign: IkasProductCampaignData;
5
+ variantIds: string[];
6
+ };
@@ -0,0 +1,19 @@
1
+ import { IkasProductCampaignFilter } from "../filter";
2
+
3
+ export type IkasProductBuyX = {
4
+ amount: number;
5
+ applyByQuantity: boolean;
6
+ filter: IkasProductCampaignFilter;
7
+ };
8
+
9
+ export type IkasProductGetY = {
10
+ amount: number;
11
+ discountRatio: number;
12
+ filter: IkasProductCampaignFilter;
13
+ };
14
+
15
+ export type IkasProductBuyXThenGetY = {
16
+ buyX: IkasProductBuyX;
17
+ getY: IkasProductGetY;
18
+ maxUsagePerOrder: number;
19
+ };
@@ -0,0 +1,4 @@
1
+ export type IkasProductCampaignDateRangeField = {
2
+ start: number | null;
3
+ end: number | null;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { IkasProductCampaignFilter } from "../filter";
2
+
3
+ export type IkasCampaignMinMaxRangeField = {
4
+ min: number | null;
5
+ max: number | null;
6
+ };
7
+
8
+ export type IkasProductFixedDiscount = {
9
+ amount: number | null;
10
+ filters: IkasProductCampaignFilter | null;
11
+ lineItemQuantityRange: IkasCampaignMinMaxRangeField | null;
12
+ priceRange: IkasCampaignMinMaxRangeField | null;
13
+ };
@@ -0,0 +1,98 @@
1
+ import { IkasImage } from "../../image";
2
+
3
+ export type IkasProductFilter = {
4
+ id: string;
5
+ key: string;
6
+ name: string;
7
+ order: number;
8
+ type: IkasProductFilterType;
9
+ displayType: IkasProductFilterDisplayType;
10
+ isMultiSelect: boolean;
11
+ isFacetFilter: boolean | null;
12
+ values?: IkasApplicableProductFilterValue[] | null;
13
+ customValues?: string[] | null;
14
+ settings?: IkasProductFilterSettings | null;
15
+
16
+ // Extra
17
+ numberRange?: IkasFilterRangeValue | null; // Selected range value for the number slider
18
+ numberRangeLimit?: IkasFilterRangeValue | null; // Limits for the number range slider
19
+ numberRangeListOptions?: IkasProductFilterNumberRangeListOption[] | null; // List options for the number range select
20
+ };
21
+
22
+ export type IkasApplicableProductFilterValue = {
23
+ id: string;
24
+ key: string;
25
+ name: string;
26
+ colorCode?: string | null;
27
+ thumbnailImageId?: string | null;
28
+ thumbnailImage?: IkasImage | null;
29
+ resultCount?: number | null;
30
+
31
+ // Extra
32
+ isSelected: boolean;
33
+ };
34
+
35
+ export type IkasProductFilterValue = {
36
+ id: string;
37
+ type: IkasProductFilterType;
38
+ displayType: IkasProductFilterDisplayType;
39
+ valueList: string[];
40
+ };
41
+
42
+ export type IkasProductFilterSettings = {
43
+ useAndFilter?: boolean | null;
44
+ showCollapsedOnDesktop: boolean;
45
+ showCollapsedOnMobile: boolean;
46
+ sortType: IkasProductFilterSortType;
47
+ customSortedValues: string[] | null;
48
+ };
49
+
50
+ export type IkasProductFacetInput = {
51
+ id: string;
52
+ type: IkasProductFilterType;
53
+ displayType: IkasProductFilterDisplayType;
54
+ };
55
+
56
+ export enum IkasProductFilterType {
57
+ ATTRIBUTE = "ATTRIBUTE",
58
+ BRAND = "BRAND",
59
+ DISCOUNT_RATIO = "DISCOUNT_RATIO",
60
+ PRICE = "PRICE",
61
+ STOCK_STATUS = "STOCK_STATUS",
62
+ TAG = "TAG",
63
+ VARIANT_TYPE = "VARIANT_TYPE",
64
+ }
65
+
66
+ export enum IkasProductFilterDisplayType {
67
+ BOX = "BOX",
68
+ DATE_RANGE = "DATE_RANGE",
69
+ LIST = "LIST",
70
+ NUMBER_RANGE_LIST = "NUMBER_RANGE_LIST",
71
+ NUMBER_RANGE = "NUMBER_RANGE",
72
+ SWATCH = "SWATCH",
73
+ }
74
+
75
+ export enum IkasProductFilterSortType {
76
+ ALPHABETICAL_ASC = "ALPHABETICAL_ASC",
77
+ ALPHABETICAL_DESC = "ALPHABETICAL_DESC",
78
+ PRODUCT_COUNT_ASC = "PRODUCT_COUNT_ASC",
79
+ PRODUCT_COUNT_DESC = "PRODUCT_COUNT_DESC",
80
+ CUSTOM_SORT = "CUSTOM_SORT",
81
+ }
82
+
83
+ export enum IkasProductStockFilterValue {
84
+ IN_STOCK = "in-stock",
85
+ OUT_OF_STOCK = "out-of-stock",
86
+ }
87
+
88
+ export type IkasFilterRangeValue = {
89
+ from: number;
90
+ to: number | undefined | null;
91
+ };
92
+
93
+ export type IkasProductFilterNumberRangeListOption = {
94
+ from: number;
95
+ to: number | undefined | null;
96
+ key: string;
97
+ isSelected: boolean;
98
+ };
@@ -0,0 +1,10 @@
1
+ import { IkasImage } from "../../image";
2
+
3
+ export type IkasProductImage = {
4
+ imageId: string | null;
5
+ isMain: boolean;
6
+ isVideo: boolean | null;
7
+ order: number;
8
+
9
+ image?: IkasImage | null;
10
+ };
@@ -0,0 +1,7 @@
1
+ import { IkasProductImage } from ".";
2
+
3
+ export function initIkasProductImage(productImage: IkasProductImage) {
4
+ productImage.image = productImage.imageId
5
+ ? { id: productImage.imageId, isVideo: productImage.isVideo || false }
6
+ : null;
7
+ }
@@ -0,0 +1,45 @@
1
+ import { IkasCategory } from "../category";
2
+ import { IkasProductVariant } from "./variant";
3
+ import { IkasProductAttributeValue } from "./attribute-value";
4
+ import { IkasProductVariantType } from "./variant-type";
5
+ import { IkasBrand } from "../brand";
6
+ import { IkasHTMLMetaData } from "../html-meta-data";
7
+ import { IkasProductTag } from "./tag";
8
+ import { IkasVariantValue } from "../variant-type/variant-value";
9
+ import { IkasVariantType } from "../variant-type";
10
+ import { IkasProductBaseUnit } from "./base-unit";
11
+
12
+ export type IkasProduct = {
13
+ id: string;
14
+ name: string;
15
+ type: IkasProductType;
16
+ description: string;
17
+ shortDescription: string;
18
+ metaData: IkasHTMLMetaData | null;
19
+ brand: IkasBrand | null;
20
+ categories: IkasCategory[];
21
+ tags: IkasProductTag[] | null;
22
+ variants: IkasProductVariant[];
23
+ attributes: IkasProductAttributeValue[];
24
+ variantTypes: IkasProductVariantType[];
25
+ productOptionSetId: string | null;
26
+ baseUnit: IkasProductBaseUnit | null;
27
+ };
28
+
29
+ export enum IkasProductType {
30
+ PHYSICAL = "PHYSICAL",
31
+ DIGITAL = "DIGITAL",
32
+ MEMBERSHIP = "MEMBERSHIP",
33
+ }
34
+
35
+ export type IkasDisplayedVariantValue = {
36
+ variant: IkasProductVariant; // TODO remove?
37
+ variantValue: IkasVariantValue;
38
+ hasStock: boolean;
39
+ isSelected: boolean;
40
+ };
41
+
42
+ export type IkasDisplayedVariantType = {
43
+ variantType: IkasVariantType;
44
+ displayedVariantValues: IkasDisplayedVariantValue[];
45
+ };
@@ -0,0 +1,16 @@
1
+ import type { IkasProduct } from ".";
2
+ import { initIkasProductVariantType } from "./variant-type/init";
3
+ import { initIkasProductVariant } from "./variant/init";
4
+ import { initIkasProductAttributeValue } from "./attribute-value/init";
5
+ import { initIkasBrand } from "../brand/init";
6
+ import { initIkasCategory } from "../category/init";
7
+ import { initIkasHTMLMetaData } from "../html-meta-data/init";
8
+
9
+ export function initIkasProduct(product: IkasProduct, locale: string | null) {
10
+ product.metaData && initIkasHTMLMetaData(product.metaData, locale);
11
+ product.brand && initIkasBrand(product.brand, locale);
12
+ product.categories.forEach((c) => initIkasCategory(c, locale));
13
+ product.variants.forEach(initIkasProductVariant);
14
+ product.attributes.forEach(initIkasProductAttributeValue);
15
+ product.variantTypes.forEach(initIkasProductVariantType);
16
+ }