aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-llvm.min.js
Commit message (Collapse)AuthorAgeFilesLines
* refactor(components): rewrite Code component and usePrism hookArmand Philippot2023-11-111-16/+18
| | | | | | | | | | | | * move Prism styles to Sass placeholders to avoid repeats * let usePrism consumer define its plugins (remove default ones) * remove `plugins` prop from Code component * add new props to Code component to let consumer configure plugins (and handle plugin list from the given options) However there are some problems with Prism plugins: line-highlight and treeview does not seems to be loaded. I don't want to use Babel instead of SWC so I have no solution for now.
* chore: add prismjs for syntax highlightingArmand Philippot2021-12-301-0/+16
#n67'>67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
import { ComponentMeta, ComponentStory } from '@storybook/react';
import Link from './link';

/**
 * Link - Storybook Meta
 */
export default {
  title: 'Atoms/Typography/Links',
  component: Link,
  argTypes: {
    children: {
      control: {
        type: 'text',
      },
      description: 'The link body.',
      type: {
        name: 'string',
        required: true,
      },
    },
    className: {
      control: {
        type: 'text',
      },
      description: 'Set additional classnames.',
      table: {
        category: 'Styles',
      },
      type: {
        name: 'string',
        required: false,
      },
    },
    download: {
      control: {
        type: 'boolean',
      },
      description: 'Determine if the link purpose is to download a file.',
      table: {
        category: 'Options',
        defaultValue: { summary: false },
      },
      type: {
        name: 'boolean',
        required: false,
      },
    },
    external: {
      control: {
        type: 'boolean',
      },
      description: 'Determine if the link is external of the current website.',
      table: {
        category: 'Options',
        defaultValue: { summary: false },
      },
      type: {
        name: 'boolean',
        required: false,
      },
    },
    href: {
      control: {
        type: 'text',
      },
      description: 'The link target.',
      type: {
        name: 'string',
        required: true,
      },
    },
    lang: {
      control: {
        type: 'text',
      },
      table: {
        category: 'Options',
      },
      description: 'The target language as code language.',
      type: {
        name: 'string',
        required: false,
      },
    },
  },
} as ComponentMeta<typeof Link>;

const Template: ComponentStory<typeof Link> = (args) => <Link {...args} />;

/**
 * Links Stories - Default
 */
export const Default = Template.bind({});
Default.args = {
  children: 'A link',
  href: '#',
  download: false,
  external: false,
};

/**
 * Links Stories - Download
 */
export const Download = Template.bind({});
Download.args = {
  children: 'A link to a file',
  href: '#',
  download: true,
  external: false,
};

/**
 * Links Stories - DownloadWithLang
 */
export const DownloadWithLang = Template.bind({});
DownloadWithLang.args = {
  children: 'A link to a file',
  href: '#',
  download: true,
  external: false,
  lang: 'en',
};

/**
 * Links Stories - External
 */
export const External = Template.bind({});
External.args = {
  children: 'A link',
  href: '#',
  download: false,
  external: true,
};

/**
 * Links Stories - External download
 */
export const ExternalDownload = Template.bind({});
ExternalDownload.args = {
  children: 'A link',
  href: '#',
  download: true,
  external: true,
};

/**
 * Links Stories - External With Lang
 */
export const ExternalWithLang = Template.bind({});
ExternalWithLang.args = {
  children: 'A link',
  href: '#',
  download: false,
  external: true,
  lang: 'en',
};

/**
 * Links Stories - External download with lang
 */
export const ExternalDownloadWithLang = Template.bind({});
ExternalDownloadWithLang.args = {
  children: 'A link',
  href: '#',
  download: true,
  external: true,
  lang: 'en',
};

/**
 * Links Stories - With Lang
 */
export const WithLang = Template.bind({});
WithLang.args = {
  children: 'A link',
  href: '#',
  download: false,
  external: false,
  lang: 'en',
};