{
  "timestamp": "2026-06-15T14:24:21",
  "compiler": {
    "name": "@stencil/core",
    "version": "4.39.0",
    "typescriptVersion": "5.8.3"
  },
  "components": [
    {
      "filePath": "src/components/fortify-certificates/fortify-certificates.tsx",
      "encapsulation": "shadow",
      "tag": "peculiar-fortify-certificates",
      "readme": "# Fortify Certificates WebComponent\n\nThe web-component provides an easier way to connect a web-page to the Fortify App, show certificates from available OS crypto providers, and choose a certificate for signing.\n\n<iframe height=\"400\" style=\"width: 100%;\" scrolling=\"no\" title=\"Fortify web-component (certificates)\" src=\"https://codepen.io/donskov/embed/preview/RwWMPjG?height=400&theme-id=light&default-tab=result\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\">\n  See the Pen <a href='https://codepen.io/donskov/pen/RwWMPjG'>Fortify web-component (certificates)</a> by Dmitriy Donskov\n  (<a href='https://codepen.io/donskov'>@donskov</a>) on <a href='https://codepen.io'>CodePen</a>.\n</iframe>\n",
      "docs": "The web-component provides an easier way to connect a web-page to the Fortify App, show certificates from available OS crypto providers, and choose a certificate for signing.\n\n<iframe height=\"400\" style=\"width: 100%;\" scrolling=\"no\" title=\"Fortify web-component (certificates)\" src=\"https://codepen.io/donskov/embed/preview/RwWMPjG?height=400&theme-id=light&default-tab=result\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\">\n  See the Pen <a href='https://codepen.io/donskov/pen/RwWMPjG'>Fortify web-component (certificates)</a> by Dmitriy Donskov\n  (<a href='https://codepen.io/donskov'>@donskov</a>) on <a href='https://codepen.io'>CodePen</a>.\n</iframe>",
      "docsTags": [],
      "usage": {
        "basic": "Quick example embed web component in to you application:\n\n```html\n<peculiar-fortify-certificates\n  id=\"fortify-certificates-wc\"\n  language=\"en\"\n/>\n```\n\nThen in js you can access to component lifecycle events and filter properties:\n\n```javascript\nconst fortifyCertificates = document.getElementById('fortify-certificates-wc');\n\nfortifyCertificates.filters = {\n  expired: false,\n  onlySmartcards: false,\n  onlyWithPrivateKey: false,\n  keyUsage: ['digitalSignature'],\n  subjectDNMatch: 'kubernetes-master',\n  issuerDNMatch: 'kubernetes',\n  providerNameMatch: 'MacOS Crypto',\n  providerATRMatch: '0123456789',\n  certificateIdMatch: '0123456789',\n};\n\nfortifyCertificates.addEventListener('selectionCancel', () => {\n  console.log('cancel flow');\n});\n\nfortifyCertificates.addEventListener('selectionSuccess', (result) => {\n  console.log(result);\n});\n```\n"
      },
      "props": [
        {
          "name": "downloadAppLink",
          "type": "string",
          "complexType": {
            "original": "string",
            "resolved": "string",
            "references": {}
          },
          "mutable": false,
          "attr": "download-app-link",
          "reflectToAttr": true,
          "docs": "A link to download the application when a connection to Fortify is not found.",
          "docsTags": [
            {
              "name": "default",
              "text": "'https://fortifyapp.com'"
            }
          ],
          "default": "'https://fortifyapp.com'",
          "values": [
            {
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "filters",
          "type": "IFilters",
          "complexType": {
            "original": "IFilters",
            "resolved": "IFilters",
            "references": {
              "IFilters": {
                "location": "import",
                "path": "@peculiar/fortify-client-core",
                "id": "../client-core/dist/types/index.d.ts::IFilters"
              }
            }
          },
          "mutable": false,
          "reflectToAttr": false,
          "docs": "Component data filters.\nKeyUsageType you can find on [certificate specification](https://tools.ietf.org/html/rfc5280#section-4.2.1.3).",
          "docsTags": [
            {
              "name": "default",
              "text": "{}"
            }
          ],
          "default": "{}",
          "values": [
            {
              "type": "IFilters"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "helpPageLink",
          "type": "string",
          "complexType": {
            "original": "string",
            "resolved": "string",
            "references": {}
          },
          "mutable": false,
          "attr": "help-page-link",
          "reflectToAttr": true,
          "docs": "A link to redirect the user to the help page\nif there are any questions about the operation of the application.",
          "docsTags": [
            {
              "name": "default",
              "text": "'https://fortifyapp.com/help'"
            }
          ],
          "default": "'https://fortifyapp.com/help'",
          "values": [
            {
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "hideFooter",
          "type": "boolean",
          "complexType": {
            "original": "boolean",
            "resolved": "boolean",
            "references": {}
          },
          "mutable": false,
          "attr": "hide-footer",
          "reflectToAttr": true,
          "docs": "If `true`, the component footer will be hidden.",
          "docsTags": [
            {
              "name": "default",
              "text": "false"
            }
          ],
          "default": "false",
          "values": [
            {
              "type": "boolean"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "language",
          "type": "\"de\" | \"el\" | \"en\" | \"es\" | \"fr\" | \"he\" | \"it\" | \"ja\" | \"nl\" | \"pl\" | \"pt\" | \"tr\" | \"uk\"",
          "complexType": {
            "original": "TSupportedMessagesType",
            "resolved": "\"de\" | \"el\" | \"en\" | \"es\" | \"fr\" | \"he\" | \"it\" | \"ja\" | \"nl\" | \"pl\" | \"pt\" | \"tr\" | \"uk\"",
            "references": {
              "TSupportedMessagesType": {
                "location": "import",
                "path": "../../utils/l10n",
                "id": "src/utils/l10n.ts::TSupportedMessagesType"
              }
            }
          },
          "mutable": false,
          "attr": "language",
          "reflectToAttr": true,
          "docs": "Component language.",
          "docsTags": [],
          "values": [
            {
              "value": "de",
              "type": "string"
            },
            {
              "value": "el",
              "type": "string"
            },
            {
              "value": "en",
              "type": "string"
            },
            {
              "value": "es",
              "type": "string"
            },
            {
              "value": "fr",
              "type": "string"
            },
            {
              "value": "he",
              "type": "string"
            },
            {
              "value": "it",
              "type": "string"
            },
            {
              "value": "ja",
              "type": "string"
            },
            {
              "value": "nl",
              "type": "string"
            },
            {
              "value": "pl",
              "type": "string"
            },
            {
              "value": "pt",
              "type": "string"
            },
            {
              "value": "tr",
              "type": "string"
            },
            {
              "value": "uk",
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        }
      ],
      "methods": [],
      "events": [
        {
          "event": "selectionCancel",
          "detail": "void",
          "bubbles": true,
          "complexType": {
            "original": "void",
            "resolved": "void",
            "references": {}
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user has canceled the selection flow.",
          "docsTags": []
        },
        {
          "event": "selectionSuccess",
          "detail": "ISelectionSuccessEvent",
          "bubbles": true,
          "complexType": {
            "original": "ISelectionSuccessEvent",
            "resolved": "ISelectionSuccessEvent",
            "references": {
              "ISelectionSuccessEvent": {
                "location": "local",
                "path": "/home/runner/work/fortify-webcomponents/fortify-webcomponents/packages/webcomponents/src/components/fortify-certificates/fortify-certificates.tsx",
                "id": "src/components/fortify-certificates/fortify-certificates.tsx::ISelectionSuccessEvent"
              }
            }
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user has successfully selected a certificate.",
          "docsTags": []
        }
      ],
      "listeners": [],
      "styles": [],
      "slots": [],
      "parts": [],
      "dependents": [],
      "dependencies": [
        "peculiar-certificate-viewer",
        "peculiar-circular-progress"
      ],
      "dependencyGraph": {
        "peculiar-fortify-certificates": [
          "peculiar-certificate-viewer",
          "peculiar-circular-progress"
        ]
      }
    },
    {
      "filePath": "src/components/fortify-enrollment/fortify-enrollment.tsx",
      "encapsulation": "shadow",
      "tag": "peculiar-fortify-enrollment",
      "readme": "# Fortify Enrollment WebComponent\n\nThe web-component provides an easier way to connect a web-page to the Fortify App, show available OS crypto providers, and enroll self-signed certificate or certificate request with prefilled parameters.\n\n<iframe height=\"400\" style=\"width: 100%;\" scrolling=\"no\" title=\"Fortify web-component (certificate enrollment)\" src=\"https://codepen.io/donskov/embed/preview/pogpPWb?height=400&theme-id=light&default-tab=result\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\">\n  See the Pen <a href='https://codepen.io/donskov/pen/pogpPWb'>Fortify web-component (certificate enrollment)</a> by Dmitriy Donskov\n  (<a href='https://codepen.io/donskov'>@donskov</a>) on <a href='https://codepen.io'>CodePen</a>.\n</iframe>\n",
      "docs": "The web-component provides an easier way to connect a web-page to the Fortify App, show available OS crypto providers, and enroll self-signed certificate or certificate request with prefilled parameters.\n\n<iframe height=\"400\" style=\"width: 100%;\" scrolling=\"no\" title=\"Fortify web-component (certificate enrollment)\" src=\"https://codepen.io/donskov/embed/preview/pogpPWb?height=400&theme-id=light&default-tab=result\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\">\n  See the Pen <a href='https://codepen.io/donskov/pen/pogpPWb'>Fortify web-component (certificate enrollment)</a> by Dmitriy Donskov\n  (<a href='https://codepen.io/donskov'>@donskov</a>) on <a href='https://codepen.io'>CodePen</a>.\n</iframe>",
      "docsTags": [],
      "usage": {
        "basic": "Quick example embed web component in to you application:\n\n```html\n<peculiar-fortify-enrollment\n  id=\"fortify-enrollment-wc\"\n  language=\"en\"\n/>\n```\n\nThen in js you can access to component lifecycle events and filter properties:\n\n```javascript\nconst fortifyEnrollment = document.getElementById('fortify-enrollment-wc');\n\nfortifyEnrollment.filters = {\n  onlySmartcards: false,\n  providerNameMatch: 'MacOS Crypto',\n  providerATRMatch: '0123456789',\n};\n\nfortifyEnrollment.addEventListener('creationCancel', () => {\n  console.log('creationCancel');\n});\n\nfortifyEnrollment.addEventListener('creationClose', () => {\n  console.log('creationClose');\n});\n\nfortifyEnrollment.addEventListener('creationSuccess', (result) => {\n  console.log(result);\n});\n\nfortifyEnrollment.addEventListener('creationFail', (error) => {\n  console.log(error);\n});\n```\n",
        "form-policy": "To provide custom form policy you need to pass object to component.\n\n[Default](https://cdn.jsdelivr.net/npm/@peculiar/fortify-webcomponents/dist/collection/components/fortify-enrollment/policyConfig.js) policy config:\n\n```js\n{\n  subject: {\n    fields: {\n      CN: {\n        required: true\n      },\n      O: {\n        required: false\n      },\n      OU: {\n        required: false\n      },\n      C: {\n        required: false,\n        defaultValue: \"US\"\n      },\n      L: {\n        required: false\n      },\n      ST: {\n        required: false\n      }\n    }\n  },\n  publicKey: {\n    fields: {\n      signatureAlgorithm: {\n        required: true,\n        defaultValue: \"RSA-2048\"\n      },\n      hashAlgorithm: {\n        required: true,\n        defaultValue: \"SHA-256\"\n      }\n    }\n  },\n  options: {\n    fields: {\n      useSelfSignedCertificate: {\n        required: false\n      }\n    }\n  }\n}\n```\n\nExample of read only policy with prefilled values:\n\n```js\nconst fortifyEnrollment = document.getElementById('fortify-enrollment-wc');\n\nfortifyEnrollment.formPolicy = {\n  subject: {\n    fields: {\n      CN: {\n        required: true,\n        readOnly: true,\n        defaultValue: 'kubernetes',\n      },\n      O: {\n        required: false,\n        readOnly: true,\n        defaultValue: 'kubernetes org.',\n      },\n      OU: {\n        required: false,\n        readOnly: true,\n        defaultValue: 'kubernetes org. unit',\n      },\n      C: {\n        required: false,\n        readOnly: true,\n        defaultValue: \"US\"\n      },\n      L: {\n        required: false,\n        readOnly: true,\n        defaultValue: \"kubernetes world\"\n      },\n      ST: {\n        required: false,\n        readOnly: true,\n        defaultValue: \"kubernetes west\"\n      }\n    }\n  },\n  publicKey: {\n    fields: {\n      signatureAlgorithm: {\n        required: true,\n        readOnly: true,\n        defaultValue: \"RSA-2048\"\n      },\n      hashAlgorithm: {\n        required: true,\n        readOnly: true,\n        defaultValue: \"SHA-256\"\n      }\n    }\n  },\n  options: {\n    fields: {\n      useSelfSignedCertificate: {\n        required: false,\n        readOnly: true,\n        defaultValue: true\n      }\n    }\n  }\n};\n```\n"
      },
      "props": [
        {
          "name": "downloadAppLink",
          "type": "string",
          "complexType": {
            "original": "string",
            "resolved": "string",
            "references": {}
          },
          "mutable": false,
          "attr": "download-app-link",
          "reflectToAttr": true,
          "docs": "A link to download the application when a connection to Fortify is not found.",
          "docsTags": [
            {
              "name": "default",
              "text": "'https://fortifyapp.com'"
            }
          ],
          "default": "'https://fortifyapp.com'",
          "values": [
            {
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "filters",
          "type": "{ onlySmartcards?: boolean; providerNameMatch?: string | RegExp; providerATRMatch?: string | RegExp; }",
          "complexType": {
            "original": "Pick<IFilters, 'onlySmartcards' | 'providerNameMatch' | 'providerATRMatch'>",
            "resolved": "{ onlySmartcards?: boolean; providerNameMatch?: string | RegExp; providerATRMatch?: string | RegExp; }",
            "references": {
              "Pick": {
                "location": "global",
                "id": "global::Pick"
              },
              "IFilters": {
                "location": "import",
                "path": "@peculiar/fortify-client-core",
                "id": "../client-core/dist/types/index.d.ts::IFilters"
              }
            }
          },
          "mutable": false,
          "reflectToAttr": false,
          "docs": "Object that contains filters for user certificates and providers.",
          "docsTags": [
            {
              "name": "default",
              "text": "{}"
            }
          ],
          "default": "{}",
          "values": [
            {
              "type": "{ onlySmartcards?: boolean; providerNameMatch?: string"
            },
            {
              "type": "RegExp; providerATRMatch?: string"
            },
            {
              "type": "RegExp; }"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "formPolicy",
          "type": "IFormPolicyConfig",
          "complexType": {
            "original": "IFormPolicyConfig",
            "resolved": "IFormPolicyConfig",
            "references": {
              "IFormPolicyConfig": {
                "location": "import",
                "path": "./policyConfig",
                "id": "src/components/fortify-enrollment/policyConfig.ts::IFormPolicyConfig"
              }
            }
          },
          "mutable": false,
          "reflectToAttr": false,
          "docs": "Object that contains configurations for enrollment form.",
          "docsTags": [],
          "values": [
            {
              "type": "IFormPolicyConfig"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "helpPageLink",
          "type": "string",
          "complexType": {
            "original": "string",
            "resolved": "string",
            "references": {}
          },
          "mutable": false,
          "attr": "help-page-link",
          "reflectToAttr": true,
          "docs": "A link to redirect the user to the help page\nif there are any questions about the operation of the application.",
          "docsTags": [
            {
              "name": "default",
              "text": "'https://fortifyapp.com/help'"
            }
          ],
          "default": "'https://fortifyapp.com/help'",
          "values": [
            {
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "hideFooter",
          "type": "boolean",
          "complexType": {
            "original": "boolean",
            "resolved": "boolean",
            "references": {}
          },
          "mutable": false,
          "attr": "hide-footer",
          "reflectToAttr": true,
          "docs": "If `true`, the component footer will be hidden.",
          "docsTags": [
            {
              "name": "default",
              "text": "false"
            }
          ],
          "default": "false",
          "values": [
            {
              "type": "boolean"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        },
        {
          "name": "language",
          "type": "\"de\" | \"el\" | \"en\" | \"es\" | \"fr\" | \"he\" | \"it\" | \"ja\" | \"nl\" | \"pl\" | \"pt\" | \"tr\" | \"uk\"",
          "complexType": {
            "original": "TSupportedMessagesType",
            "resolved": "\"de\" | \"el\" | \"en\" | \"es\" | \"fr\" | \"he\" | \"it\" | \"ja\" | \"nl\" | \"pl\" | \"pt\" | \"tr\" | \"uk\"",
            "references": {
              "TSupportedMessagesType": {
                "location": "import",
                "path": "../../utils/l10n",
                "id": "src/utils/l10n.ts::TSupportedMessagesType"
              }
            }
          },
          "mutable": false,
          "attr": "language",
          "reflectToAttr": true,
          "docs": "Component language.",
          "docsTags": [],
          "values": [
            {
              "value": "de",
              "type": "string"
            },
            {
              "value": "el",
              "type": "string"
            },
            {
              "value": "en",
              "type": "string"
            },
            {
              "value": "es",
              "type": "string"
            },
            {
              "value": "fr",
              "type": "string"
            },
            {
              "value": "he",
              "type": "string"
            },
            {
              "value": "it",
              "type": "string"
            },
            {
              "value": "ja",
              "type": "string"
            },
            {
              "value": "nl",
              "type": "string"
            },
            {
              "value": "pl",
              "type": "string"
            },
            {
              "value": "pt",
              "type": "string"
            },
            {
              "value": "tr",
              "type": "string"
            },
            {
              "value": "uk",
              "type": "string"
            }
          ],
          "optional": true,
          "required": false,
          "getter": false,
          "setter": false
        }
      ],
      "methods": [],
      "events": [
        {
          "event": "creationCancel",
          "detail": "void",
          "bubbles": true,
          "complexType": {
            "original": "void",
            "resolved": "void",
            "references": {}
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user has canceled the creation flow.",
          "docsTags": []
        },
        {
          "event": "creationClose",
          "detail": "void",
          "bubbles": true,
          "complexType": {
            "original": "void",
            "resolved": "void",
            "references": {}
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user clicks on the \"Close\" button after\nsuccessfully creating a certificate or certificate request.",
          "docsTags": []
        },
        {
          "event": "creationFail",
          "detail": "Error",
          "bubbles": true,
          "complexType": {
            "original": "Error",
            "resolved": "Error",
            "references": {
              "Error": {
                "location": "global",
                "id": "global::Error"
              }
            }
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user failed to generate a certificate or certificate request.",
          "docsTags": []
        },
        {
          "event": "creationSuccess",
          "detail": "ICreationSuccessEvent",
          "bubbles": true,
          "complexType": {
            "original": "ICreationSuccessEvent",
            "resolved": "ICreationSuccessEvent",
            "references": {
              "ICreationSuccessEvent": {
                "location": "local",
                "path": "/home/runner/work/fortify-webcomponents/fortify-webcomponents/packages/webcomponents/src/components/fortify-enrollment/fortify-enrollment.tsx",
                "id": "src/components/fortify-enrollment/fortify-enrollment.tsx::ICreationSuccessEvent"
              }
            }
          },
          "cancelable": true,
          "composed": true,
          "docs": "Fires when the user has successfully created a certificate or certificate request.",
          "docsTags": []
        }
      ],
      "listeners": [],
      "styles": [],
      "slots": [],
      "parts": [],
      "dependents": [],
      "dependencies": [],
      "dependencyGraph": {}
    }
  ],
  "typeLibrary": {
    "src/utils/l10n.ts::TSupportedMessagesType": {
      "declaration": "\"tr\" | \"es\" | \"en\" | \"uk\" | \"de\" | \"el\" | \"it\" | \"he\" | \"pl\" | \"nl\" | \"fr\" | \"pt\" | \"ja\"",
      "docstring": "",
      "path": "src/utils/l10n.ts"
    },
    "../client-core/dist/types/index.d.ts::IFilters": {
      "declaration": "any",
      "docstring": "",
      "path": "../client-core/dist/types/index.d.ts"
    },
    "src/components/fortify-certificates/fortify-certificates.tsx::ISelectionSuccessEvent": {
      "declaration": "export interface ISelectionSuccessEvent {\n  certificateId: string;\n  providerId: string;\n  privateKeyId: string;\n  socketProvider: SocketProvider;\n}",
      "docstring": "",
      "path": "src/components/fortify-certificates/fortify-certificates.tsx"
    },
    "src/components/fortify-enrollment/policyConfig.ts::IFormPolicyConfig": {
      "declaration": "export interface IFormPolicyConfig {\n  subject: {\n    title?: string;\n    fields: IFormPolicyConfigSubjectFieldsSeparate | IFormPolicyConfigSubjectFieldsMulti;\n  };\n  publicKey: {\n    title?: string;\n    fields: IFormPolicyConfigPublicKeyFields;\n  };\n  options: {\n    title?: string;\n    fields: IFormPolicyConfigOptionsFields;\n  };\n}",
      "docstring": "",
      "path": "src/components/fortify-enrollment/policyConfig.ts"
    },
    "src/components/fortify-enrollment/fortify-enrollment.tsx::ICreationSuccessEvent": {
      "declaration": "export interface ICreationSuccessEvent {\n  providerId: string;\n  raw: ArrayBuffer;\n  privateKey: CryptoKey;\n  publicKey: CryptoKey;\n  socketProvider: SocketProvider;\n}",
      "docstring": "",
      "path": "src/components/fortify-enrollment/fortify-enrollment.tsx"
    }
  }
}