@ikas/code-components-mcp 1.4.0-beta.126 → 1.4.0-beta.128

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-07-17T15:41:25.353Z",
2
+ "generatedAt": "2026-07-21T09:36:45.213Z",
3
3
  "functions": [
4
4
  {
5
5
  "name": "apiListProductBrand",
@@ -7597,14 +7597,14 @@
7597
7597
  "name": "getProductVariantAppliedCampaignAmount",
7598
7598
  "displayName": "getAppliedCampaignAmount",
7599
7599
  "signature": "function getProductVariantAppliedCampaignAmount(variant: IkasProductVariant): IkasAppliedCampaignAmount | null",
7600
- "description": "Get the applied campaign discount amount details for a product variant, including type and formatted value.",
7600
+ "description": "Get the applied campaign discount amount details for a product variant, including type and formatted value.\n\nHow the discount value is interpreted depends on `campaign.type`:\n- `\"FIXED_AMOUNT\"` → the value is an absolute money amount, returned in `formattedPrice` (e.g. \"$10.00\"); `discountPercentage` stays null.\n- `\"RATIO\"` → the value is a percentage, returned in `discountPercentage` (e.g. \"10\" for 10% off); `formattedPrice` stays null.\n\nBoth fixed and tiered campaigns are supported. For a tiered-discount campaign\n(`campaign.fixedDiscount` is null and the discount lives in `campaign.tieredDiscount.rules`),\nthe first tier's amount (`campaign.tieredDiscount.rules[0].amount`) is used, matching the storefront runtime.",
7601
7601
  "params": [
7602
7602
  {
7603
7603
  "name": "variant",
7604
7604
  "description": "- The product variant to check for applied campaigns"
7605
7605
  }
7606
7606
  ],
7607
- "returns": "An object with campaign type, formatted price, and discount percentage, or null if no campaign is applied",
7607
+ "returns": "An object `{ type, formattedPrice, discountPercentage }` — `formattedPrice` is set for FIXED_AMOUNT campaigns, `discountPercentage` for RATIO campaigns (fixed and tiered alike); the other field stays null. Returns null if no campaign is applied.",
7608
7608
  "returnType": "IkasAppliedCampaignAmount | null",
7609
7609
  "example": "```typescript\nimport { getProductVariantAppliedCampaignAmount, getSelectedProductVariant } from \"@ikas/bp-storefront\";\nimport { IkasProduct } from \"@ikas/bp-storefront\";\n\nfunction CampaignInfo({ product }: { product: IkasProduct }) {\n const variant = getSelectedProductVariant(product);\n const campaignAmount = getProductVariantAppliedCampaignAmount(variant);\n\n if (!campaignAmount) return null;\n\n return (\n <div>\n {campaignAmount.type === \"RATIO\"\n ? `${campaignAmount.discountPercentage}% off`\n : `${campaignAmount.formattedPrice} off`}\n </div>\n );\n}\n```",
7610
7610
  "categories": [
@@ -15298,6 +15298,44 @@
15298
15298
  "isAsync": false,
15299
15299
  "isClass": false
15300
15300
  },
15301
+ {
15302
+ "name": "PayWithIkas",
15303
+ "signature": "function PayWithIkas({ product, quantity = 1, className, style }: PayWithIkasProps): VNode<ClassAttributes<HTMLIFrameElement> & { ref: MutableRef<HTMLIFrameElement | null>; title: string; ... 4 more ...; style: { ...; }; }> | null",
15304
+ "description": "\"Pay with ikas\" (Hızlı Öde) fast-checkout button for the product detail page.\nDrop-in Preact component that renders the pay-with-ikas checkout iframe and\nwires up its whole message protocol, so a theme gets the one-click \"Hızlı Öde\"\nflow without owning any of the plumbing. Use it next to the add-to-cart button\non the product detail page.\n\nThe pay-with-ikas URL is read from `IkasStorefrontConfig.getPayWithIkasUrl()`;\nwhen the merchant has not enabled Pay with ikas the component renders nothing.\nThe add-to-cart-enabled state is tracked reactively via mobx `autorun`, so the\niframe stays in sync as the product's availability changes (e.g. variant\nselection). Clicking \"Hızlı Öde\" creates a temporary cart via\n`createPayWithIkasSession` and redirects to the returned pay URL.",
15305
+ "params": [
15306
+ {
15307
+ "name": "product",
15308
+ "description": "- The product to fast-checkout via Pay with ikas"
15309
+ },
15310
+ {
15311
+ "name": "quantity",
15312
+ "description": "- Quantity to purchase (defaults to 1)"
15313
+ },
15314
+ {
15315
+ "name": "className",
15316
+ "description": "- Optional CSS class applied to the iframe"
15317
+ },
15318
+ {
15319
+ "name": "style",
15320
+ "description": "- Optional inline styles applied to the iframe"
15321
+ }
15322
+ ],
15323
+ "returnType": "VNode<ClassAttributes<HTMLIFrameElement> & { ref: MutableRef<HTMLIFrameElement | null>; title: string; ... 4 more ...; style: { ...; }; }> | null",
15324
+ "example": "```tsx\nimport { PayWithIkas } from \"@ikas/bp-storefront\";\n\n// On the product detail page, alongside the add-to-cart button:\n<PayWithIkas product={product} quantity={quantity} />\n```",
15325
+ "categories": [
15326
+ "ProductDetail",
15327
+ "Checkout"
15328
+ ],
15329
+ "related": [
15330
+ "createPayWithIkasSession",
15331
+ "isAddToCartEnabled"
15332
+ ],
15333
+ "isAsync": false,
15334
+ "isClass": false,
15335
+ "parameterTypes": [
15336
+ "IkasProps"
15337
+ ]
15338
+ },
15301
15339
  {
15302
15340
  "name": "normalizeSvg",
15303
15341
  "signature": "function normalizeSvg(svg: string, options: NormalizeSvgOptions): string",
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-07-17T15:41:25.376Z",
2
+ "generatedAt": "2026-07-21T09:36:45.237Z",
3
3
  "types": [
4
4
  {
5
5
  "name": "TextElementTagTypes",
@@ -8805,6 +8805,11 @@
8805
8805
  "name": "usageLimitPerCustomer",
8806
8806
  "type": "number | null",
8807
8807
  "optional": false
8808
+ },
8809
+ {
8810
+ "name": "tieredDiscount",
8811
+ "type": "IkasProductTieredDiscount | null",
8812
+ "optional": false
8808
8813
  }
8809
8814
  ],
8810
8815
  "filePath": "product/campaign/data/index.ts"
@@ -8869,7 +8874,8 @@
8869
8874
  "PRODUCT",
8870
8875
  "PRODUCT_BRAND",
8871
8876
  "PRODUCT_TAG",
8872
- "VARIANT"
8877
+ "VARIANT",
8878
+ "PRODUCT_AND_VARIANT"
8873
8879
  ],
8874
8880
  "filePath": "product/campaign/filter/index.ts"
8875
8881
  },
@@ -9027,6 +9033,57 @@
9027
9033
  ],
9028
9034
  "filePath": "product/campaign/product-fixed-discount/index.ts"
9029
9035
  },
9036
+ {
9037
+ "name": "IkasProductTieredDiscountRule",
9038
+ "kind": "type",
9039
+ "domain": "product",
9040
+ "properties": [
9041
+ {
9042
+ "name": "amount",
9043
+ "type": "number | null",
9044
+ "optional": false
9045
+ },
9046
+ {
9047
+ "name": "lineItemQuantityRange",
9048
+ "type": "IkasCampaignMinMaxRangeField | null",
9049
+ "optional": false
9050
+ },
9051
+ {
9052
+ "name": "priceRange",
9053
+ "type": "IkasCampaignMinMaxRangeField | null",
9054
+ "optional": false
9055
+ }
9056
+ ],
9057
+ "filePath": "product/campaign/product-tiered-discount/index.ts"
9058
+ },
9059
+ {
9060
+ "name": "IkasProductTieredDiscount",
9061
+ "kind": "type",
9062
+ "domain": "product",
9063
+ "properties": [
9064
+ {
9065
+ "name": "filters",
9066
+ "type": "IkasProductCampaignFilter[] | null",
9067
+ "optional": false
9068
+ },
9069
+ {
9070
+ "name": "isApplyByCartAmount",
9071
+ "type": "boolean | null",
9072
+ "optional": false
9073
+ },
9074
+ {
9075
+ "name": "rules",
9076
+ "type": "IkasProductTieredDiscountRule[]",
9077
+ "optional": false
9078
+ },
9079
+ {
9080
+ "name": "shouldMatchAllConditions",
9081
+ "type": "boolean | null",
9082
+ "optional": false
9083
+ }
9084
+ ],
9085
+ "filePath": "product/campaign/product-tiered-discount/index.ts"
9086
+ },
9030
9087
  {
9031
9088
  "name": "IkasProductCampaignOffer",
9032
9089
  "kind": "type",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/code-components-mcp",
3
- "version": "1.4.0-beta.126",
3
+ "version": "1.4.0-beta.128",
4
4
  "description": "MCP server for ikas code components documentation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",