@ikas/storefront-models 4.0.0-alpha.79 → 4.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-cjs/_virtual/_tslib.js +1 -0
- package/build-cjs/index.d.ts +0 -16
- package/build-cjs/index.js +2 -1
- package/build-cjs/models/base/init.js +1 -0
- package/build-cjs/models/blog/category/init.js +1 -0
- package/build-cjs/models/blog/init.js +1 -0
- package/build-cjs/models/blog/meta-data/index.js +1 -0
- package/build-cjs/models/brand/index.js +1 -0
- package/build-cjs/models/brand/init.js +1 -0
- package/build-cjs/models/campaign-offer/index.js +1 -0
- package/build-cjs/models/campaign-offer/product/index.js +1 -0
- package/build-cjs/models/cart/available-shipping-method/index.js +1 -0
- package/build-cjs/models/cart/campaign-offer/index.js +1 -0
- package/build-cjs/models/category/index.js +1 -0
- package/build-cjs/models/category/init.js +2 -1
- package/build-cjs/models/category/init.js.map +1 -1
- package/build-cjs/models/category/path-item/index.d.ts +0 -2
- package/build-cjs/models/checkout-settings/index.js +1 -0
- package/build-cjs/models/checkout-settings/price/index.d.ts +0 -1
- package/build-cjs/models/country/index.d.ts +0 -2
- package/build-cjs/models/customer/attribute/index.js +1 -0
- package/build-cjs/models/customer/attribute/init.js +1 -0
- package/build-cjs/models/customer/attribute/sales-channel/index.js +1 -0
- package/build-cjs/models/customer/index.js +1 -0
- package/build-cjs/models/customer/review/index.js +1 -0
- package/build-cjs/models/customer/review/init.js +1 -0
- package/build-cjs/models/html-meta-data/index.js +1 -0
- package/build-cjs/models/html-meta-data/init.js +1 -0
- package/build-cjs/models/merchant-settings/index.d.ts +0 -3
- package/build-cjs/models/merchant-settings/index.js +1 -0
- package/build-cjs/models/merchant-settings/index.js.map +1 -1
- package/build-cjs/models/merchant-settings/init.js +1 -0
- package/build-cjs/models/order/adjustment/index.js +1 -0
- package/build-cjs/models/order/index.d.ts +1 -3
- package/build-cjs/models/order/index.js +2 -1
- package/build-cjs/models/order/index.js.map +1 -1
- package/build-cjs/models/order/invoice/index.js +1 -0
- package/build-cjs/models/order/line-item/index.d.ts +0 -3
- package/build-cjs/models/order/line-item/index.js +1 -0
- package/build-cjs/models/order/line-item/index.js.map +1 -1
- package/build-cjs/models/order/line-item/variant/index.d.ts +0 -4
- package/build-cjs/models/order/line-item/variant/price/index.d.ts +0 -1
- package/build-cjs/models/order/package/index.js +1 -0
- package/build-cjs/models/order/transaction/index.d.ts +1 -1
- package/build-cjs/models/order/transaction/index.js +1 -0
- package/build-cjs/models/order/transaction/index.js.map +1 -1
- package/build-cjs/models/order/transaction/payment-method-detail/index.js +1 -0
- package/build-cjs/models/payment-gateway/additional-price/index.js +1 -0
- package/build-cjs/models/payment-gateway/index.js +1 -0
- package/build-cjs/models/payment-gateway/init.js +1 -0
- package/build-cjs/models/payment-gateway/settings/index.js +1 -0
- package/build-cjs/models/product/attribute/index.d.ts +1 -3
- package/build-cjs/models/product/attribute/index.js +2 -1
- package/build-cjs/models/product/attribute/index.js.map +1 -1
- package/build-cjs/models/product/attribute/init.js +1 -0
- package/build-cjs/models/product/attribute-value/init.js +1 -0
- package/build-cjs/models/product/campaign/data/index.js +1 -0
- package/build-cjs/models/product/campaign/filter/index.js +1 -0
- package/build-cjs/models/product/filter/index.d.ts +1 -3
- package/build-cjs/models/product/filter/index.js +2 -1
- package/build-cjs/models/product/filter/index.js.map +1 -1
- package/build-cjs/models/product/image/init.js +1 -0
- package/build-cjs/models/product/index.d.ts +0 -2
- package/build-cjs/models/product/index.js +1 -0
- package/build-cjs/models/product/index.js.map +1 -1
- package/build-cjs/models/product/init.js +1 -0
- package/build-cjs/models/product/option-set/init.js +1 -0
- package/build-cjs/models/product/option-set/option/index.js +1 -0
- package/build-cjs/models/product/option-set/option/init.js +1 -0
- package/build-cjs/models/product/variant/index.d.ts +0 -2
- package/build-cjs/models/product/variant/init.js +1 -0
- package/build-cjs/models/product/variant/price/index.d.ts +0 -2
- package/build-cjs/models/product/variant-type/index.d.ts +0 -1
- package/build-cjs/models/product/variant-type/init.js +1 -0
- package/build-cjs/models/raffle/index.d.ts +3 -9
- package/build-cjs/models/raffle/index.js +2 -1
- package/build-cjs/models/raffle/index.js.map +1 -1
- package/build-cjs/models/raffle/init.js +1 -0
- package/build-cjs/models/stock-location/index.js +1 -0
- package/build-cjs/models/storefront/index.d.ts +0 -4
- package/build-cjs/models/storefront/index.js +1 -0
- package/build-cjs/models/storefront/index.js.map +1 -1
- package/build-cjs/models/storefront/routing/index.d.ts +0 -2
- package/build-cjs/models/storefront/theme/index.js +1 -0
- package/build-cjs/models/storefront/theme-localization/index.d.ts +0 -2
- package/build-cjs/models/theme-json/component/index.d.ts +3 -4
- package/build-cjs/models/theme-json/component/prop/index.d.ts +3 -4
- package/build-cjs/models/theme-json/component/prop/index.js +1 -0
- package/build-cjs/models/theme-json/page/index.js +1 -0
- package/build-cjs/models/theme-json/settings/index.js +1 -0
- package/build-cjs/models/variant-type/index.js +1 -0
- package/build-cjs/models/variant-type/init.js +1 -0
- package/build-cjs/models/variant-type/variant-value/init.js +1 -0
- package/package.json +3 -9
- package/{build/index.d.ts → src/index.ts} +213 -172
- package/src/models/base/index.ts +6 -0
- package/src/models/base/init.ts +14 -0
- package/{build/models/blog/category/index.d.ts → src/models/blog/category/index.ts} +11 -9
- package/src/models/blog/category/init.ts +33 -0
- package/{build/models/blog/tag/index.d.ts → src/models/blog/content/index.ts} +5 -4
- package/src/models/blog/index.ts +26 -0
- package/src/models/blog/init.ts +7 -0
- package/src/models/blog/meta-data/index.ts +16 -0
- package/src/models/blog/tag/index.ts +5 -0
- package/src/models/blog/writer/index.ts +4 -0
- package/src/models/brand/index.ts +26 -0
- package/src/models/brand/init.ts +27 -0
- package/src/models/brand/translation/index.ts +5 -0
- package/src/models/campaign-offer/index.ts +43 -0
- package/src/models/campaign-offer/product/index.ts +27 -0
- package/src/models/cart/available-shipping-method/index.ts +13 -0
- package/src/models/cart/campaign-offer/index.ts +24 -0
- package/src/models/cart/index.ts +12 -0
- package/src/models/category/index.ts +30 -0
- package/src/models/category/init.ts +33 -0
- package/src/models/category/path-item/index.ts +9 -0
- package/src/models/category/translations/index.ts +5 -0
- package/src/models/checkout/index.ts +3 -0
- package/src/models/checkout-settings/index.ts +24 -0
- package/src/models/checkout-settings/option/index.ts +4 -0
- package/src/models/checkout-settings/price/index.ts +4 -0
- package/src/models/city/index.ts +11 -0
- package/src/models/contact-form/index.ts +7 -0
- package/src/models/country/index.ts +15 -0
- package/src/models/customer/address/city/index.ts +5 -0
- package/src/models/customer/address/country/index.ts +7 -0
- package/src/models/customer/address/district/index.ts +5 -0
- package/src/models/customer/address/index.tsx +27 -0
- package/src/models/customer/address/state/index.ts +5 -0
- package/src/models/customer/attribute/index.ts +22 -0
- package/src/models/customer/attribute/init.ts +34 -0
- package/src/models/customer/attribute/option/index.ts +7 -0
- package/src/models/customer/attribute/sales-channel/index.ts +18 -0
- package/src/models/customer/attribute/translation/index.ts +8 -0
- package/src/models/customer/attribute/translation/option/index.ts +4 -0
- package/src/models/customer/attribute/value/index.ts +12 -0
- package/src/models/customer/index.ts +48 -0
- package/src/models/customer/review/index.ts +28 -0
- package/src/models/customer/review/init.ts +7 -0
- package/src/models/customer/review/settings/index.ts +4 -0
- package/src/models/customer/review/summary/index.ts +9 -0
- package/src/models/customer/review/summary/star/index.ts +4 -0
- package/src/models/district/index.ts +11 -0
- package/src/models/favorite-product/index.ts +6 -0
- package/src/models/filter-category/index.ts +9 -0
- package/src/models/html-meta-data/index.ts +28 -0
- package/src/models/html-meta-data/init.ts +27 -0
- package/src/models/html-meta-data/translations/index.ts +5 -0
- package/src/models/image/index.ts +4 -0
- package/src/models/last-viewed-product/index.ts +4 -0
- package/src/models/merchant-settings/index.ts +25 -0
- package/src/models/merchant-settings/init.ts +7 -0
- package/src/models/order/address/city/index.ts +5 -0
- package/src/models/order/address/country/index.ts +7 -0
- package/src/models/order/address/district/index.ts +5 -0
- package/src/models/order/address/index.ts +25 -0
- package/src/models/order/address/state/index.ts +5 -0
- package/src/models/order/adjustment/applied-order-line/index.ts +6 -0
- package/src/models/order/adjustment/index.ts +24 -0
- package/src/models/order/customer/index.ts +9 -0
- package/src/models/order/gift-line/index.ts +4 -0
- package/src/models/order/index.ts +90 -0
- package/src/models/order/invoice/index.ts +15 -0
- package/src/models/order/line-item/discount/index.ts +10 -0
- package/src/models/order/line-item/index.ts +34 -0
- package/src/models/order/line-item/option/index.ts +10 -0
- package/src/models/order/line-item/option/value/index.ts +5 -0
- package/src/models/order/line-item/variant/brand/index.ts +4 -0
- package/src/models/order/line-item/variant/category/index.ts +10 -0
- package/src/models/order/line-item/variant/index.ts +26 -0
- package/src/models/order/line-item/variant/price/index.ts +7 -0
- package/src/models/order/line-item/variant/value/index.ts +7 -0
- package/src/models/order/package/index.ts +28 -0
- package/src/models/order/package/tracking-info/index.ts +7 -0
- package/src/models/order/payment-method/index.ts +9 -0
- package/src/models/order/refund/index.ts +6 -0
- package/src/models/order/refund/line-item/index.ts +4 -0
- package/src/models/order/refund/settings/index.ts +5 -0
- package/src/models/order/shipping-line/index.ts +12 -0
- package/src/models/order/tax-line/index.ts +4 -0
- package/src/models/order/transaction/error/index.ts +5 -0
- package/src/models/order/transaction/index.ts +39 -0
- package/src/models/order/transaction/payment-method-detail/index.ts +25 -0
- package/src/models/order/transaction/payment-method-detail/installment-price/index.ts +7 -0
- package/src/models/payment-gateway/additional-price/index.ts +16 -0
- package/src/models/payment-gateway/index.ts +47 -0
- package/src/models/payment-gateway/init.ts +26 -0
- package/src/models/payment-gateway/settings/index.ts +12 -0
- package/src/models/payment-gateway/translation/index.ts +5 -0
- package/src/models/product/attribute/index.ts +24 -0
- package/src/models/product/attribute/init.ts +34 -0
- package/src/models/product/attribute/option/index.ts +4 -0
- package/src/models/product/attribute/table-cell/index.ts +4 -0
- package/src/models/product/attribute/table-template/index.ts +6 -0
- package/src/models/product/attribute/translation/index.ts +11 -0
- package/src/models/product/attribute-value/index.ts +26 -0
- package/src/models/product/attribute-value/init.ts +7 -0
- package/src/models/product/back-in-stock-settings/index.ts +3 -0
- package/src/models/product/campaign/data/index.ts +43 -0
- package/src/models/product/campaign/filter/index.ts +12 -0
- package/src/models/product/campaign/index.ts +6 -0
- package/src/models/product/campaign/product-buyx-then-gety/index.ts +19 -0
- package/src/models/product/campaign/product-campaign-date-range-field/index.ts +4 -0
- package/src/models/product/campaign/product-fixed-discount/index.ts +13 -0
- package/src/models/product/filter/index.ts +96 -0
- package/src/models/product/image/index.ts +10 -0
- package/src/models/product/image/init.ts +7 -0
- package/src/models/product/index.ts +43 -0
- package/src/models/product/init.ts +16 -0
- package/src/models/product/option-set/index.ts +25 -0
- package/src/models/product/option-set/init.ts +77 -0
- package/src/models/product/option-set/option/index.ts +81 -0
- package/src/models/product/option-set/option/init.ts +13 -0
- package/src/models/product/tag/index.ts +4 -0
- package/src/models/product/variant/index.ts +20 -0
- package/src/models/product/variant/init.ts +10 -0
- package/src/models/product/variant/price/index.ts +7 -0
- package/src/models/product/variant-type/index.ts +6 -0
- package/src/models/product/variant-type/init.ts +15 -0
- package/src/models/raffle/index.ts +70 -0
- package/src/models/raffle/init.ts +6 -0
- package/src/models/sales-channel/index.ts +17 -0
- package/src/models/state/index.ts +7 -0
- package/src/models/stock-location/address/city/index.ts +5 -0
- package/src/models/stock-location/address/country/index.ts +5 -0
- package/src/models/stock-location/address/district/index.ts +5 -0
- package/src/models/stock-location/address/index.ts +14 -0
- package/src/models/stock-location/address/state/index.ts +5 -0
- package/src/models/stock-location/available/index.ts +9 -0
- package/src/models/stock-location/index.ts +26 -0
- package/src/models/storefront/domain/index.ts +7 -0
- package/src/models/storefront/index.ts +30 -0
- package/src/models/storefront/localization/index.tsx +6 -0
- package/src/models/storefront/routing/dynamic-currency/index.ts +4 -0
- package/src/models/storefront/routing/index.tsx +11 -0
- package/src/models/storefront/theme/index.tsx +13 -0
- package/src/models/storefront/theme-localization/index.tsx +13 -0
- package/src/models/theme-json/component/index.ts +19 -0
- package/src/models/theme-json/component/prop/index.ts +65 -0
- package/src/models/theme-json/custom-data/index.ts +46 -0
- package/src/models/theme-json/index.ts +12 -0
- package/src/models/theme-json/page/component/index.ts +11 -0
- package/src/models/theme-json/page/index.ts +46 -0
- package/src/models/theme-json/settings/color/index.ts +13 -0
- package/src/models/theme-json/settings/favicon/index.ts +3 -0
- package/src/models/theme-json/settings/font-family/index.ts +4 -0
- package/src/models/theme-json/settings/index.ts +16 -0
- package/src/models/variant-type/index.ts +25 -0
- package/src/models/variant-type/init.ts +37 -0
- package/src/models/variant-type/variant-value/index.ts +12 -0
- package/src/models/variant-type/variant-value/init.ts +5 -0
- package/build/_virtual/_tslib.js +0 -1
- package/build/index.js +0 -1
- package/build/models/base/index.d.ts +0 -6
- package/build/models/base/init.d.ts +0 -6
- package/build/models/base/init.js +0 -1
- package/build/models/blog/category/init.d.ts +0 -11
- package/build/models/blog/category/init.js +0 -1
- package/build/models/blog/content/index.d.ts +0 -4
- package/build/models/blog/index.d.ts +0 -24
- package/build/models/blog/init.d.ts +0 -2
- package/build/models/blog/init.js +0 -1
- package/build/models/blog/meta-data/index.d.ts +0 -14
- package/build/models/blog/meta-data/index.js +0 -1
- package/build/models/blog/writer/index.d.ts +0 -4
- package/build/models/brand/index.d.ts +0 -23
- package/build/models/brand/index.js +0 -1
- package/build/models/brand/init.d.ts +0 -2
- package/build/models/brand/init.js +0 -1
- package/build/models/brand/translation/index.d.ts +0 -5
- package/build/models/campaign-offer/index.d.ts +0 -37
- package/build/models/campaign-offer/index.js +0 -1
- package/build/models/campaign-offer/product/index.d.ts +0 -24
- package/build/models/campaign-offer/product/index.js +0 -1
- package/build/models/cart/available-shipping-method/index.d.ts +0 -12
- package/build/models/cart/available-shipping-method/index.js +0 -1
- package/build/models/cart/campaign-offer/index.d.ts +0 -19
- package/build/models/cart/campaign-offer/index.js +0 -1
- package/build/models/cart/index.d.ts +0 -11
- package/build/models/category/index.d.ts +0 -27
- package/build/models/category/index.js +0 -1
- package/build/models/category/init.d.ts +0 -2
- package/build/models/category/init.js +0 -1
- package/build/models/category/path-item/index.d.ts +0 -10
- package/build/models/category/path-item/init.d.ts +0 -2
- package/build/models/category/path-item/init.js +0 -1
- package/build/models/category/translations/index.d.ts +0 -5
- package/build/models/checkout/index.d.ts +0 -2
- package/build/models/checkout-settings/index.d.ts +0 -22
- package/build/models/checkout-settings/index.js +0 -1
- package/build/models/checkout-settings/option/index.d.ts +0 -4
- package/build/models/checkout-settings/price/index.d.ts +0 -5
- package/build/models/city/index.d.ts +0 -10
- package/build/models/contact-form/index.d.ts +0 -7
- package/build/models/country/index.d.ts +0 -16
- package/build/models/country/init.d.ts +0 -2
- package/build/models/country/init.js +0 -1
- package/build/models/country/location-translations/index.d.ts +0 -5
- package/build/models/customer/address/city/index.d.ts +0 -5
- package/build/models/customer/address/country/index.d.ts +0 -7
- package/build/models/customer/address/district/index.d.ts +0 -5
- package/build/models/customer/address/index.d.ts +0 -25
- package/build/models/customer/address/state/index.d.ts +0 -5
- package/build/models/customer/attribute/index.d.ts +0 -20
- package/build/models/customer/attribute/index.js +0 -1
- package/build/models/customer/attribute/init.d.ts +0 -2
- package/build/models/customer/attribute/init.js +0 -1
- package/build/models/customer/attribute/option/index.d.ts +0 -7
- package/build/models/customer/attribute/sales-channel/index.d.ts +0 -16
- package/build/models/customer/attribute/sales-channel/index.js +0 -1
- package/build/models/customer/attribute/translation/index.d.ts +0 -7
- package/build/models/customer/attribute/translation/option/index.d.ts +0 -4
- package/build/models/customer/attribute/value/index.d.ts +0 -9
- package/build/models/customer/index.d.ts +0 -43
- package/build/models/customer/index.js +0 -1
- package/build/models/customer/review/index.d.ts +0 -24
- package/build/models/customer/review/index.js +0 -1
- package/build/models/customer/review/init.d.ts +0 -2
- package/build/models/customer/review/init.js +0 -1
- package/build/models/customer/review/settings/index.d.ts +0 -4
- package/build/models/customer/review/summary/index.d.ts +0 -8
- package/build/models/customer/review/summary/star/index.d.ts +0 -4
- package/build/models/customer-settings/index.d.ts +0 -7
- package/build/models/district/index.d.ts +0 -10
- package/build/models/favorite-product/index.d.ts +0 -5
- package/build/models/filter-category/index.d.ts +0 -8
- package/build/models/html-meta-data/index.d.ts +0 -25
- package/build/models/html-meta-data/index.js +0 -1
- package/build/models/html-meta-data/init.d.ts +0 -3
- package/build/models/html-meta-data/init.js +0 -1
- package/build/models/html-meta-data/translations/index.d.ts +0 -5
- package/build/models/image/index.d.ts +0 -4
- package/build/models/last-viewed-product/index.d.ts +0 -4
- package/build/models/merchant-settings/address/city/index.d.ts +0 -5
- package/build/models/merchant-settings/address/country/index.d.ts +0 -7
- package/build/models/merchant-settings/address/district/index.d.ts +0 -5
- package/build/models/merchant-settings/address/index.d.ts +0 -21
- package/build/models/merchant-settings/address/state/index.d.ts +0 -5
- package/build/models/merchant-settings/address/type/index.d.ts +0 -4
- package/build/models/merchant-settings/address/type/index.js +0 -1
- package/build/models/merchant-settings/index.d.ts +0 -24
- package/build/models/merchant-settings/index.js +0 -1
- package/build/models/merchant-settings/init.d.ts +0 -2
- package/build/models/merchant-settings/init.js +0 -1
- package/build/models/order/address/city/index.d.ts +0 -5
- package/build/models/order/address/country/index.d.ts +0 -7
- package/build/models/order/address/district/index.d.ts +0 -5
- package/build/models/order/address/index.d.ts +0 -22
- package/build/models/order/address/state/index.d.ts +0 -5
- package/build/models/order/adjustment/applied-order-line/index.d.ts +0 -6
- package/build/models/order/adjustment/index.d.ts +0 -21
- package/build/models/order/adjustment/index.js +0 -1
- package/build/models/order/customer/index.d.ts +0 -9
- package/build/models/order/gift-line/index.d.ts +0 -4
- package/build/models/order/index.d.ts +0 -86
- package/build/models/order/index.js +0 -1
- package/build/models/order/invoice/index.d.ts +0 -14
- package/build/models/order/invoice/index.js +0 -1
- package/build/models/order/line-item/base-unit/index.d.ts +0 -20
- package/build/models/order/line-item/base-unit/index.js +0 -1
- package/build/models/order/line-item/base-unit/unit-type/index.d.ts +0 -4
- package/build/models/order/line-item/discount/index.d.ts +0 -9
- package/build/models/order/line-item/index.d.ts +0 -35
- package/build/models/order/line-item/index.js +0 -1
- package/build/models/order/line-item/option/index.d.ts +0 -9
- package/build/models/order/line-item/option/value/index.d.ts +0 -5
- package/build/models/order/line-item/variant/brand/index.d.ts +0 -4
- package/build/models/order/line-item/variant/category/index.d.ts +0 -9
- package/build/models/order/line-item/variant/index.d.ts +0 -27
- package/build/models/order/line-item/variant/price/index.d.ts +0 -8
- package/build/models/order/line-item/variant/unit/index.d.ts +0 -5
- package/build/models/order/line-item/variant/value/index.d.ts +0 -7
- package/build/models/order/package/index.d.ts +0 -26
- package/build/models/order/package/index.js +0 -1
- package/build/models/order/package/tracking-info/index.d.ts +0 -7
- package/build/models/order/payment-method/index.d.ts +0 -8
- package/build/models/order/refund/index.d.ts +0 -5
- package/build/models/order/refund/line-item/index.d.ts +0 -4
- package/build/models/order/refund/settings/index.d.ts +0 -5
- package/build/models/order/shipping-line/index.d.ts +0 -11
- package/build/models/order/tax-line/index.d.ts +0 -4
- package/build/models/order/transaction/error/index.d.ts +0 -5
- package/build/models/order/transaction/index.d.ts +0 -34
- package/build/models/order/transaction/index.js +0 -1
- package/build/models/order/transaction/payment-method-detail/index.d.ts +0 -22
- package/build/models/order/transaction/payment-method-detail/index.js +0 -1
- package/build/models/order/transaction/payment-method-detail/installment-price/index.d.ts +0 -7
- package/build/models/payment-gateway/additional-price/index.d.ts +0 -14
- package/build/models/payment-gateway/additional-price/index.js +0 -1
- package/build/models/payment-gateway/index.d.ts +0 -42
- package/build/models/payment-gateway/index.js +0 -1
- package/build/models/payment-gateway/init.d.ts +0 -2
- package/build/models/payment-gateway/init.js +0 -1
- package/build/models/payment-gateway/settings/index.d.ts +0 -11
- package/build/models/payment-gateway/settings/index.js +0 -1
- package/build/models/payment-gateway/translation/index.d.ts +0 -5
- package/build/models/product/attribute/index.d.ts +0 -24
- package/build/models/product/attribute/index.js +0 -1
- package/build/models/product/attribute/init.d.ts +0 -2
- package/build/models/product/attribute/init.js +0 -1
- package/build/models/product/attribute/option/index.d.ts +0 -4
- package/build/models/product/attribute/table-cell/index.d.ts +0 -4
- package/build/models/product/attribute/table-template/index.d.ts +0 -5
- package/build/models/product/attribute/translation/index.d.ts +0 -10
- package/build/models/product/attribute-value/index.d.ts +0 -21
- package/build/models/product/attribute-value/init.d.ts +0 -2
- package/build/models/product/attribute-value/init.js +0 -1
- package/build/models/product/back-in-stock-settings/index.d.ts +0 -3
- package/build/models/product/base-unit/index.d.ts +0 -10
- package/build/models/product/campaign/data/index.d.ts +0 -39
- package/build/models/product/campaign/data/index.js +0 -1
- package/build/models/product/campaign/filter/index.d.ts +0 -11
- package/build/models/product/campaign/filter/index.js +0 -1
- package/build/models/product/campaign/index.d.ts +0 -5
- package/build/models/product/campaign/product-buyx-then-gety/index.d.ts +0 -16
- package/build/models/product/campaign/product-campaign-date-range-field/index.d.ts +0 -4
- package/build/models/product/campaign/product-fixed-discount/index.d.ts +0 -11
- package/build/models/product/filter/index.d.ts +0 -83
- package/build/models/product/filter/index.js +0 -1
- package/build/models/product/image/index.d.ts +0 -8
- package/build/models/product/image/init.d.ts +0 -2
- package/build/models/product/image/init.js +0 -1
- package/build/models/product/index.d.ts +0 -41
- package/build/models/product/index.js +0 -1
- package/build/models/product/init.d.ts +0 -2
- package/build/models/product/init.js +0 -1
- package/build/models/product/option-set/index.d.ts +0 -21
- package/build/models/product/option-set/init.d.ts +0 -6
- package/build/models/product/option-set/init.js +0 -1
- package/build/models/product/option-set/option/index.d.ts +0 -70
- package/build/models/product/option-set/option/index.js +0 -1
- package/build/models/product/option-set/option/init.d.ts +0 -2
- package/build/models/product/option-set/option/init.js +0 -1
- package/build/models/product/tag/index.d.ts +0 -4
- package/build/models/product/variant/index.d.ts +0 -21
- package/build/models/product/variant/init.d.ts +0 -2
- package/build/models/product/variant/init.js +0 -1
- package/build/models/product/variant/price/index.d.ts +0 -9
- package/build/models/product/variant/unit/index.d.ts +0 -5
- package/build/models/product/variant-type/index.d.ts +0 -6
- package/build/models/product/variant-type/init.d.ts +0 -2
- package/build/models/product/variant-type/init.js +0 -1
- package/build/models/product-option-file/index.d.ts +0 -5
- package/build/models/raffle/index.d.ts +0 -68
- package/build/models/raffle/index.js +0 -1
- package/build/models/raffle/init.d.ts +0 -2
- package/build/models/raffle/init.js +0 -1
- package/build/models/sales-channel/index.d.ts +0 -15
- package/build/models/state/index.d.ts +0 -6
- package/build/models/stock-location/address/city/index.d.ts +0 -5
- package/build/models/stock-location/address/country/index.d.ts +0 -5
- package/build/models/stock-location/address/district/index.d.ts +0 -5
- package/build/models/stock-location/address/index.d.ts +0 -13
- package/build/models/stock-location/address/state/index.d.ts +0 -5
- package/build/models/stock-location/available/index.d.ts +0 -8
- package/build/models/stock-location/index.d.ts +0 -23
- package/build/models/stock-location/index.js +0 -1
- package/build/models/storefront/domain/index.d.ts +0 -7
- package/build/models/storefront/index.d.ts +0 -30
- package/build/models/storefront/index.js +0 -1
- package/build/models/storefront/localization/index.d.ts +0 -6
- package/build/models/storefront/meta-templates/index.d.ts +0 -14
- package/build/models/storefront/meta-templates/index.js +0 -1
- package/build/models/storefront/routing/dynamic-currency/index.d.ts +0 -4
- package/build/models/storefront/routing/index.d.ts +0 -12
- package/build/models/storefront/theme/index.d.ts +0 -12
- package/build/models/storefront/theme/index.js +0 -1
- package/build/models/storefront/theme-localization/index.d.ts +0 -13
- package/build/models/theme-json/component/index.d.ts +0 -18
- package/build/models/theme-json/component/prop/index.d.ts +0 -61
- package/build/models/theme-json/component/prop/index.js +0 -1
- package/build/models/theme-json/custom-data/index.d.ts +0 -37
- package/build/models/theme-json/index.d.ts +0 -11
- package/build/models/theme-json/page/component/index.d.ts +0 -5
- package/build/models/theme-json/page/index.d.ts +0 -43
- package/build/models/theme-json/page/index.js +0 -1
- package/build/models/theme-json/settings/color/index.d.ts +0 -12
- package/build/models/theme-json/settings/favicon/index.d.ts +0 -3
- package/build/models/theme-json/settings/font-family/index.d.ts +0 -4
- package/build/models/theme-json/settings/index.d.ts +0 -14
- package/build/models/theme-json/settings/index.js +0 -1
- package/build/models/variant-type/index.d.ts +0 -21
- package/build/models/variant-type/index.js +0 -1
- package/build/models/variant-type/init.d.ts +0 -2
- package/build/models/variant-type/init.js +0 -1
- package/build/models/variant-type/variant-value/index.d.ts +0 -9
- package/build/models/variant-type/variant-value/init.d.ts +0 -2
- package/build/models/variant-type/variant-value/init.js +0 -1
- package/build-cjs/models/category/path-item/init.d.ts +0 -2
- package/build-cjs/models/category/path-item/init.js +0 -1
- package/build-cjs/models/category/path-item/init.js.map +0 -1
- package/build-cjs/models/country/init.d.ts +0 -2
- package/build-cjs/models/country/init.js +0 -1
- package/build-cjs/models/country/init.js.map +0 -1
- package/build-cjs/models/country/location-translations/index.d.ts +0 -5
- package/build-cjs/models/customer-settings/index.d.ts +0 -7
- package/build-cjs/models/merchant-settings/address/city/index.d.ts +0 -5
- package/build-cjs/models/merchant-settings/address/country/index.d.ts +0 -7
- package/build-cjs/models/merchant-settings/address/district/index.d.ts +0 -5
- package/build-cjs/models/merchant-settings/address/index.d.ts +0 -21
- package/build-cjs/models/merchant-settings/address/state/index.d.ts +0 -5
- package/build-cjs/models/merchant-settings/address/type/index.d.ts +0 -4
- package/build-cjs/models/merchant-settings/address/type/index.js +0 -1
- package/build-cjs/models/merchant-settings/address/type/index.js.map +0 -1
- package/build-cjs/models/order/line-item/base-unit/index.d.ts +0 -20
- package/build-cjs/models/order/line-item/base-unit/index.js +0 -1
- package/build-cjs/models/order/line-item/base-unit/index.js.map +0 -1
- package/build-cjs/models/order/line-item/base-unit/unit-type/index.d.ts +0 -4
- package/build-cjs/models/order/line-item/variant/unit/index.d.ts +0 -5
- package/build-cjs/models/product/base-unit/index.d.ts +0 -10
- package/build-cjs/models/product/variant/unit/index.d.ts +0 -5
- package/build-cjs/models/product-option-file/index.d.ts +0 -5
- package/build-cjs/models/storefront/meta-templates/index.d.ts +0 -14
- package/build-cjs/models/storefront/meta-templates/index.js +0 -1
|
@@ -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,24 @@
|
|
|
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
|
+
}
|
|
@@ -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,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,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,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,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,96 @@
|
|
|
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
|
+
};
|
|
48
|
+
|
|
49
|
+
export type IkasProductFacetInput = {
|
|
50
|
+
id: string;
|
|
51
|
+
type: IkasProductFilterType;
|
|
52
|
+
displayType: IkasProductFilterDisplayType;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export enum IkasProductFilterType {
|
|
56
|
+
ATTRIBUTE = "ATTRIBUTE",
|
|
57
|
+
BRAND = "BRAND",
|
|
58
|
+
DISCOUNT_RATIO = "DISCOUNT_RATIO",
|
|
59
|
+
PRICE = "PRICE",
|
|
60
|
+
STOCK_STATUS = "STOCK_STATUS",
|
|
61
|
+
TAG = "TAG",
|
|
62
|
+
VARIANT_TYPE = "VARIANT_TYPE",
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export enum IkasProductFilterDisplayType {
|
|
66
|
+
BOX = "BOX",
|
|
67
|
+
DATE_RANGE = "DATE_RANGE",
|
|
68
|
+
LIST = "LIST",
|
|
69
|
+
NUMBER_RANGE_LIST = "NUMBER_RANGE_LIST",
|
|
70
|
+
NUMBER_RANGE = "NUMBER_RANGE",
|
|
71
|
+
SWATCH = "SWATCH",
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export enum IkasProductFilterSortType {
|
|
75
|
+
ALPHABETICAL_ASC = "ALPHABETICAL_ASC",
|
|
76
|
+
ALPHABETICAL_DESC = "ALPHABETICAL_DESC",
|
|
77
|
+
PRODUCT_COUNT_ASC = "PRODUCT_COUNT_ASC",
|
|
78
|
+
PRODUCT_COUNT_DESC = "PRODUCT_COUNT_DESC",
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export enum IkasProductStockFilterValue {
|
|
82
|
+
IN_STOCK = "in-stock",
|
|
83
|
+
OUT_OF_STOCK = "out-of-stock",
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type IkasFilterRangeValue = {
|
|
87
|
+
from: number;
|
|
88
|
+
to: number | undefined | null;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export type IkasProductFilterNumberRangeListOption = {
|
|
92
|
+
from: number;
|
|
93
|
+
to: number | undefined | null;
|
|
94
|
+
key: string;
|
|
95
|
+
isSelected: boolean;
|
|
96
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
|
|
11
|
+
export type IkasProduct = {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
type: IkasProductType;
|
|
15
|
+
description: string;
|
|
16
|
+
shortDescription: string;
|
|
17
|
+
metaData: IkasHTMLMetaData | null;
|
|
18
|
+
brand: IkasBrand | null;
|
|
19
|
+
categories: IkasCategory[];
|
|
20
|
+
tags: IkasProductTag[] | null;
|
|
21
|
+
variants: IkasProductVariant[];
|
|
22
|
+
attributes: IkasProductAttributeValue[];
|
|
23
|
+
variantTypes: IkasProductVariantType[];
|
|
24
|
+
productOptionSetId: string | null;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export enum IkasProductType {
|
|
28
|
+
PHYSICAL = "PHYSICAL",
|
|
29
|
+
DIGITAL = "DIGITAL",
|
|
30
|
+
MEMBERSHIP = "MEMBERSHIP",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type IkasDisplayedVariantValue = {
|
|
34
|
+
variant: IkasProductVariant; // TODO remove?
|
|
35
|
+
variantValue: IkasVariantValue;
|
|
36
|
+
hasStock: boolean;
|
|
37
|
+
isSelected: boolean;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export type IkasDisplayedVariantType = {
|
|
41
|
+
variantType: IkasVariantType;
|
|
42
|
+
displayedVariantValues: IkasDisplayedVariantValue[];
|
|
43
|
+
};
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IkasProductOption } from "./option";
|
|
2
|
+
|
|
3
|
+
export type IkasProductOptionSelectValueTranslations = {
|
|
4
|
+
id: string;
|
|
5
|
+
value: string | null;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type IkasProductOptionTranslations = {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string | null;
|
|
11
|
+
optionalText: string | null;
|
|
12
|
+
values: IkasProductOptionSelectValueTranslations[] | null;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type IkasProductOptionSetTranslations = {
|
|
16
|
+
locale: string;
|
|
17
|
+
options: IkasProductOptionTranslations[] | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export type IkasProductOptionSet = {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
options: IkasProductOption[];
|
|
24
|
+
translations?: IkasProductOptionSetTranslations[] | null;
|
|
25
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { IkasProductOptionSet, IkasProductOptionSetTranslations } from ".";
|
|
2
|
+
import { IkasProductOption, IkasProductOptionType } from "./option";
|
|
3
|
+
import { initIkasProductOption } from "./option/init";
|
|
4
|
+
|
|
5
|
+
export function initIkasProductOptionSet(
|
|
6
|
+
optionSet: IkasProductOptionSet,
|
|
7
|
+
locale: string | null
|
|
8
|
+
) {
|
|
9
|
+
optionSet.options.forEach((option) => {
|
|
10
|
+
option.productOptionSetId = optionSet.id;
|
|
11
|
+
initIkasProductOption(option);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
if (optionSet.translations && locale) {
|
|
15
|
+
setTranslations(optionSet, optionSet.translations, locale);
|
|
16
|
+
delete optionSet.translations;
|
|
17
|
+
}
|
|
18
|
+
setChildOptions(optionSet);
|
|
19
|
+
initOptionValues(optionSet);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function setTranslations(
|
|
23
|
+
optionSet: IkasProductOptionSet,
|
|
24
|
+
translations: IkasProductOptionSetTranslations[],
|
|
25
|
+
locale: string
|
|
26
|
+
) {
|
|
27
|
+
if (translations && translations.some((t) => t.locale === locale)) {
|
|
28
|
+
const localeTranslations = translations.find((t) => t.locale === locale);
|
|
29
|
+
|
|
30
|
+
localeTranslations?.options?.forEach((translatedOption) => {
|
|
31
|
+
const option = optionSet.options.find(
|
|
32
|
+
(o) => o.id === translatedOption.id
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
if (option) {
|
|
36
|
+
option.name = translatedOption.name || option.name;
|
|
37
|
+
option.optionalText =
|
|
38
|
+
translatedOption.optionalText || option.optionalText;
|
|
39
|
+
|
|
40
|
+
if (option.type === IkasProductOptionType.CHOICE) {
|
|
41
|
+
translatedOption.values?.forEach((translatedValue) => {
|
|
42
|
+
const selectValue = option.selectSettings?.values.find(
|
|
43
|
+
(sv) => sv.id === translatedValue.id
|
|
44
|
+
);
|
|
45
|
+
if (selectValue) {
|
|
46
|
+
selectValue.value = translatedValue.value || selectValue.value;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function setChildOptions(optionSet: IkasProductOptionSet) {
|
|
56
|
+
optionSet.options.forEach((option) => {
|
|
57
|
+
const childOptions = optionSet.options.filter(
|
|
58
|
+
(o) => o.requiredOptionId === option.id
|
|
59
|
+
);
|
|
60
|
+
if (childOptions.length) {
|
|
61
|
+
option.childOptions = childOptions;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function initOptionValues(optionSet: IkasProductOptionSet) {
|
|
67
|
+
optionSet.options.forEach((o) => initValues(o));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function initValues(option: IkasProductOption) {
|
|
71
|
+
if (!option.isOptional) {
|
|
72
|
+
option.values = [];
|
|
73
|
+
if (option.childOptions) {
|
|
74
|
+
option.childOptions.forEach((co) => initValues(co));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { IkasImage } from "../../../image";
|
|
2
|
+
|
|
3
|
+
export enum IkasProductOptionSelectType {
|
|
4
|
+
BOX = "BOX",
|
|
5
|
+
SELECT = "SELECT",
|
|
6
|
+
SWATCH = "SWATCH",
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export enum IkasProductOptionType {
|
|
10
|
+
CHECKBOX = "CHECKBOX",
|
|
11
|
+
CHOICE = "CHOICE",
|
|
12
|
+
COLOR_PICKER = "COLOR_PICKER",
|
|
13
|
+
DATE_PICKER = "DATE_PICKER",
|
|
14
|
+
FILE = "FILE",
|
|
15
|
+
IMAGE = "IMAGE",
|
|
16
|
+
TEXT = "TEXT",
|
|
17
|
+
TEXT_AREA = "TEXT_AREA",
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type IkasProductOptionOtherPrice = {
|
|
21
|
+
currencyCode: string;
|
|
22
|
+
price: number;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export type IkasProductOptionSelectValue = {
|
|
26
|
+
id: string;
|
|
27
|
+
order: number;
|
|
28
|
+
value: string;
|
|
29
|
+
price: number | null;
|
|
30
|
+
otherPrices: IkasProductOptionOtherPrice[] | null;
|
|
31
|
+
thumbnailImageId: string | null;
|
|
32
|
+
colorCode: string | null;
|
|
33
|
+
thumbnailImage: IkasImage | null;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type IkasProductOptionSelectSettings = {
|
|
37
|
+
type: IkasProductOptionSelectType;
|
|
38
|
+
minSelect: number | null;
|
|
39
|
+
maxSelect: number | null;
|
|
40
|
+
values: IkasProductOptionSelectValue[];
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export type IkasProductOptionDateSettings = {
|
|
44
|
+
min: Date | null;
|
|
45
|
+
max: Date | null;
|
|
46
|
+
minRelativeNextDate: number | null;
|
|
47
|
+
maxRelativeNextDate: number | null;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export type IkasProductOptionTextSettings = {
|
|
51
|
+
min: number | null;
|
|
52
|
+
max: number | null;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export type IkasProductOptionFileSettings = {
|
|
56
|
+
allowedExtensions: string[] | null;
|
|
57
|
+
minQuantity: number | null;
|
|
58
|
+
maxQuantity: number | null;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export type IkasProductOption = {
|
|
62
|
+
id: string;
|
|
63
|
+
productOptionSetId: string;
|
|
64
|
+
name: string;
|
|
65
|
+
order: number;
|
|
66
|
+
type: IkasProductOptionType;
|
|
67
|
+
selectSettings: IkasProductOptionSelectSettings | null;
|
|
68
|
+
textSettings: IkasProductOptionTextSettings | null;
|
|
69
|
+
fileSettings: IkasProductOptionFileSettings | null;
|
|
70
|
+
dateSettings: IkasProductOptionDateSettings | null;
|
|
71
|
+
price: number | null;
|
|
72
|
+
otherPrices: IkasProductOptionOtherPrice[] | null;
|
|
73
|
+
isOptional: boolean;
|
|
74
|
+
optionalText: string | null;
|
|
75
|
+
requiredOptionId: string | null;
|
|
76
|
+
requiredOptionValueIds: string[] | null;
|
|
77
|
+
|
|
78
|
+
// Extra
|
|
79
|
+
values: string[];
|
|
80
|
+
childOptions: IkasProductOption[];
|
|
81
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IkasProductOption, IkasProductOptionSelectSettings } from ".";
|
|
2
|
+
import _sortBy from "lodash/sortBy";
|
|
3
|
+
|
|
4
|
+
export function initIkasProductOption(option: IkasProductOption) {
|
|
5
|
+
if (option.selectSettings)
|
|
6
|
+
initProductOptionSelectSettings(option.selectSettings);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function initProductOptionSelectSettings(
|
|
10
|
+
settings: IkasProductOptionSelectSettings
|
|
11
|
+
) {
|
|
12
|
+
settings.values = _sortBy(settings.values || [], "order");
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IkasProductPrice } from "./price";
|
|
2
|
+
import { IkasVariantValue } from "../../variant-type/variant-value";
|
|
3
|
+
import { IkasProductAttributeValue } from "../attribute-value";
|
|
4
|
+
import { IkasProductCampaign } from "../campaign";
|
|
5
|
+
import { IkasProductImage } from "../image";
|
|
6
|
+
|
|
7
|
+
export type IkasProductVariant = {
|
|
8
|
+
id: string;
|
|
9
|
+
sku: string | null;
|
|
10
|
+
barcodeList: string[] | null;
|
|
11
|
+
variantValues: IkasVariantValue[];
|
|
12
|
+
attributes: IkasProductAttributeValue[];
|
|
13
|
+
price: IkasProductPrice;
|
|
14
|
+
stock: number;
|
|
15
|
+
isActive: boolean;
|
|
16
|
+
productId: string;
|
|
17
|
+
sellIfOutOfStock: boolean;
|
|
18
|
+
images: IkasProductImage[] | null;
|
|
19
|
+
campaigns?: IkasProductCampaign[];
|
|
20
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { initIkasProductImage } from "../image/init";
|
|
2
|
+
import { initIkasProductAttributeValue } from "../attribute-value/init";
|
|
3
|
+
import _sortBy from "lodash/sortBy";
|
|
4
|
+
import { IkasProductVariant } from ".";
|
|
5
|
+
|
|
6
|
+
export function initIkasProductVariant(variant: IkasProductVariant) {
|
|
7
|
+
variant.images?.forEach(initIkasProductImage);
|
|
8
|
+
variant.images = _sortBy(variant.images, "order");
|
|
9
|
+
variant.attributes.forEach(initIkasProductAttributeValue);
|
|
10
|
+
}
|