├── .changeset ├── README.md └── config.json ├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug-report.yml │ └── feature-request.yml └── workflows │ ├── chromatic.yml │ ├── ci.yml │ └── publish.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .storybook ├── components │ ├── chromaticWrapper.jsx │ ├── mockup.jsx │ └── section.jsx ├── context │ └── featureContext.ts ├── main.ts ├── manager-head.html ├── manager.js ├── preview-body.html ├── preview-head.html ├── preview.tsx ├── styles.css ├── theme │ └── index.js └── withBrandDecorator.jsx ├── .stylelintrc.json ├── LICENSE ├── README.md ├── __mocks__ ├── fileMock.js └── styleMock.js ├── assets ├── brand.svg ├── igloo-brand.svg └── igloo.svg ├── axe-helper.js ├── babel.config.js ├── jest.config.js ├── lerna.json ├── netlify.toml ├── nx.json ├── package.json ├── packages ├── ActionMenu │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── ActionMenu.stories.tsx │ │ ├── ActionMenu.test.tsx │ │ ├── ActionMenu.tsx │ │ ├── __snapshots__ │ │ │ └── ActionMenu.test.tsx.snap │ │ └── action-menu.scss │ └── tsconfig.json ├── Alert │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Alert.stories.tsx │ │ ├── Alert.test.tsx │ │ ├── Alert.tsx │ │ ├── __snapshots__ │ │ │ └── Alert.test.tsx.snap │ │ ├── alert.scss │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ ├── legacy │ │ │ └── svgs.tsx │ │ ├── mixins.scss │ │ └── svgs.tsx │ └── tsconfig.json ├── AreaChart │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── AreaChart.stories.tsx │ │ ├── AreaChart.test.tsx │ │ ├── AreaChart.tsx │ │ ├── ChartTooltip.tsx │ │ ├── __snapshots__ │ │ │ └── AreaChart.test.tsx.snap │ │ ├── area-chart.scss │ │ ├── chart-tooltip.scss │ │ ├── helper │ │ │ └── unavailableData.ts │ │ └── hooks │ │ │ └── useDynamicYAxisWidth.tsx │ └── tsconfig.json ├── Avatar │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Avatar.stories.tsx │ │ ├── Avatar.test.tsx │ │ ├── Avatar.tsx │ │ ├── __snapshots__ │ │ │ └── Avatar.test.tsx.snap │ │ └── avatar.scss │ └── tsconfig.json ├── BarChart │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── BarChart.stories.tsx │ │ ├── BarChart.test.tsx │ │ ├── BarChart.tsx │ │ ├── __snapshots__ │ │ │ └── BarChart.test.tsx.snap │ │ └── bar-chart.scss │ └── tsconfig.json ├── Breadcrumb │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Breadcrumb.stories.tsx │ │ ├── Breadcrumb.test.tsx │ │ ├── Breadcrumb.tsx │ │ ├── __snapshots__ │ │ │ └── Breadcrumb.test.tsx.snap │ │ ├── breadcrumb.scss │ │ └── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ └── tsconfig.json ├── Button │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Button.stories.tsx │ │ ├── Button.test.tsx │ │ ├── Button.tsx │ │ ├── __snapshots__ │ │ │ └── Button.test.tsx.snap │ │ └── button.scss │ └── tsconfig.json ├── ButtonGroup │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── ButtonGroup.stories.tsx │ │ ├── ButtonGroup.test.tsx │ │ ├── ButtonGroup.tsx │ │ ├── ButtonGroupItem.tsx │ │ └── button-group.scss │ └── tsconfig.json ├── Card │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Card.stories.tsx │ │ ├── Card.test.tsx │ │ ├── Card.tsx │ │ ├── __snapshots__ │ │ │ └── Card.test.tsx.snap │ │ └── card.scss │ └── tsconfig.json ├── Carousel │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Carousel.stories.tsx │ │ ├── Carousel.test.tsx │ │ ├── Carousel.tsx │ │ ├── __snapshots__ │ │ │ └── Carousel.test.tsx.snap │ │ └── carousel.scss │ └── tsconfig.json ├── Checkbox │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Checkbox.stories.tsx │ │ ├── Checkbox.test.tsx │ │ ├── Checkbox.tsx │ │ ├── __snapshots__ │ │ │ └── Checkbox.test.tsx.snap │ │ └── checkbox.scss │ └── tsconfig.json ├── Color │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Color.stories.tsx │ │ ├── Color.test.tsx │ │ ├── Color.tsx │ │ ├── __snapshots__ │ │ │ └── Color.test.tsx.snap │ │ └── color.scss │ └── tsconfig.json ├── ColorPicker │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── ColorPicker.stories.tsx │ │ ├── ColorPicker.test.tsx │ │ ├── ColorPicker.tsx │ │ ├── ColorPickerOption.tsx │ │ ├── __snapshots__ │ │ │ └── ColorPicker.test.tsx.snap │ │ ├── color-picker-option.scss │ │ ├── color-picker.scss │ │ └── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ └── tsconfig.json ├── Combobox │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Combobox.stories.tsx │ │ ├── Combobox.test.tsx │ │ ├── Combobox.tsx │ │ ├── ComboboxInput.tsx │ │ ├── __snapshots__ │ │ │ └── Combobox.test.tsx.snap │ │ ├── combobox-input.scss │ │ ├── combobox.scss │ │ └── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ └── tsconfig.json ├── Datepicker │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Datepicker.stories.tsx │ │ ├── Datepicker.test.tsx │ │ ├── Datepicker.tsx │ │ ├── __snapshots__ │ │ │ └── Datepicker.test.tsx.snap │ │ ├── components │ │ │ ├── Calendar.tsx │ │ │ ├── CalendarButton.tsx │ │ │ ├── CalendarCell.tsx │ │ │ └── CalendarGrid.tsx │ │ └── datepicker.scss │ └── tsconfig.json ├── Dialog │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Dialog.stories.tsx │ │ ├── Dialog.test.tsx │ │ ├── Dialog.tsx │ │ ├── __snapshots__ │ │ │ └── Dialog.test.tsx.snap │ │ └── dialog.scss │ └── tsconfig.json ├── Disclosure │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Disclosure.stories.tsx │ │ ├── Disclosure.test.tsx │ │ ├── Disclosure.tsx │ │ ├── __snapshots__ │ │ │ └── Disclosure.test.tsx.snap │ │ └── disclosure.scss │ └── tsconfig.json ├── Dropdown │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Dropdown.stories.tsx │ │ ├── Dropdown.test.tsx │ │ ├── Dropdown.tsx │ │ ├── __mocks__ │ │ │ └── Dropdown.mock.tsx │ │ ├── __snapshots__ │ │ │ └── Dropdown.test.tsx.snap │ │ ├── dropdown.scss │ │ └── mixins.scss │ └── tsconfig.json ├── Ellipsis │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Ellipsis.stories.tsx │ │ ├── Ellipsis.test.tsx │ │ ├── Ellipsis.tsx │ │ ├── __snapshots__ │ │ │ └── Ellipsis.test.tsx.snap │ │ └── ellipsis.scss │ └── tsconfig.json ├── Filter │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Filter.stories.tsx │ │ ├── Filter.test.tsx │ │ ├── Filter.tsx │ │ ├── __snapshots__ │ │ │ └── Filter.test.tsx.snap │ │ └── filter.scss │ └── tsconfig.json ├── FormGroup │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── FormGroup.stories.tsx │ │ ├── FormGroup.test.tsx │ │ ├── FormGroup.tsx │ │ ├── __snapshots__ │ │ │ └── FormGroup.test.tsx.snap │ │ └── form-group.scss │ └── tsconfig.json ├── HelperText │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── HelperText.stories.tsx │ │ ├── HelperText.test.tsx │ │ ├── HelperText.tsx │ │ ├── __snapshots__ │ │ │ └── HelperText.test.tsx.snap │ │ └── helper-text.scss │ └── tsconfig.json ├── Hyperlink │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Hyperlink.stories.tsx │ │ ├── Hyperlink.test.tsx │ │ ├── Hyperlink.tsx │ │ ├── __snapshots__ │ │ │ └── Hyperlink.test.tsx.snap │ │ └── hyperlink.scss │ └── tsconfig.json ├── IconButton │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── IconButton.stories.tsx │ │ ├── IconButton.test.tsx │ │ ├── IconButton.tsx │ │ ├── __snapshots__ │ │ │ └── IconButton.test.tsx.snap │ │ └── icon-button.scss │ └── tsconfig.json ├── Input │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Input.stories.tsx │ │ ├── Input.test.tsx │ │ ├── Input.tsx │ │ ├── __snapshots__ │ │ │ └── Input.test.tsx.snap │ │ ├── hooks │ │ │ ├── useCharLength.tsx │ │ │ └── useTruncateValue.tsx │ │ └── input.scss │ └── tsconfig.json ├── List │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── List.stories.tsx │ │ ├── List.test.tsx │ │ ├── List.tsx │ │ ├── ListItem.tsx │ │ ├── __snapshots__ │ │ │ └── List.test.tsx.snap │ │ ├── list-item.scss │ │ └── list.scss │ └── tsconfig.json ├── Metric │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Metric.stories.tsx │ │ ├── Metric.test.tsx │ │ ├── Metric.tsx │ │ ├── Score.tsx │ │ ├── __snapshots__ │ │ │ └── Metric.test.tsx.snap │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ ├── metric.scss │ │ └── score.scss │ └── tsconfig.json ├── Modal │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Modal.stories.tsx │ │ ├── Modal.test.tsx │ │ ├── Modal.tsx │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ └── modal.scss │ └── tsconfig.json ├── OptionButton │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── OptionButton.stories.tsx │ │ ├── OptionButton.test.tsx │ │ ├── OptionButton.tsx │ │ ├── __snapshots__ │ │ │ └── OptionButton.test.tsx.snap │ │ ├── option-button.scss │ │ └── svgs.tsx │ └── tsconfig.json ├── Pager │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Pager.stories.tsx │ │ ├── Pager.test.tsx │ │ ├── Pager.tsx │ │ ├── __snapshots__ │ │ │ └── Pager.test.tsx.snap │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ ├── pager.scss │ │ ├── svgs.tsx │ │ └── usePagination.tsx │ └── tsconfig.json ├── PieChart │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── PieChart.stories.tsx │ │ ├── PieChart.test.tsx │ │ ├── PieChart.tsx │ │ ├── __snapshots__ │ │ │ └── PieChart.test.tsx.snap │ │ └── pie-chart.scss │ └── tsconfig.json ├── Popover │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Popover.stories.tsx │ │ ├── Popover.test.tsx │ │ ├── Popover.tsx │ │ ├── __mocks__ │ │ │ └── Popover.mock.tsx │ │ ├── __snapshots__ │ │ │ └── Popover.test.tsx.snap │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ └── popover.scss │ └── tsconfig.json ├── ProgressBar │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── ProgressBar.stories.tsx │ │ ├── ProgressBar.test.tsx │ │ ├── ProgressBar.tsx │ │ ├── __snapshots__ │ │ │ └── ProgressBar.test.tsx.snap │ │ └── progress-bar.scss │ └── tsconfig.json ├── Provider │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Provider.stories.tsx │ │ ├── Provider.test.tsx │ │ ├── Provider.tsx │ │ └── provider.scss │ └── tsconfig.json ├── Radio │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Radio.stories.tsx │ │ ├── Radio.test.tsx │ │ ├── Radio.tsx │ │ └── radio.scss │ └── tsconfig.json ├── Select │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Select.stories.tsx │ │ ├── Select.test.tsx │ │ ├── Select.tsx │ │ ├── SelectInput.tsx │ │ ├── SelectValue.tsx │ │ ├── __snapshots__ │ │ │ └── Select.test.tsx.snap │ │ ├── select-input.scss │ │ ├── select-option.scss │ │ ├── select-value.scss │ │ └── select.scss │ └── tsconfig.json ├── StackedBar │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── StackedBar.stories.tsx │ │ ├── StackedBar.test.tsx │ │ ├── StackedBar.tsx │ │ ├── StackedBarTooltip.tsx │ │ ├── __snapshots__ │ │ │ └── StackedBar.test.tsx.snap │ │ ├── stacked-bar-tooltip.scss │ │ └── stacked-bar.scss │ └── tsconfig.json ├── Stepper │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Step.tsx │ │ ├── Stepper.stories.tsx │ │ ├── Stepper.test.tsx │ │ ├── Stepper.tsx │ │ ├── __snapshots__ │ │ │ └── Stepper.test.tsx.snap │ │ ├── step.scss │ │ └── stepper.scss │ └── tsconfig.json ├── Tabs │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Tabs.stories.tsx │ │ ├── Tabs.test.tsx │ │ ├── Tabs.tsx │ │ ├── __snapshots__ │ │ │ └── Tabs.test.tsx.snap │ │ └── tabs.scss │ └── tsconfig.json ├── Tag │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Tag.stories.tsx │ │ ├── Tag.test.tsx │ │ ├── Tag.tsx │ │ ├── __snapshots__ │ │ │ └── Tag.test.tsx.snap │ │ ├── components │ │ │ ├── ColorIcon.tsx │ │ │ ├── UserImage.tsx │ │ │ ├── color-icon.scss │ │ │ └── user-image.scss │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ ├── mixins.scss │ │ └── tag.scss │ └── tsconfig.json ├── TagPicker │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── TagPicker.stories.tsx │ │ ├── TagPicker.tsx │ │ ├── data.tsx │ │ ├── hooks │ │ │ └── useClickOutside.tsx │ │ ├── mixins.scss │ │ └── tag-picker.scss │ └── tsconfig.json ├── TextEditor │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── TextEditor.stories.tsx │ │ ├── TextEditor.test.tsx │ │ ├── TextEditor.tsx │ │ ├── __snapshots__ │ │ │ └── TextEditor.test.tsx.snap │ │ ├── intl │ │ │ ├── en-US.json │ │ │ ├── fr-CA.json │ │ │ └── index.ts │ │ ├── plugins │ │ │ ├── CodeHighlightPlugin.tsx │ │ │ ├── DisablePlugin.tsx │ │ │ ├── FloatingLinkEditorPlugin.tsx │ │ │ ├── LinkPlugin.tsx │ │ │ ├── MaxLengthPlugin.tsx │ │ │ ├── OnContentIsEmptyPlugin.tsx │ │ │ ├── OnFocusPlugin.tsx │ │ │ ├── ToolbarPlugin.tsx │ │ │ ├── floating-link-editor.scss │ │ │ └── toolbar.scss │ │ ├── text-editor.scss │ │ ├── themes │ │ │ └── TextEditor.theme.tsx │ │ └── utils │ │ │ ├── getSelectedNode.ts │ │ │ └── url.ts │ └── tsconfig.json ├── Textarea │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Textarea.stories.tsx │ │ ├── Textarea.test.tsx │ │ ├── Textarea.tsx │ │ ├── __snapshots__ │ │ │ └── Textarea.test.tsx.snap │ │ ├── hooks │ │ │ ├── useCharLength.tsx │ │ │ ├── useDebounce.ts │ │ │ └── useTruncateValue.tsx │ │ ├── mixins.scss │ │ └── textarea.scss │ └── tsconfig.json ├── Toaster │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Toast.tsx │ │ ├── ToastRegion.tsx │ │ ├── Toaster.stories.tsx │ │ ├── Toaster.test.tsx │ │ ├── Toaster.tsx │ │ ├── __snapshots__ │ │ │ └── Toaster.test.tsx.snap │ │ └── toaster.scss │ └── tsconfig.json ├── Toggle │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Toggle.stories.tsx │ │ ├── Toggle.test.tsx │ │ ├── Toggle.tsx │ │ └── toggle.scss │ └── tsconfig.json ├── Tooltip │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── Tooltip.stories.tsx │ │ ├── Tooltip.test.tsx │ │ ├── Tooltip.tsx │ │ ├── __mocks__ │ │ │ └── Tooltip.mock.tsx │ │ ├── __snapshots__ │ │ │ └── Tooltip.test.tsx.snap │ │ ├── hooks │ │ │ └── useDeviceDetect.tsx │ │ └── tooltip.scss │ └── tsconfig.json └── VerticalBarChart │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ ├── VerticalBarChart.stories.tsx │ ├── VerticalBarChart.test.tsx │ ├── VerticalBarChart.tsx │ ├── __snapshots__ │ │ └── VerticalBarChart.test.tsx.snap │ └── vertical-bar-chart.scss │ └── tsconfig.json ├── rollup.config.js ├── setupTests.js ├── shared └── components │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── rollup.config.js │ ├── src │ ├── Index.tsx │ └── visual-identifier │ │ ├── VisualIdentifier.stories.tsx │ │ ├── VisualIdentifier.tsx │ │ └── visual-identifier.scss │ └── tsconfig.json ├── tsconfig.build.json ├── tsconfig.json ├── typings ├── axe-helper.d.ts ├── icons.d.ts ├── markdown.d.ts └── storybook.d.ts ├── utils ├── bootstrap │ ├── component.mjs │ ├── helpers │ │ ├── index.mjs │ │ └── template.mjs │ └── template │ │ ├── .npmignore │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── rollup.config.js │ │ └── tsconfig.json ├── generate-api.mjs ├── generate-doc.js └── index.tsx ├── website ├── .eslintrc.json ├── .gitignore ├── CHANGELOG.md ├── README.md ├── components │ ├── Card.js │ ├── ClipboardCopy.js │ ├── Code.js │ ├── ComponentAside.js │ ├── Display.js │ ├── Header.js │ ├── Highlighter.js │ ├── IconsList.js │ ├── IconsOptions.js │ ├── Layout.js │ ├── Nav.js │ ├── Pagination.js │ ├── PropsTable.js │ ├── ReferenceLinks.js │ ├── Roadmap.js │ ├── Tag.js │ ├── Title.js │ ├── Toc.js │ ├── TokenList.js │ └── icons │ │ ├── Check.js │ │ ├── Copy.js │ │ └── index.js ├── data │ └── buttonProps.json ├── example │ ├── ActionMenu.demo.js │ ├── Alert.demo.js │ ├── AreaChart.demo.js │ ├── Avatar.demo.js │ ├── BarChart.demo.js │ ├── Breadcrumb.demo.js │ ├── Button.demo.js │ ├── ButtonGroup.demo.js │ ├── Card.demo.js │ ├── Carousel.demo.js │ ├── Checkbox.demo.js │ ├── Color.demo.js │ ├── ColorPicker.demo.js │ ├── Combobox.demo.js │ ├── Datepicker.demo.js │ ├── Dialog.demo.js │ ├── Disclosure.demo.js │ ├── Dropdown.demo.js │ ├── Ellipsis.demo.js │ ├── Filter.demo.js │ ├── FormGroup.demo.js │ ├── HelperText.demo.js │ ├── Hyperlink.demo.js │ ├── IconButton.demo.js │ ├── Input.demo.js │ ├── List.demo.js │ ├── Metric.demo.js │ ├── Modal.demo.js │ ├── OptionButton.demo.js │ ├── Pager.demo.js │ ├── PieChart.demo.js │ ├── Popover.demo.js │ ├── ProgressBar.demo.js │ ├── Radio.demo.js │ ├── Select.demo.js │ ├── StackedBar.demo.js │ ├── Stepper.demo.js │ ├── Tabs.demo.js │ ├── Tag.demo.js │ ├── TagPicker.demo.js │ ├── TextEditor.demo.js │ ├── Textarea.demo.js │ ├── Toaster.demo.js │ ├── Toggle.demo.js │ ├── Tooltip.demo.js │ └── VerticalBarChart.demo.js ├── lib │ ├── ga │ │ └── index.js │ └── gtm.js ├── navigation.js ├── next.config.js ├── package.json ├── pages │ ├── _app.js │ ├── _document.js │ ├── component │ │ ├── [slug].js │ │ ├── getting-started.js │ │ └── index.js │ ├── icons.js │ ├── index.js │ ├── playroom.js │ └── tokens.js ├── public │ ├── favicon.ico │ └── igloo.svg ├── scripts │ ├── capitalize.js │ ├── files-utils.js │ ├── generate-component-data.mjs │ ├── generate-component-list.mjs │ ├── generate-doc.js │ ├── generate-pagination.js │ └── mdx-utils.js ├── styles │ ├── _layout.scss │ ├── _typography.scss │ ├── abstract │ │ ├── function.scss │ │ └── variables.scss │ ├── base │ │ ├── _colors.scss │ │ ├── _media-query.scss │ │ ├── _sizes.scss │ │ └── _types.scss │ ├── components │ │ ├── _card.scss │ │ ├── _clipboard-copy.scss │ │ ├── _code.scss │ │ ├── _display.scss │ │ ├── _example.scss │ │ ├── _highlighter.scss │ │ ├── _icon.scss │ │ ├── _mdx-content.scss │ │ ├── _nav.scss │ │ ├── _options.scss │ │ ├── _pagination.scss │ │ ├── _reference.scss │ │ ├── _table.scss │ │ ├── _tag.scss │ │ ├── _title.scss │ │ ├── _toc.scss │ │ └── index.scss │ ├── globals.scss │ └── tokens.scss └── svg │ ├── brand.svg │ ├── component.svg │ ├── components │ ├── actionMenu.svg │ ├── alert.svg │ ├── areaChart.svg │ ├── avatar.svg │ ├── barChart.svg │ ├── breadcrumb.svg │ ├── button.svg │ ├── buttonGroup.svg │ ├── card.svg │ ├── carousel.svg │ ├── checkbox.svg │ ├── color.svg │ ├── colorPicker.svg │ ├── combobox.svg │ ├── datepicker.svg │ ├── dialog.svg │ ├── disclosure.svg │ ├── dropdown.svg │ ├── ellipsis.svg │ ├── empty.png │ ├── filter.svg │ ├── formGroup.svg │ ├── helperText.svg │ ├── hyperlink.svg │ ├── iconButton.svg │ ├── input.svg │ ├── list.svg │ ├── metric.svg │ ├── modal.svg │ ├── optionButton.svg │ ├── pager.svg │ ├── pieChart.svg │ ├── popover.svg │ ├── progressBar.svg │ ├── radio.svg │ ├── select.svg │ ├── stackedBar.svg │ ├── stepper.svg │ ├── tabs.svg │ ├── tag.svg │ ├── tagPicker.svg │ ├── textEditor.svg │ ├── textarea.svg │ ├── toaster.svg │ ├── toggle.svg │ ├── tooltip.svg │ └── verticalBarChart.svg │ ├── dark-mode.svg │ ├── github.svg │ ├── icon.svg │ ├── issue.svg │ ├── sb.svg │ └── token.svg └── yarn.lock /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.6.1/schema.json", 3 | "changelog": "@changesets/cli/changelog", 4 | "commit": false, 5 | "linked": [], 6 | "access": "public", 7 | "baseBranch": "main", 8 | "updateInternalDependencies": "patch" 9 | } 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | trim_trailing_whitespace = true 7 | insert_final_newline = true 8 | indent_style = space 9 | indent_size = 4 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{js,sass,tsx}] 15 | max_line_length = 110 16 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js text eol=lf 2 | *.ts text eol=lf 3 | *.tsx text eol=lf 4 | *.css text eol=lf 5 | *.scss text eol=lf 6 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=true 2 | legacy-peer-deps=true 3 | npm_config_loglevel=error -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 18 -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | # Ignore artifacts: 4 | build 5 | dist 6 | coverage 7 | __snapshots__ 8 | 9 | * 10 | !**/*.css -------------------------------------------------------------------------------- /.storybook/components/chromaticWrapper.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import isChromatic from 'chromatic/isChromatic'; 3 | 4 | const ChromaticWrapper = ({ children }) => { 5 | return isChromatic() ? ( 6 |
22 | {children}
23 | {copy && }
24 |
25 | ) : (
26 |
27 |