From a029588a8681df10638111b0660884ebd8114e80 Mon Sep 17 00:00:00 2001 From: mrholek Date: Mon, 3 Aug 2026 15:04:41 +0200 Subject: [PATCH] docs: render live examples on the pages still using preview fences footer, icon, form control, checks & radios, grid, columns and gutters still carried the pre-Astro ```jsx preview fences. The docs engine has no handler for the `preview` meta, so all 60 of them rendered as code blocks with no demo. Move each snippet to an `examples/*.tsx` file mounted through , the pattern every other page already uses. --- .../components/examples/FooterExample.tsx | 14 + .../examples/IconCssVariablesExample.tsx | 10 + .../components/examples/IconSizingExample.tsx | 13 + .../examples/IconUtilityClassesExample.tsx | 14 + .../src/content/docs/components/footer.mdx | 18 +- .../docs/src/content/docs/components/icon.mdx | 40 +-- .../src/content/docs/forms/checks-radios.mdx | 186 ++++++------- ...iosCheckboxToggleButtonsCheckedExample.tsx | 11 + ...osCheckboxToggleButtonsDisabledExample.tsx | 11 + ...ecksRadiosCheckboxToggleButtonsExample.tsx | 10 + .../examples/ChecksRadiosChecksExample.tsx | 8 + .../examples/ChecksRadiosDisabledExample.tsx | 8 + .../ChecksRadiosIndeterminateExample.tsx | 5 + .../examples/ChecksRadiosInlineExample.tsx | 9 + .../ChecksRadiosInlineRadiosExample.tsx | 31 +++ .../ChecksRadiosOutlinedStylesExample.tsx | 42 +++ .../ChecksRadiosRadioToggleButtonsExample.tsx | 40 +++ .../ChecksRadiosRadiosDisabledExample.tsx | 21 ++ .../examples/ChecksRadiosRadiosExample.tsx | 14 + .../examples/ChecksRadiosStackedExample.tsx | 8 + .../ChecksRadiosStackedRadiosExample.tsx | 29 ++ .../ChecksRadiosSwitchSizesExample.tsx | 13 + .../examples/ChecksRadiosSwitchesExample.tsx | 15 + .../ChecksRadiosWithoutLabelsExample.tsx | 12 + .../examples/FormControlColorExample.tsx | 13 + .../examples/FormControlDisabledExample.tsx | 19 ++ .../forms/examples/FormControlExample.tsx | 14 + .../examples/FormControlFileInputExample.tsx | 26 ++ .../examples/FormControlReadonlyExample.tsx | 10 + .../FormControlReadonlyPlainTextExample.tsx | 28 ++ ...mControlReadonlyPlainTextInlineExample.tsx | 29 ++ .../examples/FormControlSizingExample.tsx | 9 + .../src/content/docs/forms/form-control.mdx | 122 +++----- .../docs/src/content/docs/layout/columns.mdx | 262 +++++------------- .../layout/examples/ColumnsBreaksExample.tsx | 21 ++ .../ColumnsBreaksResponsiveExample.tsx | 21 ++ .../ColumnsHorizontalAlignmentExample.tsx | 30 ++ .../ColumnsMarginUtilitiesExample.tsx | 26 ++ .../layout/examples/ColumnsOffsetExample.tsx | 17 ++ .../examples/ColumnsOffsetResetExample.tsx | 22 ++ .../layout/examples/ColumnsOrderExample.tsx | 11 + .../examples/ColumnsOrderFirstLastExample.tsx | 11 + .../examples/ColumnsStandaloneExample.tsx | 12 + .../ColumnsVerticalAlignmentExample.tsx | 21 ++ .../ColumnsVerticalAlignmentSelfExample.tsx | 11 + .../examples/ColumnsWrappingExample.tsx | 20 ++ .../examples/GridAllBreakpointsExample.tsx | 16 ++ .../layout/examples/GridEqualWidthExample.tsx | 15 + .../docs/layout/examples/GridExample.tsx | 11 + .../examples/GridMixAndMatchExample.tsx | 27 ++ .../examples/GridRowColumns2Example.tsx | 12 + .../examples/GridRowColumns3Example.tsx | 12 + .../examples/GridRowColumns4ColExample.tsx | 12 + .../examples/GridRowColumns4Example.tsx | 12 + .../examples/GridRowColumnsAutoExample.tsx | 12 + .../GridRowColumnsResponsiveExample.tsx | 12 + .../GridSettingOneColumnWidthExample.tsx | 16 ++ .../GridStackedToHorizontalExample.tsx | 15 + .../GridVariableWidthContentExample.tsx | 22 ++ .../examples/GuttersHorizontalExample.tsx | 14 + ...GuttersHorizontalOverflowHiddenExample.tsx | 14 + .../GuttersHorizontalVerticalExample.tsx | 20 ++ .../examples/GuttersNoGuttersExample.tsx | 12 + .../examples/GuttersRowColumnsExample.tsx | 38 +++ .../examples/GuttersVerticalExample.tsx | 20 ++ .../docs/src/content/docs/layout/grid.mdx | 244 +++++----------- .../docs/src/content/docs/layout/gutters.mdx | 133 +++------ 67 files changed, 1337 insertions(+), 689 deletions(-) create mode 100644 packages/docs/src/content/docs/components/examples/FooterExample.tsx create mode 100644 packages/docs/src/content/docs/components/examples/IconCssVariablesExample.tsx create mode 100644 packages/docs/src/content/docs/components/examples/IconSizingExample.tsx create mode 100644 packages/docs/src/content/docs/components/examples/IconUtilityClassesExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosCheckboxToggleButtonsCheckedExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosCheckboxToggleButtonsDisabledExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosCheckboxToggleButtonsExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosChecksExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosDisabledExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosIndeterminateExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosInlineExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosInlineRadiosExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosOutlinedStylesExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosRadioToggleButtonsExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosRadiosDisabledExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosRadiosExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosStackedExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosStackedRadiosExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosSwitchSizesExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosSwitchesExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/ChecksRadiosWithoutLabelsExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlColorExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlDisabledExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlFileInputExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlReadonlyExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlReadonlyPlainTextExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlReadonlyPlainTextInlineExample.tsx create mode 100644 packages/docs/src/content/docs/forms/examples/FormControlSizingExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsBreaksExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsBreaksResponsiveExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsHorizontalAlignmentExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsMarginUtilitiesExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsOffsetExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsOffsetResetExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsOrderExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsOrderFirstLastExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsStandaloneExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsVerticalAlignmentExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsVerticalAlignmentSelfExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/ColumnsWrappingExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridAllBreakpointsExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridEqualWidthExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridMixAndMatchExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumns2Example.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumns3Example.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumns4ColExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumns4Example.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumnsAutoExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridRowColumnsResponsiveExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridSettingOneColumnWidthExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridStackedToHorizontalExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GridVariableWidthContentExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersHorizontalExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersHorizontalOverflowHiddenExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersHorizontalVerticalExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersNoGuttersExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersRowColumnsExample.tsx create mode 100644 packages/docs/src/content/docs/layout/examples/GuttersVerticalExample.tsx diff --git a/packages/docs/src/content/docs/components/examples/FooterExample.tsx b/packages/docs/src/content/docs/components/examples/FooterExample.tsx new file mode 100644 index 00000000..aace8ecb --- /dev/null +++ b/packages/docs/src/content/docs/components/examples/FooterExample.tsx @@ -0,0 +1,14 @@ +import { CFooter, CLink } from '@coreui/react' + +export const FooterExample = () => ( + +
+ CoreUI + © 2026 creativeLabs. +
+
+ Powered by + CoreUI +
+
+) diff --git a/packages/docs/src/content/docs/components/examples/IconCssVariablesExample.tsx b/packages/docs/src/content/docs/components/examples/IconCssVariablesExample.tsx new file mode 100644 index 00000000..e5e927e6 --- /dev/null +++ b/packages/docs/src/content/docs/components/examples/IconCssVariablesExample.tsx @@ -0,0 +1,10 @@ +import type { CSSProperties } from 'react' +import { CIcon } from '@coreui/icons-react/src/index' +import { cilList } from '@coreui/icons' + +export const IconCssVariablesExample = () => ( + <> + + + +) diff --git a/packages/docs/src/content/docs/components/examples/IconSizingExample.tsx b/packages/docs/src/content/docs/components/examples/IconSizingExample.tsx new file mode 100644 index 00000000..2f0b2c4b --- /dev/null +++ b/packages/docs/src/content/docs/components/examples/IconSizingExample.tsx @@ -0,0 +1,13 @@ +import { CIcon } from '@coreui/icons-react/src/index' +import { cilList } from '@coreui/icons' + +export const IconSizingExample = () => ( + <> + + + + + + + +) diff --git a/packages/docs/src/content/docs/components/examples/IconUtilityClassesExample.tsx b/packages/docs/src/content/docs/components/examples/IconUtilityClassesExample.tsx new file mode 100644 index 00000000..86ecff08 --- /dev/null +++ b/packages/docs/src/content/docs/components/examples/IconUtilityClassesExample.tsx @@ -0,0 +1,14 @@ +import { CIcon } from '@coreui/icons-react/src/index' +import { cilList } from '@coreui/icons' + +export const IconUtilityClassesExample = () => ( + <> + + + + + + + + +) diff --git a/packages/docs/src/content/docs/components/footer.mdx b/packages/docs/src/content/docs/components/footer.mdx index 25818374..a7a44ba6 100644 --- a/packages/docs/src/content/docs/components/footer.mdx +++ b/packages/docs/src/content/docs/components/footer.mdx @@ -8,20 +8,14 @@ otherFrameworks: import CFooterData from '@api/CFooter.api.json' +import { FooterExample } from './examples/FooterExample' +import FooterExampleRaw from './examples/FooterExample.tsx?raw' + ## Example -```jsx preview demo - -
- CoreUI - © 2026 creativeLabs. -
-
- Powered by - CoreUI -
-
-``` + + + ## Customizing diff --git a/packages/docs/src/content/docs/components/icon.mdx b/packages/docs/src/content/docs/components/icon.mdx index fdd5f4a9..2ca8127a 100644 --- a/packages/docs/src/content/docs/components/icon.mdx +++ b/packages/docs/src/content/docs/components/icon.mdx @@ -19,10 +19,12 @@ import { IconDemo0 } from './examples/IconDemo0' import IconDemo0Raw from './examples/IconDemo0.tsx?raw' import { IconDemo1 } from './examples/IconDemo1' import IconDemo1Raw from './examples/IconDemo1.tsx?raw' - -import {CIcon, CIconSvg} from '@coreui/icons-react/src/index' -import { cilList, cilShieldAlt } from '@coreui/icons' -import * as icon from '@coreui/icons'; +import { IconUtilityClassesExample } from './examples/IconUtilityClassesExample' +import IconUtilityClassesExampleRaw from './examples/IconUtilityClassesExample.tsx?raw' +import { IconCssVariablesExample } from './examples/IconCssVariablesExample' +import IconCssVariablesExampleRaw from './examples/IconCssVariablesExample.tsx?raw' +import { IconSizingExample } from './examples/IconSizingExample' +import IconSizingExampleRaw from './examples/IconSizingExample.tsx?raw' ## Installation @@ -87,37 +89,25 @@ The CoreUI React Icon component offers versatile color customization options, em With some [color utility classes](https://coreui.io/bootstrap/docs/utilities/colors/), you may use color to convey message. -```jsx preview - - - - - - - -``` + + + #### CSS Variables CoreUI React Icons leverage local CSS variables, such as `--ci-primary-color` and `--ci-secondary-color` (for Duotone icons), to facilitate real-time customization. This allows developers to easily customize the icons by providing their own custom CSS variables. -```jsx preview - - -``` + + + ### Sizing Set heights of React icons using size property like size="lg" and size="sm". -```jsx preview - - - - - - -``` + + + ### Custom SVG Icons diff --git a/packages/docs/src/content/docs/forms/checks-radios.mdx b/packages/docs/src/content/docs/forms/checks-radios.mdx index 9ec4fbfb..28e1cc1e 100644 --- a/packages/docs/src/content/docs/forms/checks-radios.mdx +++ b/packages/docs/src/content/docs/forms/checks-radios.mdx @@ -7,112 +7,126 @@ description: "Create consistent cross-browser and cross-device checkboxes and ra import CFormCheckData from '@api/CFormCheck.api.json' import CFormSwitchData from '@api/CFormSwitch.api.json' +import { ChecksRadiosChecksExample } from './examples/ChecksRadiosChecksExample' +import ChecksRadiosChecksExampleRaw from './examples/ChecksRadiosChecksExample.tsx?raw' +import { ChecksRadiosIndeterminateExample } from './examples/ChecksRadiosIndeterminateExample' +import ChecksRadiosIndeterminateExampleRaw from './examples/ChecksRadiosIndeterminateExample.tsx?raw' +import { ChecksRadiosDisabledExample } from './examples/ChecksRadiosDisabledExample' +import ChecksRadiosDisabledExampleRaw from './examples/ChecksRadiosDisabledExample.tsx?raw' +import { ChecksRadiosRadiosExample } from './examples/ChecksRadiosRadiosExample' +import ChecksRadiosRadiosExampleRaw from './examples/ChecksRadiosRadiosExample.tsx?raw' +import { ChecksRadiosRadiosDisabledExample } from './examples/ChecksRadiosRadiosDisabledExample' +import ChecksRadiosRadiosDisabledExampleRaw from './examples/ChecksRadiosRadiosDisabledExample.tsx?raw' +import { ChecksRadiosSwitchesExample } from './examples/ChecksRadiosSwitchesExample' +import ChecksRadiosSwitchesExampleRaw from './examples/ChecksRadiosSwitchesExample.tsx?raw' +import { ChecksRadiosSwitchSizesExample } from './examples/ChecksRadiosSwitchSizesExample' +import ChecksRadiosSwitchSizesExampleRaw from './examples/ChecksRadiosSwitchSizesExample.tsx?raw' +import { ChecksRadiosStackedExample } from './examples/ChecksRadiosStackedExample' +import ChecksRadiosStackedExampleRaw from './examples/ChecksRadiosStackedExample.tsx?raw' +import { ChecksRadiosStackedRadiosExample } from './examples/ChecksRadiosStackedRadiosExample' +import ChecksRadiosStackedRadiosExampleRaw from './examples/ChecksRadiosStackedRadiosExample.tsx?raw' +import { ChecksRadiosInlineExample } from './examples/ChecksRadiosInlineExample' +import ChecksRadiosInlineExampleRaw from './examples/ChecksRadiosInlineExample.tsx?raw' +import { ChecksRadiosInlineRadiosExample } from './examples/ChecksRadiosInlineRadiosExample' +import ChecksRadiosInlineRadiosExampleRaw from './examples/ChecksRadiosInlineRadiosExample.tsx?raw' +import { ChecksRadiosWithoutLabelsExample } from './examples/ChecksRadiosWithoutLabelsExample' +import ChecksRadiosWithoutLabelsExampleRaw from './examples/ChecksRadiosWithoutLabelsExample.tsx?raw' +import { ChecksRadiosCheckboxToggleButtonsExample } from './examples/ChecksRadiosCheckboxToggleButtonsExample' +import ChecksRadiosCheckboxToggleButtonsExampleRaw from './examples/ChecksRadiosCheckboxToggleButtonsExample.tsx?raw' +import { ChecksRadiosCheckboxToggleButtonsCheckedExample } from './examples/ChecksRadiosCheckboxToggleButtonsCheckedExample' +import ChecksRadiosCheckboxToggleButtonsCheckedExampleRaw from './examples/ChecksRadiosCheckboxToggleButtonsCheckedExample.tsx?raw' +import { ChecksRadiosCheckboxToggleButtonsDisabledExample } from './examples/ChecksRadiosCheckboxToggleButtonsDisabledExample' +import ChecksRadiosCheckboxToggleButtonsDisabledExampleRaw from './examples/ChecksRadiosCheckboxToggleButtonsDisabledExample.tsx?raw' +import { ChecksRadiosRadioToggleButtonsExample } from './examples/ChecksRadiosRadioToggleButtonsExample' +import ChecksRadiosRadioToggleButtonsExampleRaw from './examples/ChecksRadiosRadioToggleButtonsExample.tsx?raw' +import { ChecksRadiosOutlinedStylesExample } from './examples/ChecksRadiosOutlinedStylesExample' +import ChecksRadiosOutlinedStylesExampleRaw from './examples/ChecksRadiosOutlinedStylesExample.tsx?raw' + ## Approach Browser default checkboxes and radios are replaced with the help of ``. Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many. ## Checks -```jsx preview - - -``` + + + ## Indeterminate Checkboxes can utilize the `:indeterminate` pseudo-class when manually set via `indeterminate` property. -```jsx preview - -``` + + + ### Disabled Add the `disabled` attribute and the associated `