### Install Shidoka Applications
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Installs the Shidoka Applications package using npm.
```bash
npm install @kyndryl-design-system/shidoka-applications -S
```
--------------------------------
### Example: Single HeaderLink Component Usage
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Demonstrates the HTML structure for using the Kyn-Header-Link component.
```html
Link
```
--------------------------------
### Example: Header Component Usage
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Demonstrates the HTML structure for using the Kyn-Header component and its sub-components.
```html
Link
```
--------------------------------
### Storybook Meta Configuration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Configuration for Storybook's Meta component, setting the title for the documentation page.
```HTML
```
--------------------------------
### Local Nav Prop Migration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Explains the migration of `unpinText` and `pinText` props in the Local Nav component. These props have been moved to `textStrings.pin` and `textStrings.unpin`.
```JavaScript
// `unpinText` and `pinText` props moved to `textStrings.pin` & `textStrings.unpin`
```
--------------------------------
### Removed Deprecated Components
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Lists components that have been removed due to deprecation, including kyn-data-table, kyn-footer-nav, kyn-footer-link, kyn-breadcrumb-item, kyn-header-panel, and kyn-header-avatar.
```JavaScript
// Removed Previously Deprecated Components
// kyn-data-table
// kyn-footer-nav
// kyn-footer-link
// kyn-breadcrumb-item
// kyn-header-panel
// kyn-header-avatar
```
--------------------------------
### Define Widget Layout and Constraints
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/widget/Gridstack.mdx
Provides an example of defining widget sizes and constraints for different breakpoints using imported JSON objects. It highlights the necessity of defining layouts for 'max', 'md', and 'sm' breakpoints.
```javascript
import {
WidgetSizes,
WidgetConstraints,
} from '@kyndryl-design-system/shidoka-applications/common/helpers/gridstack';
const Layout = {
max: [
{
id: 'widget1',
...WidgetSizes.standard.max,
...WidgetConstraints.default.max,
},
{
id: 'widget2',
...WidgetSizes.wide.max,
...WidgetConstraints.chart.max,
},
],
// provide widget sizes for every breakpoint
};
```
--------------------------------
### Radio Button Example
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Displays a Storybook canvas showcasing the Radio Button component with its story.
```jsx
```
--------------------------------
### Tag Component Shade Prop Removal
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Notes the removal of the `shade` prop from the Tag and Tag skeleton components.
```JavaScript
// `shade` prop is removed.
```
--------------------------------
### Extend Shidoka Swiper Configuration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/carousel/Docs.mdx
Demonstrates how to extend Shidoka's default Swiper configuration, using `deepmerge-ts` as an example to change the pagination type.
```javascript
SwiperConfig.pagination.type = 'bullets';
```
--------------------------------
### Radio Button Group Example
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Displays a Storybook canvas showcasing the Radio Button Group component with its story.
```jsx
```
--------------------------------
### Data Table Ellipsis Prop Removal
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Informs about the removal of the `ellipsis` prop from the Data Table component.
```JavaScript
// `ellipsis` prop is removed
```
--------------------------------
### Form Input Component Slot and Prop Changes
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Highlights changes in Form Input components (Radio Button Group, Number Input, Text Input, Text Area, Checkbox Group, Dropdown, Toggle Button). A dedicated slot for tooltips is added, and the `label` slot is replaced by a `label` string prop.
```JavaScript
// Added a dedicated slot for tooltip.
// `label` slot has been replaced with a `label` string prop
```
--------------------------------
### Button Component Kind Renaming
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Details the renaming of 'primary-app' kind to 'primary' and 'primary-web' to 'content' in the Button component. The 'destructive' prop has been removed and is now handled as a kind.
```JavaScript
// 'primary-app' kind renamed to 'primary', remains default
// 'primary-web' kind renamed to 'content'
// 'destructive' prop removed, implemented as a kind
```
--------------------------------
### Error Block Properties and Slots
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/errorBlock/errorBlock.mdx
References the properties and slots available for the Error Block component using Storybook controls and provides a primary example.
```APIDOC
Error Block Component Documentation:
Primary Example:
Properties Reference:
Slots:
The kyn-error-block component supports the following slots:
- unnamed: For the error description.
- image: For the error image.
- actions: For action buttons.
```
--------------------------------
### Date/Time Picker Rework with Flatpickr
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Details the significant rework of Date & Time Picker components using the Flatpickr library. This includes library integration, property changes (e.g., `datePickerType` to `mode`, `value` type changes), new properties (`locale`, `twentyFourHourFormat`), event handling updates, template modifications, styling considerations, validation adjustments, and accessibility improvements.
```JavaScript
// Utilizes Flatpickr third-party date picker library to standardize date, time, and date range pickers across all browsers
// Localization support provided by Flatpickr (see `locale` prop note below)
// run `npm install` to ensure required packages are installed
// Replace `datePickerType` with `mode` property (for DatePicker and DateRangePicker)
// Update `value` property:
// DatePicker: Change from string to `Date | null`
// Input: Accept `Date` object or ISO string
// Output: `Date` object
// DateRangePicker: Change from `string` to `[Date | null, Date | null]`
// Input: Accept array of two `Date` objects or ISO strings
// Output: Array of two `Date` objects
// TimePicker: Change from string to `Date | null`
// Input: Accept `Date` object or ISO string
// Output: `Date` object
// Use Flatpickr's `mode` and `dateFormat` instead of `DATE_PICKER_TYPES`
// Rename `disabled` property to `datePickerDisabled` (for DatePicker), `dateRangePickerDisabled` (for DateRangePicker), and `timePickerDisabled` (for TimePicker)
// Remove usage of `step` property
// Use Flatpickr's `enable` and `disable` Array properties where functionality is needed to enable/disable specific dates
// Add use `locale` property (must use for Flatpickr localization)
// Add `twentyFourHourFormat` property for time format (if needed)
// Add `defaultDate` property for DatePicker, DateRangePicker, and TimePicker
// Add `defaultHour` and `defaultMinute` properties for Timepicker
// Update event listeners from `@on-input` to `@on-change`
// Update event detail structure in event handler
// Old structure: `{ value: string, origEvent: Event }`
// New structure: `{ dates: string | string[], dateString: string }`
// Replace unnamed slot for label with `label` property
// Add tooltip slot if tooltip functionality is needed
// Flatpickr theming has been customized to coordinate with broader Shidoka Design System
// Update any custom CSS that targets internal elements of the components
// Be aware of new Flatpickr-related classes for styling overrides
// Update any custom validation logic to work with the new Flatpickr integration
// Use `defaultErrorMessage` property instead of setting custom validation messages directly
// Add `errorAriaLabel`, `errorTitle`, `warningAriaLabel`, and `warningTitle` properties if custom accessibility labels are needed
// Update any code that relies on specific date string formats to work with the new `Date` object values
// For TimePicker, update any code that assumes a specific time string format to work with the new `Date` object values
// Use `dateFormat` property to specify the desired input/output format for date strings
```
--------------------------------
### Dropdown Component Behavior Changes
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/migration.mdx
Details changes in the Dropdown component: `updateByValue` prop removed (now default behavior), `resetSelection` method removed (use `value` prop), and `selected` prop removed from options (control via Dropdown's `value` prop).
```JavaScript
// `updateByValue` prop has been removed and is now the default behavior.
// The dropdown value previously derived from selected child options must now be controlled through the `value` prop.
// `resetSelection` method has been removed. Use the `value` prop to reset the selection.
// `selected` prop has been removed. Use the `value` prop from Dropdown to control the selection.
```
--------------------------------
### Storybook Meta Configuration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/welcome.mdx
Configures the Storybook metadata for the documentation page, setting the title to 'Welcome'.
```javascript
import { Meta } from '@storybook/addon-docs/blocks';
```
--------------------------------
### Project Deployment Badge
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/welcome.mdx
An HTML snippet displaying a badge indicating that the project is deployed by Netlify.
```html
```
--------------------------------
### Handling 'Failed to execute 'define' on 'CustomElementRegistry''
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Explains the 'Failed to execute 'define' on 'CustomElementRegistry'' error, often caused by bundling issues, and suggests solutions like declaring dependencies as external or peer dependencies.
```markdown
**Handling `Failed to execute 'define' on 'CustomElementRegistry'`**
#### The Problem
This is a common bundling issue that can appear when you incorporate a component that has already bundled Shidoka components. Typically this would be caused by having a middle layer, for example a Common UI layer that has a cross-platform Header component built using Shidoka components.
#### Avoiding This
You can get around this in by not declaring Shidoka components as dependencies, and instead declaring them as external or peer dependencies in the middle/common layer.
For example, from the shidoka-applications rollup.js config using [the external option](https://rollupjs.org/configuration-options/#external): `external: [/shidoka-foundation/components/]`. Since shidoka-foundation components are used within shidoka-applications components, this prevents the foundation components from being bundled, meaning it leaves the import statements unaltered (ex: `import '@kyndryl-design-system/...'`). This way, the application bundler can handle it instead.
This works with bundling from node_modules, but not with CDN hosted files since the deployed application won't know how to resolve aliased node_modules imports ex: `import '@kyndryl-design-system/...'`. In this case, you probably need a workaround.
#### Workaround
If for some reason the above suggestion does not help, there is a library containing a script/polyfill that can be used which allows custom elements to be redefined: https://github.com/caridy/redefine-custom-elements. We've found that this script works best when served from the app's `
` tag.
```
--------------------------------
### Import Root Stylesheets
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Demonstrates how to import the root stylesheets for Shidoka components using SCSS, CSS, or JavaScript.
```css
@use '@kyndryl-design-system/shidoka-foundation/scss/root.scss';
```
```css
@import '@kyndryl-design-system/shidoka-foundation/css/root.css';
```
```javascript
import '@kyndryl-design-system/shidoka-foundation/css/root.css';
```
--------------------------------
### Component Creation and Documentation Guidelines
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/CONTRIBUTING.md
Standards for creating new components, including file structure, generic design principles, and documentation requirements using JSDoc and Storybook.
```markdown
Components should be contained within their own folder containing `ts`, `scss`, and `stories` files. Sub-components can share the same folder.
Add new components to the root `index.ts` file.
Everything in the design system should be 100% generic. Remember that these components could be used to build any application. Application concerns must be separated.
Use Lit [directives](https://lit.dev/docs/templates/directives/) and [decorators](https://lit.dev/docs/components/decorators/) whenever possible.
Build responsive, build clean, focus on style and performance, enhance with quick and smooth animations.
Document everything in your components with [JSDoc](https://custom-elements-manifest.open-wc.org/analyzer/getting-started/#supported-jsdoc).
Update the `custom-elements.json` file with the `npm run analyze` script any time you add or change documentation. This is where the Storybook args tables are derived from.
Write your storybook stories with controls enabled for every property where possible.
When building modular components with sub-components, write multiple stories to show different variations. Include any sub-components in the main story so it renders a new tab with an args table.
```
--------------------------------
### Import Storybook Addon Docs Blocks
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Imports necessary components from Storybook's addon-docs/blocks for documentation rendering.
```javascript
import {
Meta,
Story,
Canvas,
Controls,
Stories,
Description,
Title,
} from '@storybook/addon-docs/blocks';
```
--------------------------------
### Testing Strategy with Storybook
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/CONTRIBUTING.md
Overview of testing methodologies using Storybook, including Accessibility, Interaction, and Visual Testing with Chromatic.
```markdown
We use [@storybook/test](https://storybook.js.org/docs/writing-tests) to execute a variety of automated tests.
The [Test Runner](https://storybook.js.org/docs/writing-tests/test-runner) is used to execute Accessibility and Interaction tests both locally and in CI.
[Accessibility Tests](https://storybook.js.org/docs/writing-tests/accessibility-testing)
[Interaction Tests](https://storybook.js.org/docs/writing-tests/interaction-testing)
1. Interaction Test writing strategy TBD
[Visual Testing via Chromatic](https://www.chromatic.com/)
1. Provides visual screenshot comparison testing and a review process which integrates with our CI.
```
--------------------------------
### Empty State Pattern - Small Variant
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/emptyState/Docs.mdx
Provides the HTML structure for the small variant of the Empty State pattern. It includes placeholders for an icon, description, and an optional primary action button.
```html
```
--------------------------------
### Development Scripts
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/CONTRIBUTING.md
Common npm scripts for managing the development environment, building, linting, testing, analyzing, and formatting the project.
```bash
# install
npm i --legacy-peer-deps
# run development env
npm run dev
# build
npm run build
# lint
npm run lint
# test (storybook must be running)
npm run test
# generate new custom-elements.json (updates storybook docs/args)
npm run analyze
# format all files with prettier
npm run format
```
--------------------------------
### Conventional Commits and Branching Strategy
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/CONTRIBUTING.md
Guidelines for commit messages using Conventional Commits format for automated releases and branching strategy based on GitHub Flow.
```markdown
Commit messages MUST use [Conventional Commit format](https://semantic-release.gitbook.io/semantic-release#commit-message-format).
[Certain commit prefixes](https://semantic-release.gitbook.io/semantic-release/#commit-message-format) like `fix:` (patch) or `feat:` (minor) will automatically trigger a release to publish a new package and update the semantic version.
1. `BREAKING CHANGE:` in the commit message footer will trigger a major version update.
[Conventional Commits Cheat Sheet](https://gist.github.com/Zekfad/f51cb06ac76e2457f11c80ed705c95a3)
Git hooks are installed to enforce commit message formatting with commitlint, and code formatting with Prettier.
Branching:
1. `main` branch is for stable/current version changes.
1. `beta` branch is for future version/prerelease/breaking changes.
1. Prefix your branch names based on the type of change, ex `feature/`, `bugfix/`, or `hotfix/`.
1. Use the [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow).
```
--------------------------------
### Import Gridstack Styles
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/widget/Gridstack.mdx
Demonstrates how to import the necessary CSS for the Gridstack component globally, either via JavaScript or CSS import statements.
```javascript
import '@kyndryl-design-system/shidoka-applications/common/css/gridstack-shidoka.css';
```
```css
@import '@kyndryl-design-system/shidoka-applications/common/css/gridstack-shidoka.css';
```
--------------------------------
### Server-Side Rendering (SSR) Workarounds
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Provides guidance and links to resources for handling Shidoka components with SSR frameworks like Next.js, addressing client-side code execution issues.
```markdown
**Server-Side Rendering (SSR)**
When using with an SSR framework like Next.js, you will encounter errors with code that only runs client-side, like `window` references for example. This is because web components cannot render on the server. Here is an article that provides some methods to work around this: [Using Non-SSR Friendly Components with Next.js](https://blog.bitsrc.io/using-non-ssr-friendly-components-with-next-js-916f38e8992c) and [How to entirely disable server-side rendering in next.js v13?](https://stackoverflow.com/questions/75406728/how-to-entirely-disable-server-side-rendering-in-next-js-v13). Basically, web components need their rendering deferred to only happen on the client-side.
Here is some additional information about why SSR does not work for web components, and some potential polyfills/solutions to enable server rendering: https://lit.dev/docs/ssr/overview/
```
--------------------------------
### Empty State Pattern - Default Large Variant
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/emptyState/Docs.mdx
Provides the HTML structure for the default large variant of the Empty State pattern. It includes placeholders for an icon, title, description, and optional action buttons or links.
```html
e.preventDefault()}
>
e.preventDefault()}
>
```
--------------------------------
### Configure Gridstack with Shidoka Defaults
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/widget/Gridstack.mdx
Shows how to import and modify the default Shidoka Gridstack configuration. The wrapper includes Shidoka's default config, but it can be customized by importing and adjusting the 'Config' object.
```javascript
import { Config } from '@kyndryl-design-system/shidoka-applications/common/helpers/gridstack';
const NewConfig = {
...Config,
// modify config here
};
// or
NewConfig.option = value;
// Then pass to the component:
//
```
--------------------------------
### Import Header Component and Sub-components
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Imports the Header component along with all its sub-components by targeting the index file.
```javascript
import '@kyndryl-design-system/shidoka-applications/components/global/header';
```
--------------------------------
### Initialize Swiper Instance
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/carousel/Docs.mdx
Initializes a Swiper instance on a specified HTML element using the provided configuration, typically after the DOM is ready.
```javascript
new Swiper('.swiper', SwiperConfig);
```
--------------------------------
### Storybook Configuration for Tag Components
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/tag/Docs.mdx
This snippet shows the Storybook configuration for the Tag and Tag Group components. It imports necessary Storybook blocks and stories, and renders different variations of the Tag and Tag Group components using Canvas and Controls.
```javascript
import {
Meta,
Story,
Canvas,
Controls,
Title,
} from '@storybook/addon-docs/blocks';
import * as TagStories from './tag.stories.js';
import * as TagGroupStories from './tagGroup.stories.js';
## Tag
### Properties & Controls
## Tag With Icon
## Tag Group
## Tag Skeleton Group
### Properties & Controls
```
--------------------------------
### React 19+ Custom Elements Support
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Highlights React 19's native support for Custom Elements, simplifying integration.
```markdown
**[React 19 has introduced native support for Custom Elements**](https://react.dev/blog/2024/04/25/react-19#support-for-custom-elements).
Older versions of React do not support automatic interop with Custom Elements. This means that React treats all props passed to Web Components as string attributes. Until you've upgraded to React 19+, you will need to use a library like [@lit/react](https://www.npmjs.com/package/@lit/react) or [reactify-wc](https://www.npmjs.com/package/reactify-wc) to wrap these components for use in React.
```
--------------------------------
### Storybook Imports
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/checkbox/Docs.mdx
Imports necessary components and stories from the Storybook library for rendering documentation.
```javascript
import {
Meta,
Story,
Canvas,
Controls,
Stories,
Description,
Title,
} from '@storybook/addon-docs/blocks';
import * as CheckboxStories from './checkbox.stories.js';
import * as CheckboxGroupStories from './checkboxGroup.stories.js';
```
--------------------------------
### Integrate Gridstack with Widgets
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/widget/Gridstack.mdx
Demonstrates the HTML structure for integrating the Gridstack component with custom widgets. It includes passing the layout, handling grid save events, and structuring individual widget items with content and drag handles.
```html
console.log(e.detail.layout)}"
>
```
--------------------------------
### Import Single HeaderLink Component
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/README.md
Imports the HeaderLink component specifically by targeting its file.
```javascript
import '@kyndryl-design-system/shidoka-applications/components/global/header/headerLink';
```
--------------------------------
### Import Shidoka Swiper Styles
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/carousel/Docs.mdx
Applies the Shidoka-specific styles for Swiper globally within your project.
```css
@import '@kyndryl-design-system/shidoka-applications/common/css/swiper-shidoka.css';
```
--------------------------------
### Error Block Usage
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/errorBlock/errorBlock.mdx
Demonstrates how to import and use the Error Block component in JavaScript and HTML.
```javascript
import '@kyndryl-design-system/shidoka-applications/components/reusable/errorBlock';
```
```html
```
--------------------------------
### Storybook Meta Configuration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/forms.mdx
This code configures the Storybook meta information for the forms stories, linking it to the exported stories from the './forms.stories.js' file.
```javascript
import {
Meta,
Story,
Canvas,
Controls,
Stories,
} from '@storybook/addon-docs/blocks';
import * as FormsStories from './forms.stories.js';
```
--------------------------------
### Import Swiper and Shidoka Config
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/carousel/Docs.mdx
Imports the Swiper bundle and Shidoka's default Swiper configuration for use in your application.
```javascript
import Swiper from 'swiper/bundle';
// import Shidoka's Swiper config
import { SwiperConfig } from '@kyndryl-design-system/shidoka-applications/common/helpers/swiper';
```
--------------------------------
### Storybook Meta Configuration
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Configures Storybook metadata for the Radio Button Group component, linking it to its stories.
```jsx
```
--------------------------------
### Import Radio Button Stories
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Imports story definitions for the Radio Button component.
```javascript
import * as RadioButtonStories from './radioButton.stories.js';
```
--------------------------------
### Import Radio Button Group Stories
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Imports story definitions for the Radio Button Group component.
```javascript
import * as RadioButtonGroupStories from './radioButtonGroup.stories.js';
```
--------------------------------
### Storybook Title Component
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Renders the title for the documentation page, typically derived from the component's name.
```jsx
```
--------------------------------
### Checkbox Documentation
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/checkbox/Docs.mdx
Documentation for the Checkbox component, including its properties and interactive controls via Storybook.
```jsx
### Properties & Controls
```
--------------------------------
### Basic Swiper HTML Structure
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/carousel/Docs.mdx
Provides the fundamental HTML structure required for a Swiper carousel, including the main container, wrapper, slides, and optional navigation/pagination elements.
```html
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
```
--------------------------------
### Checkbox Group Documentation
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/checkbox/Docs.mdx
Documentation for the Checkbox Group component, including its properties and interactive controls via Storybook.
```jsx
## Checkbox Group
### Properties & Controls
```
--------------------------------
### Kyndryl Design System Icons
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/carbon-shidoka-icon-map.txt
This section lists various icons available in the Kyndryl Design System. Each entry maps a descriptive name (e.g., 'AIOps', 'access-management') to its technical identifier (e.g., 'ID', 'account'). This is useful for referencing icons in code or design tools.
```English
:AIOps
identification:ID
:access-management
account:account
add--alt:add
add--filled:add-filled
add:add-simple
analytics:analytics
:anomaly
aperture:aperture
application:applications
:applications-data-&-Ai
:approval-policy
arrow--down:arrow-down
arrow--left:arrow-left
arrow--right:arrow-right
arrow--up:arrow-up
arrow--up-left:arrow-up-left
arrow--up-right:arrow-up-right
arrows--vertical:arrows-vertical
asset:assets
attachment:attachment
:billing
book:book
bookmark:bookmark
branch:branch
:bug
calendar:calendar
calendar--add:calendar-add
:calendar-delete
calendar--settings:calendar-settings
camera:camera
shopping--cart:cart
:catalog-management
certificate--check:certificate-check
chart--pie:chart-pie
chat:chat
chat-bot:chat-bot
checkbox:checkbox
checkbox--checked--filled:checkbox-filled
checkbox--checked:checkbox-selected
checkmark:checkmark
checkmark--filled:checkmark-filled
checkmark--outline:checkmark
chevron--down:chevron-down
chevron--left:chevron-left
chevron--right:chevron-right
chevron--up:chevron-up
circle--filled:circle-filled
circle--outline:circle-stroke
close--outline:close
close--filled:close-filled
close:close-simple
cloud:cloud
cloud--download:cloud-download
:cloud-security
cloud-services:cloud-services
cloud--upload:cloud-upload
code:code
:collab-drive
concept:concept
connect:connect
:console
:consultation
:control-tower
copy:copy
:core-enterprise-&-zCloud
:core-services
cost:cost
:cost-&-asset-management
cube:cube
cursor--1:cursor
:customer-engagement
dashboard:dashboard
data--check:data-check
:database
delete:delete
delivery:delivery
:devops-intelligence
:digital-workplace
:discount
document:document
document--add:document-add
document--attachment:document-attachment
document--blank:document-blank
document--subtract:document-delete
document--protected:document-protected
document--tasks:document-task
document--unprotected:document-unprotected
document--view:document-view
double-integer:double-integer
download:download
draggable:draggable
edit:edit
edit:edit-2
:enterprise-marketplace
maximize:expand
explore:explore
filter:filter
filter--edit:filter-edit
finance:finance
flag:flag
flag--filled:flag-filled
flow--data:flow-data
folder:folder
gateway--security:gateway-security
globe:globe
:go-to-market
group:group
crop-growth:growth-crop
menu:hamburger-menu
:health
:history
home:home
hourglass:hourglass
:ibm-cloud-pal
id-management:id-management
industry:industry
information:information
information--filled:information-filled
:integrated-AIOps
:key
:key-add
:key-delete
:key-security
launch:launch
:lightbulb
list:list
location:location
locked:lock
logout:log-out
email:mail
map:map
:marketplace
money:money
cloud--monitoring:monitoring
navaid--military-civil:navaid-military-civil
navaid--ndb:navaid-ndb
network--1:network
:network-&-edge
:no-access
notification:notification
notification--new:notifications-new
:open-developer
:operation-policies
operations--record:operations-record
:ordered-services
overflow-menu--vertical:overflow
:overview
:personalization-policies
piggy-bank:piggy-bank
pin:pin
:placeholder
platforms:platform
police:police
portfolio:portfolio
:private-catalog
:private-cloud
:program-management-portal
help:question
:quotation
recommend:recommend
:redirect
reference-architecture:reference-architecture
report--data:report-data
:robot
:roles
rule--test:rule-test
save:save
scale:scale
:schedule
search:search
security-&-resiliency
send:send
cloud--service-management:service-management
:services
:services-catalog
settings:settings
settings--adjust:settings-adjust
share:share
:shared-services
repo--source-code:source-code
square-fill:square-filled
:subscription
subtract--alt:substract
subtract--filled:substract-filled
subtract:substract-simple
:support
tag:tags
task:task
task--tools:task-tools
:team
template:template
thumbs-down:thumbs-down
thumbs-up:thumbs-up
ticket:ticket
time:time
tools:tool
tool-kit:tool-kit
touch--1:touch
touch--1--filled:touch-filled
:track
unlocked:unlock
update-now:update
upload:upload
user:user
:user-manual
user--settings:user-settings
:video-tutorial
virtual-machine:virtual-machine
warning:warning
warning--filled:warning-filled
warning--alt--filled:warning-filled
:workbench
workflow-automation:workflow-automation
side-panel--open:pin
overflow-menu--horizontal:overflow
error--filled:warning-filled
currency--dollar:cost
gender--male:user
gender--female:user
misuse:close-filled
export:upload
trash-can:delete
renew:update
user--avatar:user
```
--------------------------------
### Tag Component Properties and Deprecations
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/tag/Docs.mdx
This section details changes and deprecations for the Tag component. The 'clickable' prop is deprecated and tags are clickable by default. The 'filter' prop overrides 'clickable', and 'tagColor' 'spruce' has updated styling.
```html
### New changes
### Properties
- `clickable` prop is **deprecated**. By default, new tags are `clickable`.
- Setting `filter` to `true` **overrides** `clickable`.
- **tagColor** - `spruce` now follows new tag colour and styling.
```
--------------------------------
### Radio Button Controls
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Renders interactive controls for the Radio Button component, allowing users to modify its properties.
```jsx
```
--------------------------------
### Deprecated Tag Colors and Migration Notice
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/tag/Docs.mdx
Lists deprecated tag colors for the Tag component. Users should avoid these colors and migrate status-related tags to the new Badge component for updated styling and functionality.
```html
### Depricated Tag colours
The following tag colors are deprecated and should no longer be used:
| tagColor | tagColor | tagColor | tagColor | tagColor | tagColor |
| --------------- | ----------------- | ------------- | ----------- | ------------- | -------------- |
| `success` | `grey` | `interactive` | `blue` | `warning` | `error` |
| `cat01` | `cat02` | `cat03` | `cat04` | `cat05` | `cat06` |
| `criticalLight` | `informationDark` | `warningDark` | `errorDark` | `successDark` | `criticalDark` |
**Note:** Status-related tags (like `success`, `warning`, `error`, etc.) have been moved to a new component called **Badge**. [Learn more →](https://shidoka-applications.netlify.app/?path=/docs/components-badge--docs)
```
--------------------------------
### Capture FormData on Form Submit
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/stories/forms.mdx
This JavaScript snippet shows how to listen for the 'submit' event on an HTML form, prevent the default submission, and capture the form data using the FormData API. The captured data is then logged to the console.
```javascript
document.querySelector('form').addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(e.target);
console.log(...formData);
});
```
--------------------------------
### Radio Button Group Controls
Source: https://github.com/kyndryl-design-system/shidoka-applications/blob/main/src/components/reusable/radioButton/Docs.mdx
Renders interactive controls for the Radio Button Group component, allowing users to modify its properties.
```jsx
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.