@ikas/code-components-mcp 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/data/framework.json +53 -26
  2. package/data/section-templates/account-info-section/children/AccountFavorites/ikas-config-snippet.json +13 -0
  3. package/data/section-templates/account-info-section/children/AccountOrders/index.tsx +1 -1
  4. package/data/section-templates/account-info-section/ikas-config-snippet.json +19 -0
  5. package/data/section-templates/add-to-cart/ikas-config-snippet.json +17 -0
  6. package/data/section-templates/add-to-cart/utils/cartLimits.ts +4 -3
  7. package/data/section-templates/blog-home-section/ikas-config-snippet.json +2 -0
  8. package/data/section-templates/blog-home-section/index.tsx +2 -1
  9. package/data/section-templates/blog-post-section/ikas-config-snippet.json +2 -0
  10. package/data/section-templates/blog-post-section/index.tsx +3 -2
  11. package/data/section-templates/bundle-products/ikas-config-snippet.json +20 -0
  12. package/data/section-templates/cart-section/components/EmptyState/index.tsx +1 -1
  13. package/data/section-templates/cart-section/sub-components/CartItem/index.tsx +9 -0
  14. package/data/section-templates/cart-section/utils/cartLimits.ts +24 -0
  15. package/data/section-templates/cart-section/utils/cartLineLimits.ts +100 -0
  16. package/data/section-templates/category-images-section/children/CategoryImageItem/ikas-config-snippet.json +4 -0
  17. package/data/section-templates/category-images-section/ikas-config-snippet.json +15 -0
  18. package/data/section-templates/category-list-section/children/CardProductName/ikas-config-snippet.json +2 -1
  19. package/data/section-templates/category-list-section/ikas-config-snippet.json +21 -0
  20. package/data/section-templates/category-list-section/index.tsx +2 -1
  21. package/data/section-templates/component-renderer/additional/ProductDetail/index.tsx +5 -1
  22. package/data/section-templates/component-renderer/ikas-config-snippet.json +13 -0
  23. package/data/section-templates/favorites/ikas-config-snippet.json +18 -1
  24. package/data/section-templates/features-section/ikas-config-snippet.json +13 -0
  25. package/data/section-templates/footer-section/ikas-config-snippet.json +15 -0
  26. package/data/section-templates/forgot-password-section/components/ForgotPasswordForm/index.tsx +1 -1
  27. package/data/section-templates/header-section/children/Announcements/ikas-config-snippet.json +7 -0
  28. package/data/section-templates/header-section/children/CookieBar/ikas-config-snippet.json +3 -0
  29. package/data/section-templates/header-section/children/Navbar/components/CartSidebar/index.tsx +2 -1
  30. package/data/section-templates/header-section/children/Navbar/components/SearchModal/index.tsx +2 -1
  31. package/data/section-templates/header-section/children/Navbar/ikas-config-snippet.json +27 -0
  32. package/data/section-templates/header-section/children/Navbar/index.tsx +6 -5
  33. package/data/section-templates/header-section/ikas-config-snippet.json +13 -0
  34. package/data/section-templates/header-section/sub-components/CartItem/index.tsx +9 -0
  35. package/data/section-templates/header-section/utils/cartLimits.ts +24 -0
  36. package/data/section-templates/header-section/utils/cartLineLimits.ts +100 -0
  37. package/data/section-templates/hero-slider-section/children/HeroSliderItem/ikas-config-snippet.json +18 -0
  38. package/data/section-templates/hero-slider-section/children/HeroSliderItem/index.tsx +12 -7
  39. package/data/section-templates/hero-slider-section/ikas-config-snippet.json +13 -0
  40. package/data/section-templates/image-handling/ikas-config-snippet.json +52 -0
  41. package/data/section-templates/image-handling/index.tsx +5 -1
  42. package/data/section-templates/login-section/ikas-config-snippet.json +2 -0
  43. package/data/section-templates/navigation/components/CartSidebar/index.tsx +2 -1
  44. package/data/section-templates/navigation/components/SearchModal/index.tsx +2 -1
  45. package/data/section-templates/navigation/ikas-config-snippet.json +27 -0
  46. package/data/section-templates/navigation/index.tsx +6 -5
  47. package/data/section-templates/navigation/sub-components/CartItem/index.tsx +9 -0
  48. package/data/section-templates/navigation/utils/cartLimits.ts +24 -0
  49. package/data/section-templates/navigation/utils/cartLineLimits.ts +100 -0
  50. package/data/section-templates/product-detail-section/children/ProductDetailAddToCart/ikas-config-snippet.json +17 -0
  51. package/data/section-templates/product-detail-section/children/ProductDetailBackInStock/ikas-config-snippet.json +16 -0
  52. package/data/section-templates/product-detail-section/children/ProductDetailBundleFurniture/ikas-config-snippet.json +18 -0
  53. package/data/section-templates/product-detail-section/children/ProductDetailBundleProduct/ikas-config-snippet.json +20 -0
  54. package/data/section-templates/product-detail-section/children/ProductDetailDescription/ikas-config-snippet.json +27 -0
  55. package/data/section-templates/product-detail-section/children/ProductDetailFeatures/ikas-config-snippet.json +29 -0
  56. package/data/section-templates/product-detail-section/children/ProductDetailNameFavorite/ikas-config-snippet.json +18 -1
  57. package/data/section-templates/product-detail-section/children/ProductDetailOffer/ikas-config-snippet.json +20 -0
  58. package/data/section-templates/product-detail-section/children/ProductDetailOptionSet/ikas-config-snippet.json +16 -0
  59. package/data/section-templates/product-detail-section/children/ProductDetailPrices/ikas-config-snippet.json +16 -0
  60. package/data/section-templates/product-detail-section/children/ProductDetailProductGroup/ikas-config-snippet.json +16 -0
  61. package/data/section-templates/product-detail-section/children/ProductDetailSku/ikas-config-snippet.json +16 -0
  62. package/data/section-templates/product-detail-section/children/ProductDetailVariant/ikas-config-snippet.json +17 -0
  63. package/data/section-templates/product-detail-section/ikas-config-snippet.json +52 -0
  64. package/data/section-templates/product-detail-section/index.tsx +5 -1
  65. package/data/section-templates/product-detail-section/utils/cartLimits.ts +4 -3
  66. package/data/section-templates/product-pricing/ikas-config-snippet.json +16 -0
  67. package/data/section-templates/product-slider-section/children/CardProductName/ikas-config-snippet.json +2 -1
  68. package/data/section-templates/product-slider-section/ikas-config-snippet.json +17 -0
  69. package/data/section-templates/register-section/ikas-config-snippet.json +2 -0
  70. package/data/section-templates/variant-selection/ikas-config-snippet.json +17 -0
  71. package/data/storefront-api.json +301 -17
  72. package/data/storefront-types.json +221 -20
  73. package/dist/index.js +408 -26
  74. package/dist/index.js.map +1 -1
  75. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-08-06T12:38:22.835Z",
2
+ "generatedAt": "2026-09-03T13:13:43.936Z",
3
3
  "types": [
4
4
  {
5
5
  "name": "TextElementTagTypes",
@@ -2467,6 +2467,7 @@
2467
2467
  "findExistingCartItemWithProduct",
2468
2468
  "saveCouponCode",
2469
2469
  "removeCouponCode",
2470
+ "removeGiftCardLine",
2470
2471
  "setCart"
2471
2472
  ]
2472
2473
  },
@@ -4877,7 +4878,8 @@
4877
4878
  {
4878
4879
  "name": "isVideo",
4879
4880
  "type": "boolean | null",
4880
- "optional": true
4881
+ "optional": true,
4882
+ "description": "True when this media item is a VIDEO, not an image. Product media sets routinely mix both.\ngetDefaultSrc/getSrc/getThumbnailSrc then return an .mp4 URL, so rendering it in an <img>\nproduces broken media — branch on this flag and render <video src={getDefaultSrc(item)}>.\nVideos have no resized variant and no poster URL: the size argument is ignored, and\ncreateMediaSrcset does not apply."
4881
4883
  },
4882
4884
  {
4883
4885
  "name": "altText",
@@ -6319,6 +6321,77 @@
6319
6321
  "hasIkasOrderCustomer"
6320
6322
  ]
6321
6323
  },
6324
+ {
6325
+ "name": "IkasOrderGiftCardLine",
6326
+ "kind": "type",
6327
+ "domain": "order",
6328
+ "properties": [
6329
+ {
6330
+ "name": "id",
6331
+ "type": "string",
6332
+ "optional": false
6333
+ },
6334
+ {
6335
+ "name": "amount",
6336
+ "type": "number",
6337
+ "optional": false
6338
+ },
6339
+ {
6340
+ "name": "code",
6341
+ "type": "string",
6342
+ "optional": false
6343
+ },
6344
+ {
6345
+ "name": "giftCardId",
6346
+ "type": "string",
6347
+ "optional": false
6348
+ },
6349
+ {
6350
+ "name": "type",
6351
+ "type": "IkasGiftCardType | null",
6352
+ "optional": false
6353
+ },
6354
+ {
6355
+ "name": "appliedTransactions",
6356
+ "type": "IkasOrderGiftCardLineAppliedTransaction[]",
6357
+ "optional": false
6358
+ }
6359
+ ],
6360
+ "filePath": "order/gift-card-line/index.ts"
6361
+ },
6362
+ {
6363
+ "name": "IkasOrderGiftCardLineAppliedTransaction",
6364
+ "kind": "type",
6365
+ "domain": "order",
6366
+ "properties": [
6367
+ {
6368
+ "name": "id",
6369
+ "type": "string",
6370
+ "optional": false
6371
+ },
6372
+ {
6373
+ "name": "amount",
6374
+ "type": "number",
6375
+ "optional": false
6376
+ },
6377
+ {
6378
+ "name": "type",
6379
+ "type": "IkasTransactionType",
6380
+ "optional": false
6381
+ }
6382
+ ],
6383
+ "filePath": "order/gift-card-line/index.ts"
6384
+ },
6385
+ {
6386
+ "name": "IkasGiftCardType",
6387
+ "kind": "type",
6388
+ "domain": "order",
6389
+ "unionValues": [
6390
+ "GIFT_CARD",
6391
+ "STORE_CREDIT"
6392
+ ],
6393
+ "filePath": "order/gift-card-line/index.ts"
6394
+ },
6322
6395
  {
6323
6396
  "name": "IkasOrderGiftPackageLine",
6324
6397
  "kind": "type",
@@ -6410,6 +6483,11 @@
6410
6483
  "type": "string | null",
6411
6484
  "optional": false
6412
6485
  },
6486
+ {
6487
+ "name": "giftCardLines",
6488
+ "type": "IkasOrderGiftCardLine[] | null",
6489
+ "optional": false
6490
+ },
6413
6491
  {
6414
6492
  "name": "giftPackageLines",
6415
6493
  "type": "IkasOrderGiftPackageLine[] | null",
@@ -6523,6 +6601,7 @@
6523
6601
  ],
6524
6602
  "filePath": "order/index.ts",
6525
6603
  "relatedFunctions": [
6604
+ "getIkasOrderGiftCardTotalPrice",
6526
6605
  "getIkasOrderDistinctItemCount",
6527
6606
  "getIkasOrderTotalItemCount",
6528
6607
  "getIkasOrderDisplayedPackages",
@@ -6976,11 +7055,17 @@
6976
7055
  "CANCEL_REQUESTED",
6977
7056
  "DELIVERED",
6978
7057
  "FULFILLED",
7058
+ "PLANNED",
6979
7059
  "REFUNDED",
6980
7060
  "REFUND_REJECTED",
6981
7061
  "REFUND_REQUESTED",
6982
7062
  "REFUND_REQUEST_ACCEPTED",
6983
- "UNFULFILLED"
7063
+ "RETURN_DELIVERED",
7064
+ "RETURN_IN_TRANSIT",
7065
+ "RETURN_PARCEL_WAITING",
7066
+ "RETURN_REJECTED",
7067
+ "UNFULFILLED",
7068
+ "WAITING_FOR_PACKAGING"
6984
7069
  ],
6985
7070
  "filePath": "order/line-item/index.ts"
6986
7071
  },
@@ -7572,20 +7657,26 @@
7572
7657
  "kind": "type",
7573
7658
  "domain": "order",
7574
7659
  "unionValues": [
7575
- "UNFULFILLED",
7576
7660
  "CANCELLED",
7577
7661
  "CANCEL_REJECTED",
7578
7662
  "CANCEL_REQUESTED",
7579
7663
  "DELIVERED",
7580
7664
  "ERROR",
7581
7665
  "FULFILLED",
7666
+ "PLANNED",
7582
7667
  "READY_FOR_PICK_UP",
7583
7668
  "READY_FOR_SHIPMENT",
7584
7669
  "REFUNDED",
7585
7670
  "REFUND_REJECTED",
7586
7671
  "REFUND_REQUESTED",
7587
7672
  "REFUND_REQUEST_ACCEPTED",
7588
- "UNABLE_TO_DELIVER"
7673
+ "RETURN_DELIVERED",
7674
+ "RETURN_IN_TRANSIT",
7675
+ "RETURN_PARCEL_WAITING",
7676
+ "RETURN_REJECTED",
7677
+ "UNABLE_TO_DELIVER",
7678
+ "UNFULFILLED",
7679
+ "WAITING_FOR_PACKAGING"
7589
7680
  ],
7590
7681
  "filePath": "order/package/index.ts"
7591
7682
  },
@@ -8298,6 +8389,7 @@
8298
8389
  "OTHER",
8299
8390
  "PAY_LATER",
8300
8391
  "SLICE_IT",
8392
+ "STORE_CREDIT",
8301
8393
  "WALLET"
8302
8394
  ],
8303
8395
  "filePath": "payment-gateway/index.ts"
@@ -9646,7 +9738,8 @@
9646
9738
  {
9647
9739
  "name": "isVideo",
9648
9740
  "type": "boolean | null",
9649
- "optional": false
9741
+ "optional": false,
9742
+ "description": "True when this media item is a VIDEO, not an image. Product galleries, cards, swatches and\nline items must branch on it: render <video src={getDefaultSrc(item.image)}> instead of an\n<img>, otherwise the .mp4 URL lands in an <img> and the media breaks."
9650
9743
  },
9651
9744
  {
9652
9745
  "name": "order",
@@ -13829,6 +13922,22 @@
13829
13922
  ],
13830
13923
  "filePath": "validator/customer-review/index.ts"
13831
13924
  },
13925
+ {
13926
+ "name": "DeactivateCustomerForm",
13927
+ "kind": "type",
13928
+ "domain": "validator",
13929
+ "properties": [
13930
+ {
13931
+ "name": "password",
13932
+ "type": "IkasFormItem",
13933
+ "optional": false
13934
+ }
13935
+ ],
13936
+ "extends": [
13937
+ "IkasForm"
13938
+ ],
13939
+ "filePath": "validator/deactivate-customer/index.ts"
13940
+ },
13832
13941
  {
13833
13942
  "name": "ForgotPasswordForm",
13834
13943
  "kind": "type",
@@ -14493,12 +14602,14 @@
14493
14602
  {
14494
14603
  "name": "name",
14495
14604
  "type": "string",
14496
- "optional": false
14605
+ "optional": false,
14606
+ "description": "Stable runtime key — the variable's `variableName` (e.g. `_6Q0KV7VGGM`)."
14497
14607
  },
14498
14608
  {
14499
14609
  "name": "displayName",
14500
14610
  "type": "string",
14501
- "optional": false
14611
+ "optional": false,
14612
+ "description": "Human-facing label."
14502
14613
  },
14503
14614
  {
14504
14615
  "name": "type",
@@ -14508,7 +14619,8 @@
14508
14619
  {
14509
14620
  "name": "value",
14510
14621
  "type": "any",
14511
- "optional": false
14622
+ "optional": false,
14623
+ "description": "Concrete value, discriminated by `type`:\n- TEXT/RICH_TEXT → string · NUMBER → number · BOOLEAN → boolean · COLOR → hex string.\n- IMAGE → an IkasImage REFERENCE, e.g. `{ id: \"theme-images/<uuid>\" }`. It has NO\n `.url` field — resolve to a URL with `getDefaultSrc(value)` / `getSrc(value, size)`\n from `@ikas/bp-storefront`, never read `value.url`.\n- BORDER/SHADOW → object, or `null` when unset."
14512
14624
  }
14513
14625
  ],
14514
14626
  "filePath": "theme-globals.ts"
@@ -14531,12 +14643,14 @@
14531
14643
  {
14532
14644
  "name": "resolved",
14533
14645
  "type": "string | null",
14534
- "optional": false
14646
+ "optional": false,
14647
+ "description": "Resolved base/default value (e.g. a hex string), or null when unset."
14535
14648
  },
14536
14649
  {
14537
14650
  "name": "cssVar",
14538
14651
  "type": "string",
14539
- "optional": false
14652
+ "optional": false,
14653
+ "description": "CSS custom-property reference, e.g. `var(--primaryColor)`."
14540
14654
  }
14541
14655
  ],
14542
14656
  "filePath": "theme-globals.ts"
@@ -14559,17 +14673,20 @@
14559
14673
  {
14560
14674
  "name": "resolved",
14561
14675
  "type": "Record<string, string>",
14562
- "optional": false
14676
+ "optional": false,
14677
+ "description": "Resolved CSS values keyed by camelCased CSS property (e.g. `fontSize`, `fontWeight`)."
14563
14678
  },
14564
14679
  {
14565
14680
  "name": "className",
14566
14681
  "type": "string",
14567
- "optional": false
14682
+ "optional": false,
14683
+ "description": "Class selector the editor emits for this text style, e.g. `_<id>`."
14568
14684
  },
14569
14685
  {
14570
14686
  "name": "isDefault",
14571
14687
  "type": "boolean",
14572
- "optional": false
14688
+ "optional": false,
14689
+ "description": "True when this is the theme's default/global text style (the editor's \"Make Default Style\")."
14573
14690
  }
14574
14691
  ],
14575
14692
  "filePath": "theme-globals.ts"
@@ -14638,17 +14755,20 @@
14638
14755
  {
14639
14756
  "name": "ref",
14640
14757
  "type": "string",
14641
- "optional": false
14758
+ "optional": false,
14759
+ "description": "CSS reference — the animation name / class the editor emits, e.g. `_<id>`."
14642
14760
  },
14643
14761
  {
14644
14762
  "name": "settings",
14645
14763
  "type": "StyleEntry[]",
14646
- "optional": true
14764
+ "optional": true,
14765
+ "description": "Keyframe-level animation \"settings\" (the editor's Settings popover). These are CSS\nanimation/transition properties and DIFFER BY TYPE: a `keyframe` carries\nanimation-duration/-iteration-count/-play-state/-delay/-timing-function/-direction/\n-fill-mode/-timeline/-range + transform-origin; a `transition` carries `transition`.\nBoth may carry backface-visibility. Empty when none are set."
14647
14766
  },
14648
14767
  {
14649
14768
  "name": "points",
14650
14769
  "type": "{ point: string; styles?: StyleEntry[] }[]",
14651
- "optional": true
14770
+ "optional": true,
14771
+ "description": "Animation points; each point may carry its own resolved styles."
14652
14772
  }
14653
14773
  ],
14654
14774
  "filePath": "theme-globals.ts"
@@ -14694,12 +14814,14 @@
14694
14814
  {
14695
14815
  "name": "className",
14696
14816
  "type": "string",
14697
- "optional": false
14817
+ "optional": false,
14818
+ "description": "Class selector to activate this scheme value, e.g. `_<id>`."
14698
14819
  },
14699
14820
  {
14700
14821
  "name": "colorsByScheme",
14701
14822
  "type": "Record<string, { resolved: string | null; cssVar: string }>",
14702
- "optional": false
14823
+ "optional": false,
14824
+ "description": "This palette's colors, keyed by color-SLOT id (the ids in\n`getThemeColorSchemes().schemes`). THIS — not the top-level `schemes` array — is\nthe source of truth for swatch colors; iterate it to render a palette. Prefer\n`cssVar` for live, in-editor reactivity; `resolved` is a render-time snapshot."
14703
14825
  }
14704
14826
  ],
14705
14827
  "filePath": "theme-globals.ts"
@@ -14929,7 +15051,8 @@
14929
15051
  {
14930
15052
  "name": "designAssetId",
14931
15053
  "type": "string",
14932
- "optional": true
15054
+ "optional": true,
15055
+ "description": "Set when this scheme belongs to an installed design asset; groups the default fallback."
14933
15056
  },
14934
15057
  {
14935
15058
  "name": "colors",
@@ -15086,6 +15209,84 @@
15086
15209
  }
15087
15210
  ],
15088
15211
  "filePath": "theme-globals.ts"
15212
+ },
15213
+ {
15214
+ "name": "APIErrorCode",
15215
+ "kind": "enum",
15216
+ "domain": "api",
15217
+ "description": "Error codes the SDK itself distinguishes. NOT exhaustive: the APIResponse\nconstructor copies `extensions.code` from GraphQL errors verbatim, so\n`errorCodes` can carry backend codes that are not listed here (e.g.\nVARIANT_NOT_FOUND). Never build an exhaustive switch over this enum.",
15218
+ "enumValues": [
15219
+ "ARGUMENT_VALIDATION_ERROR",
15220
+ "UNAUTHENTICATED",
15221
+ "UNAUTHORIZED",
15222
+ "INTERNAL_SERVER_ERROR",
15223
+ "LOGIN_REQUIRED",
15224
+ "NETWORK_ERROR",
15225
+ "REQUEST_CANCELLED",
15226
+ "DUPLICATE_KEY_ERROR",
15227
+ "CUSTOMER_ALREADY_SUBSCRIBED",
15228
+ "MAX_QUANTITY_PER_CART_LIMIT_REACHED",
15229
+ "UNKNOWN"
15230
+ ],
15231
+ "filePath": "api.ts"
15232
+ },
15233
+ {
15234
+ "name": "APIResponse",
15235
+ "kind": "type",
15236
+ "domain": "api",
15237
+ "properties": [
15238
+ {
15239
+ "name": "data",
15240
+ "type": "T",
15241
+ "optional": true
15242
+ },
15243
+ {
15244
+ "name": "errors",
15245
+ "type": "string[]",
15246
+ "optional": false
15247
+ },
15248
+ {
15249
+ "name": "errorCodes",
15250
+ "type": "APIErrorCode[]",
15251
+ "optional": false
15252
+ },
15253
+ {
15254
+ "name": "graphQLErrors",
15255
+ "type": "readonly GraphQLError[]",
15256
+ "optional": true
15257
+ },
15258
+ {
15259
+ "name": "firstErrorMessage",
15260
+ "type": "string",
15261
+ "optional": false
15262
+ },
15263
+ {
15264
+ "name": "isUnAuthenticated",
15265
+ "type": "boolean",
15266
+ "optional": false
15267
+ },
15268
+ {
15269
+ "name": "isNetworkError",
15270
+ "type": "boolean",
15271
+ "optional": false
15272
+ },
15273
+ {
15274
+ "name": "isSuccess",
15275
+ "type": "boolean",
15276
+ "optional": false
15277
+ },
15278
+ {
15279
+ "name": "isCancelled",
15280
+ "type": "boolean",
15281
+ "optional": false
15282
+ },
15283
+ {
15284
+ "name": "isRecoverableError",
15285
+ "type": "boolean",
15286
+ "optional": false
15287
+ }
15288
+ ],
15289
+ "filePath": "api.ts"
15089
15290
  }
15090
15291
  ]
15091
15292
  }