Socket
Book a DemoInstallSign in
Socket

@forter/code-block

Package Overview
Dependencies
Maintainers
0
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forter/code-block

code-block from Forter Components

latest
Source
npmnpm
Version
1.6.0
Version published
Weekly downloads
3
200%
Maintainers
0
Weekly downloads
 
Created
Source

fc-code-block

Display themed syntax highlighted code in code block (JSON, HTML, CSS etc) Extension of highlight component by Liron Goldenberg

\

Usage

<script>
   import '@forter/code-block';
</script>

<fc-code-block>
    { "message": "hello world" }
</fc-code-block>

Examples

<!-- title -->
<fc-code-block>
    <div slot="title">
      <div style="display: flex;justify-content: space-between;align-items: center;">
        <h3 style="font-weight: 600; margin: 0;">code title</h3>
        <span style="color: #31e031">some text</span>
      </div>
    </div>
   {"a": "some code"}
</fc-code-block>

<!-- json -->
<fc-code-block title="JSON Example">
   {"string": "value", "null": null, "boolean": true, "number": 1, "array": [], "object": {} }
</fc-code-block>


<!-- javascript -->
<fc-code-block title="ftr:tokenReady">
   document.addEventListener('ftr:tokenReady', function(evt) {
     var token = evt.detail;
     // Retrieve the token sent to your back-end
     export default function handler(req, res) {
         res.status(200).json({ name: 'John Doe' })
     }
   });
</fc-code-block>


<!-- bash -->
<fc-code-block title="BASH Example">
   #!/bin/bash

   echo "Enter your lucky number"
   read n
   case $n in
   101)
   echo echo "You got 1st prize" ;;
   510)
   echo "You got 2nd prize" ;;
   999)
   echo "You got 3rd prize" ;;
   *)
   echo "Sorry, try for the next time" ;;
   esac
</fc-code-block>

<!-- yaml -->
<fc-code-block title="YAML Example">
   items:
     - things:
         thing1: huey
         things2: dewey
         thing3: louie
     - other things:
         key: value
</fc-code-block>

<!-- css -->
<fc-code-block title="CSS Example">
   code, pre {
     color: var(--fc-code-block-text-color, white);
     font-family: "Fira Mono", monospace;
     font-size: 14px;
     overflow: auto;
   }
</fc-code-block>

<!-- line error -->
<fc-code-block title="Errors example" linenumbers .errors=${[2,4]}>
   {"string": "value", "null": null, "boolean": true, "number": 1, "array": [], "object": {} }
</fc-code-block>

<!-- html -->
<fc-code-block title="HTML Example">
    <div id="example">
      <a href="https://fonts.google.com/specimen/Fira+Mono">Fira Mono</a>
      <span class="hello">
        <p>Hello World</p>
      </span>
    </div>
</fc-code-block>

<!-- foldable -->
<fc-code-block language="json" linenumbers .errors="${[7,10,14]}">
    <div slot="title">fold example</div>
      {
        "name": "Daniel",
        "address": {
          "city": "TLV",
          "street": "Begin"
        },
        "age": 12,
        "profile": {
          "image": {
            "url": "https:url.uk",
            "alt": "profile image"
          }
        },
        "test": false
      }
</fc-code-block>

<!-- pathsflag -->
<fc-code-block language="json" linenumbers .pathsflag="${['name', 'address.street', 'list.id', 'list.PropertyC.PropertyD']}">
    <div slot="title">pathsflag example</div>
      {
        "name": "Daniel",
        "address": {
          "city": "TLV",
          "street": "Begin"
        },
        "age": 12,
        "profile": {
          "image": {
            "url": "https:url.uk",
            "alt": "profile image"
          }
        },
        "list": [
          {
            "id": 1,
            "name": "Test Item 1",
            "description": "Test",
            "type": "type1",
            "PropertyA": [
             {  "PropertyB": "B" }
            ]
          },
          {
            "id": 2,
            "name": "Test Item 2",
            "description": "Test",
            "type": "type2",
            "PropertyC": [
              {
                "PropertyD": "D"
              }
            ]
          }
        ],
        "test": false
      }
</fc-code-block>

<!-- theme -->
<fc-code-block language="json" theme="light" linenumbers .pathsflag="${['name', 'address.street']}">
    <div slot="title">light theme example</div>
      {
        "name": "Daniel",
        "address": {
          "city": "TLV",
          "street": "Begin"
        },
        "age": 12,
        "profile": {
          "image": {
            "url": "https:url.uk",
            "alt": "profile image"
          }
        },
        "test": false
      }
</fc-code-block>

<!-- overridecopy -->
<fc-code-block language="bash" overridecopy="export secret_key=12345678">
    <div slot="title">override copy example</div>
      export secret_key=*********
</fc-code-block>

Properties

PropertyAttributeTypeDefaultDescription
codeNodeanycode element
contentcontentstringcode language to highlight
errorserrorsany[]Array of numbers in ascending order, representing lines with errors
errorsContainerNodeanyerrors container element
foldfoldbooleanfalseboolean value for displaying folded code content
languagelanguage"html" | "bash" | "javascript" | "json" | "css" | "yaml"language of code block language
lineNumbersContainerNodeanyline numbers container element
linenumberslinenumbersbooleanfalseboolean value for displaying line numbers
overridecopyoverridecopyanyString to override the copy text
pathsflagpathsflagany[]Array of json paths to be flagged in case of json lang
themetheme"dark" | "light""dark"theme of code block style
titletitle"example"title of code block
titleSlotElmanytitle slot element

Slots

NameDescription
content to block. like {"a": {"b": 1, "c": null, "d": "a", "e": false, "f": true, "h": 0 }}

CSS Custom Properties

PropertyDescription
--fc-code-block-background-colorvalue color. example: var(--fc-blue-gray-800), default: rgba(54, 67, 95)
--fc-code-block-function-colorvalue color. example: var(--fc-red-300), default: var(--fc-red-300)
--fc-code-block-null-colornull color. example: var(--fc-orange-300), default: var(--fc-orange-300)
--fc-code-block-primary-colorattr color. example: var(--fc-marine-300), default: var(--fc-marine-300)
--fc-code-block-secondary-colortag color. example: var(--fc-green-300), default: var(--fc-green-300)
--fc-code-block-text-colorvalue color. example: white, default: white
--fc-code-block-topbar-background-colorvalue color. example: var(--fc-blue-gray-900), default: var(--fc-blue-gray-900)
--fc-code-block-topbar-colorvalue color. example: var(--fc-gray-500), default: var(--fc-gray-500)
--fc-code-block-variable-colorvalue color. example: var(--fc-gold-300), default: var(--fc-gold-300)

Keywords

web-components

FAQs

Package last updated on 05 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts