@fortanix/baklava 1.0.0-beta-20241114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/LICENSE +373 -0
- package/README.md +43 -0
- package/app/Demo.tsx +33 -0
- package/app/index.html +12 -0
- package/app/lib.ts +54 -0
- package/app/main.tsx +32 -0
- package/dist/baklava.d.ts +752 -0
- package/dist/baklava.js +4962 -0
- package/dist/lib.css +1 -0
- package/package.json +102 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-100.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-200.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-300.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-500.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-600.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-700.woff2 +0 -0
- package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-regular.woff2 +0 -0
- package/src/assets/fonts/open-sans/open-sans-v23-latin-600.woff2 +0 -0
- package/src/assets/fonts/open-sans/open-sans-v23-latin-700.woff2 +0 -0
- package/src/assets/fonts/open-sans/open-sans-v23-latin-regular.woff2 +0 -0
- package/src/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff2 +0 -0
- package/src/assets/icons/_icons.ts +58 -0
- package/src/assets/icons/accounts.svg +11 -0
- package/src/assets/icons/alert.svg +3 -0
- package/src/assets/icons/apache.svg +3 -0
- package/src/assets/icons/apps.svg +5 -0
- package/src/assets/icons/assessment.svg +11 -0
- package/src/assets/icons/audit-log.svg +12 -0
- package/src/assets/icons/authentication.svg +12 -0
- package/src/assets/icons/calendar.svg +10 -0
- package/src/assets/icons/caret-down.svg +3 -0
- package/src/assets/icons/check.svg +3 -0
- package/src/assets/icons/cloud-accounts.svg +15 -0
- package/src/assets/icons/copy.svg +4 -0
- package/src/assets/icons/cross.svg +4 -0
- package/src/assets/icons/dashboard.svg +12 -0
- package/src/assets/icons/dataverse.svg +12 -0
- package/src/assets/icons/delete.svg +5 -0
- package/src/assets/icons/docs.svg +10 -0
- package/src/assets/icons/download.svg +11 -0
- package/src/assets/icons/edit-params.svg +3 -0
- package/src/assets/icons/edit.svg +10 -0
- package/src/assets/icons/email.svg +3 -0
- package/src/assets/icons/eye.svg +11 -0
- package/src/assets/icons/file-error.svg +17 -0
- package/src/assets/icons/file.svg +15 -0
- package/src/assets/icons/folder.svg +14 -0
- package/src/assets/icons/fortanix-ki.svg +13 -0
- package/src/assets/icons/graph.svg +9 -0
- package/src/assets/icons/groups.svg +10 -0
- package/src/assets/icons/hide.svg +3 -0
- package/src/assets/icons/home.svg +11 -0
- package/src/assets/icons/iam.svg +11 -0
- package/src/assets/icons/info.svg +4 -0
- package/src/assets/icons/infrastructure.svg +5 -0
- package/src/assets/icons/integrations.svg +3 -0
- package/src/assets/icons/key-link.svg +12 -0
- package/src/assets/icons/key.svg +4 -0
- package/src/assets/icons/no-login.svg +10 -0
- package/src/assets/icons/page-forward.svg +4 -0
- package/src/assets/icons/plugins.svg +4 -0
- package/src/assets/icons/policy.svg +13 -0
- package/src/assets/icons/print.svg +11 -0
- package/src/assets/icons/scripts.svg +4 -0
- package/src/assets/icons/search.svg +3 -0
- package/src/assets/icons/security-object.svg +5 -0
- package/src/assets/icons/services.svg +10 -0
- package/src/assets/icons/settings.svg +12 -0
- package/src/assets/icons/solutions.svg +3 -0
- package/src/assets/icons/success.svg +3 -0
- package/src/assets/icons/tasks.svg +10 -0
- package/src/assets/icons/user-profile.svg +3 -0
- package/src/assets/icons/user.svg +10 -0
- package/src/assets/icons/warning.svg +3 -0
- package/src/assets/icons/workflows.svg +11 -0
- package/src/assets/icons_new/Accounts.svg +11 -0
- package/src/assets/icons_new/Alert.svg +3 -0
- package/src/assets/icons_new/Apache.svg +3 -0
- package/src/assets/icons_new/Apps.svg +5 -0
- package/src/assets/icons_new/Assessment.svg +11 -0
- package/src/assets/icons_new/Audit Log.svg +12 -0
- package/src/assets/icons_new/Authentication.svg +12 -0
- package/src/assets/icons_new/Calendar.svg +10 -0
- package/src/assets/icons_new/Carrot Down.svg +3 -0
- package/src/assets/icons_new/Cloud Accounts.svg +15 -0
- package/src/assets/icons_new/Copy.svg +4 -0
- package/src/assets/icons_new/Dashboard.svg +12 -0
- package/src/assets/icons_new/Dataverse.svg +12 -0
- package/src/assets/icons_new/Delete.svg +5 -0
- package/src/assets/icons_new/Docs.svg +10 -0
- package/src/assets/icons_new/Download.svg +11 -0
- package/src/assets/icons_new/Edit Params.svg +3 -0
- package/src/assets/icons_new/Edit.svg +10 -0
- package/src/assets/icons_new/Email.svg +3 -0
- package/src/assets/icons_new/Eye.svg +11 -0
- package/src/assets/icons_new/Groups.svg +10 -0
- package/src/assets/icons_new/Hide.svg +3 -0
- package/src/assets/icons_new/Home.svg +11 -0
- package/src/assets/icons_new/IAM.svg +11 -0
- package/src/assets/icons_new/Info.svg +4 -0
- package/src/assets/icons_new/Infrastructure.svg +5 -0
- package/src/assets/icons_new/Integrations.svg +3 -0
- package/src/assets/icons_new/KI.svg +13 -0
- package/src/assets/icons_new/Key Link.svg +12 -0
- package/src/assets/icons_new/Key.svg +4 -0
- package/src/assets/icons_new/No Login.svg +10 -0
- package/src/assets/icons_new/Page FWD.svg +4 -0
- package/src/assets/icons_new/Plugins.svg +4 -0
- package/src/assets/icons_new/Policy.svg +13 -0
- package/src/assets/icons_new/Print.svg +11 -0
- package/src/assets/icons_new/Scripts.svg +4 -0
- package/src/assets/icons_new/Search.svg +3 -0
- package/src/assets/icons_new/Security Objects.svg +5 -0
- package/src/assets/icons_new/Services.svg +10 -0
- package/src/assets/icons_new/Settings.svg +12 -0
- package/src/assets/icons_new/Solutions.svg +3 -0
- package/src/assets/icons_new/Tasks.svg +10 -0
- package/src/assets/icons_new/User Account.svg +3 -0
- package/src/assets/icons_new/Users.svg +10 -0
- package/src/assets/icons_new/Workflows.svg +11 -0
- package/src/assets/icons_old/_icons.ts +172 -0
- package/src/assets/icons_old/account.svg +4 -0
- package/src/assets/icons_old/accounts.svg +4 -0
- package/src/assets/icons_old/add.svg +4 -0
- package/src/assets/icons_old/alert.svg +4 -0
- package/src/assets/icons_old/app.svg +4 -0
- package/src/assets/icons_old/arrow-drop-down.svg +4 -0
- package/src/assets/icons_old/arrow-drop-up.svg +4 -0
- package/src/assets/icons_old/arrow-expand.svg +4 -0
- package/src/assets/icons_old/arrow-left.svg +5 -0
- package/src/assets/icons_old/arrow-right.svg +4 -0
- package/src/assets/icons_old/audit-log.svg +4 -0
- package/src/assets/icons_old/bell.svg +4 -0
- package/src/assets/icons_old/billing.svg +4 -0
- package/src/assets/icons_old/bug.svg +4 -0
- package/src/assets/icons_old/builds.svg +4 -0
- package/src/assets/icons_old/calendar.svg +4 -0
- package/src/assets/icons_old/certificate.svg +4 -0
- package/src/assets/icons_old/check.svg +4 -0
- package/src/assets/icons_old/checkbox-checked.svg +4 -0
- package/src/assets/icons_old/checkbox-disabled.svg +4 -0
- package/src/assets/icons_old/checkbox-unchecked.svg +4 -0
- package/src/assets/icons_old/chevron-left.svg +4 -0
- package/src/assets/icons_old/chevron-right.svg +4 -0
- package/src/assets/icons_old/clear-all.svg +4 -0
- package/src/assets/icons_old/color-picker.svg +10 -0
- package/src/assets/icons_old/connection.svg +4 -0
- package/src/assets/icons_old/copy.svg +4 -0
- package/src/assets/icons_old/cross-thin.svg +4 -0
- package/src/assets/icons_old/cross.svg +4 -0
- package/src/assets/icons_old/crypto-policy.svg +4 -0
- package/src/assets/icons_old/customers.svg +4 -0
- package/src/assets/icons_old/dashboard.svg +4 -0
- package/src/assets/icons_old/data-center.svg +4 -0
- package/src/assets/icons_old/data-connector-read.svg +6 -0
- package/src/assets/icons_old/data-connector-write.svg +6 -0
- package/src/assets/icons_old/dataset.svg +3 -0
- package/src/assets/icons_old/dataverse.svg +6 -0
- package/src/assets/icons_old/delete.svg +4 -0
- package/src/assets/icons_old/deployment-deployed.svg +4 -0
- package/src/assets/icons_old/deployment-none.svg +4 -0
- package/src/assets/icons_old/derive.svg +4 -0
- package/src/assets/icons_old/docs.svg +4 -0
- package/src/assets/icons_old/document-blank.svg +4 -0
- package/src/assets/icons_old/domain.svg +4 -0
- package/src/assets/icons_old/download-cloud.svg +4 -0
- package/src/assets/icons_old/download.svg +4 -0
- package/src/assets/icons_old/edit-params.svg +4 -0
- package/src/assets/icons_old/edit.svg +4 -0
- package/src/assets/icons_old/em-app.svg +4 -0
- package/src/assets/icons_old/em-dashboard.svg +4 -0
- package/src/assets/icons_old/email.svg +4 -0
- package/src/assets/icons_old/empty-credential.svg +4 -0
- package/src/assets/icons_old/enterprise-badge.svg +6 -0
- package/src/assets/icons_old/environment-production.svg +4 -0
- package/src/assets/icons_old/environment-test.svg +4 -0
- package/src/assets/icons_old/event-critical.svg +4 -0
- package/src/assets/icons_old/event-error.svg +4 -0
- package/src/assets/icons_old/event-success.svg +4 -0
- package/src/assets/icons_old/event-warning.svg +4 -0
- package/src/assets/icons_old/expiration.svg +4 -0
- package/src/assets/icons_old/export.svg +4 -0
- package/src/assets/icons_old/external.svg +4 -0
- package/src/assets/icons_old/eye-closed.svg +4 -0
- package/src/assets/icons_old/eye.svg +4 -0
- package/src/assets/icons_old/file.svg +7 -0
- package/src/assets/icons_old/flag.svg +4 -0
- package/src/assets/icons_old/forbid.svg +4 -0
- package/src/assets/icons_old/fortanix-app-aci.svg +6 -0
- package/src/assets/icons_old/fortanix-app-edp.svg +4 -0
- package/src/assets/icons_old/fortanix-app-enclave-os.svg +4 -0
- package/src/assets/icons_old/frame-expand.svg +4 -0
- package/src/assets/icons_old/fresh.svg +4 -0
- package/src/assets/icons_old/generated.svg +4 -0
- package/src/assets/icons_old/gift.svg +4 -0
- package/src/assets/icons_old/global.svg +4 -0
- package/src/assets/icons_old/group.svg +4 -0
- package/src/assets/icons_old/help.svg +4 -0
- package/src/assets/icons_old/home-info.svg +5 -0
- package/src/assets/icons_old/home.svg +4 -0
- package/src/assets/icons_old/horizontal-collapse.svg +5 -0
- package/src/assets/icons_old/horizontal-expand.svg +5 -0
- package/src/assets/icons_old/hsm.svg +4 -0
- package/src/assets/icons_old/info.svg +4 -0
- package/src/assets/icons_old/install.svg +4 -0
- package/src/assets/icons_old/integration.svg +7 -0
- package/src/assets/icons_old/key-clone.svg +4 -0
- package/src/assets/icons_old/key-custodian-policy.svg +10 -0
- package/src/assets/icons_old/key-destroy.svg +4 -0
- package/src/assets/icons_old/key-download.svg +4 -0
- package/src/assets/icons_old/key-justification-policy.svg +5 -0
- package/src/assets/icons_old/key-link.svg +4 -0
- package/src/assets/icons_old/key-metadata-policy.svg +5 -0
- package/src/assets/icons_old/key-primary.svg +11 -0
- package/src/assets/icons_old/key-remove.svg +4 -0
- package/src/assets/icons_old/key-rotation.svg +4 -0
- package/src/assets/icons_old/key-undo-policy.svg +10 -0
- package/src/assets/icons_old/key-wrapping.svg +6 -0
- package/src/assets/icons_old/key.svg +4 -0
- package/src/assets/icons_old/leave-account.svg +4 -0
- package/src/assets/icons_old/link.svg +4 -0
- package/src/assets/icons_old/lock-closed.svg +4 -0
- package/src/assets/icons_old/lock.svg +4 -0
- package/src/assets/icons_old/locked-user.svg +4 -0
- package/src/assets/icons_old/marketplace.svg +4 -0
- package/src/assets/icons_old/minus.svg +4 -0
- package/src/assets/icons_old/monitoring.svg +4 -0
- package/src/assets/icons_old/no-logging.svg +4 -0
- package/src/assets/icons_old/node-cluster.svg +4 -0
- package/src/assets/icons_old/node.svg +4 -0
- package/src/assets/icons_old/operations.svg +13 -0
- package/src/assets/icons_old/options.svg +4 -0
- package/src/assets/icons_old/play.svg +4 -0
- package/src/assets/icons_old/plug.svg +4 -0
- package/src/assets/icons_old/plugin-clone.svg +4 -0
- package/src/assets/icons_old/plugin.svg +4 -0
- package/src/assets/icons_old/plugins.svg +4 -0
- package/src/assets/icons_old/pod.svg +4 -0
- package/src/assets/icons_old/print.svg +4 -0
- package/src/assets/icons_old/projects.svg +11 -0
- package/src/assets/icons_old/python.svg +4 -0
- package/src/assets/icons_old/quorum.svg +4 -0
- package/src/assets/icons_old/refresh.svg +4 -0
- package/src/assets/icons_old/regenerate.svg +4 -0
- package/src/assets/icons_old/region.svg +4 -0
- package/src/assets/icons_old/reports.svg +3 -0
- package/src/assets/icons_old/request-approve.svg +4 -0
- package/src/assets/icons_old/request-decline.svg +4 -0
- package/src/assets/icons_old/reseller.svg +4 -0
- package/src/assets/icons_old/script.svg +7 -0
- package/src/assets/icons_old/search.svg +4 -0
- package/src/assets/icons_old/service-account.svg +4 -0
- package/src/assets/icons_old/settings.svg +4 -0
- package/src/assets/icons_old/sidebar-closed.svg +8 -0
- package/src/assets/icons_old/sidebar-open.svg +8 -0
- package/src/assets/icons_old/sign-out.svg +4 -0
- package/src/assets/icons_old/sign.svg +4 -0
- package/src/assets/icons_old/software.svg +4 -0
- package/src/assets/icons_old/sql-aggregate.svg +7 -0
- package/src/assets/icons_old/sql.svg +7 -0
- package/src/assets/icons_old/stack.svg +4 -0
- package/src/assets/icons_old/star-empty.svg +4 -0
- package/src/assets/icons_old/star-fill.svg +4 -0
- package/src/assets/icons_old/subscription.svg +5 -0
- package/src/assets/icons_old/support.svg +11 -0
- package/src/assets/icons_old/switcher.svg +4 -0
- package/src/assets/icons_old/sysadmin.svg +4 -0
- package/src/assets/icons_old/tag.svg +4 -0
- package/src/assets/icons_old/target.svg +4 -0
- package/src/assets/icons_old/tasks.svg +4 -0
- package/src/assets/icons_old/tfa-user.svg +4 -0
- package/src/assets/icons_old/tfa.svg +4 -0
- package/src/assets/icons_old/tokenization.svg +4 -0
- package/src/assets/icons_old/tools.svg +4 -0
- package/src/assets/icons_old/transition-from.svg +4 -0
- package/src/assets/icons_old/transition-to.svg +4 -0
- package/src/assets/icons_old/upload.svg +4 -0
- package/src/assets/icons_old/user-remove.svg +3 -0
- package/src/assets/icons_old/user.svg +4 -0
- package/src/assets/icons_old/view-type-cards.svg +4 -0
- package/src/assets/icons_old/view-type-list.svg +4 -0
- package/src/assets/icons_old/view-type-table.svg +4 -0
- package/src/assets/icons_old/warning.svg +4 -0
- package/src/assets/icons_old/workflow.svg +3 -0
- package/src/assets/icons_old/wrap.svg +4 -0
- package/src/assets/icons_old/wrench.svg +4 -0
- package/src/assets/images/fortanix_logo_icon.svg +20 -0
- package/src/components/actions/Button/Button.module.scss +81 -0
- package/src/components/actions/Button/Button.stories.tsx +262 -0
- package/src/components/actions/Button/Button.tsx +133 -0
- package/src/components/actions/ButtonAsLink/ButtonAsLink.module.scss +13 -0
- package/src/components/actions/ButtonAsLink/ButtonAsLink.stories.tsx +49 -0
- package/src/components/actions/ButtonAsLink/ButtonAsLink.tsx +56 -0
- package/src/components/actions/Link/Link.module.scss +38 -0
- package/src/components/actions/Link/Link.stories.tsx +54 -0
- package/src/components/actions/Link/Link.tsx +59 -0
- package/src/components/actions/LinkAsButton/LinkAsButton.stories.tsx +70 -0
- package/src/components/actions/LinkAsButton/LinkAsButton.tsx +59 -0
- package/src/components/containers/Alert/Alert.module.scss +41 -0
- package/src/components/containers/Alert/Alert.stories.tsx +47 -0
- package/src/components/containers/Alert/Alert.tsx +65 -0
- package/src/components/containers/Banner/Banner.module.scss +100 -0
- package/src/components/containers/Banner/Banner.stories.tsx +198 -0
- package/src/components/containers/Banner/Banner.tsx +121 -0
- package/src/components/containers/Card/Card.module.scss +32 -0
- package/src/components/containers/Card/Card.stories.tsx +67 -0
- package/src/components/containers/Card/Card.tsx +48 -0
- package/src/components/containers/Dialog/Dialog.module.scss +166 -0
- package/src/components/containers/Dialog/Dialog.stories.tsx +32 -0
- package/src/components/containers/Dialog/Dialog.tsx +130 -0
- package/src/components/containers/Panel/Panel.module.scss +32 -0
- package/src/components/containers/Panel/Panel.stories.tsx +46 -0
- package/src/components/containers/Panel/Panel.tsx +48 -0
- package/src/components/forms/context/Form/Form.module.scss +11 -0
- package/src/components/forms/context/Form/Form.stories.tsx +99 -0
- package/src/components/forms/context/Form/Form.tsx +106 -0
- package/src/components/forms/context/Form/FormOptics.tsx +109 -0
- package/src/components/forms/context/SubmitButton/SubmitButton.module.scss +9 -0
- package/src/components/forms/context/SubmitButton/SubmitButton.stories.tsx +132 -0
- package/src/components/forms/context/SubmitButton/SubmitButton.tsx +98 -0
- package/src/components/forms/controls/Checkbox/Checkbox.module.scss +67 -0
- package/src/components/forms/controls/Checkbox/Checkbox.stories.tsx +119 -0
- package/src/components/forms/controls/Checkbox/Checkbox.tsx +53 -0
- package/src/components/forms/controls/Input/Input.module.scss +40 -0
- package/src/components/forms/controls/Input/Input.stories.tsx +55 -0
- package/src/components/forms/controls/Input/Input.tsx +44 -0
- package/src/components/forms/controls/SegmentedControl/SegmentedControl.module.scss +76 -0
- package/src/components/forms/controls/SegmentedControl/SegmentedControl.stories.tsx +92 -0
- package/src/components/forms/controls/SegmentedControl/SegmentedControl.tsx +103 -0
- package/src/components/forms/controls/Select/Select.module.scss +105 -0
- package/src/components/forms/controls/Select/Select.stories.tsx +43 -0
- package/src/components/forms/controls/Select/Select.tsx +166 -0
- package/src/components/forms/controls/Switch/Switch.module.scss +63 -0
- package/src/components/forms/controls/Switch/Switch.stories.tsx +50 -0
- package/src/components/forms/controls/Switch/Switch.tsx +46 -0
- package/src/components/forms/fields/CheckboxField/CheckboxField.module.scss +46 -0
- package/src/components/forms/fields/CheckboxField/CheckboxField.stories.tsx +74 -0
- package/src/components/forms/fields/CheckboxField/CheckboxField.tsx +118 -0
- package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.module.scss +22 -0
- package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.stories.tsx +36 -0
- package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.tsx +37 -0
- package/src/components/forms/fields/InputField/InputField.module.scss +24 -0
- package/src/components/forms/fields/InputField/InputField.stories.tsx +57 -0
- package/src/components/forms/fields/InputField/InputField.tsx +72 -0
- package/src/components/graphics/Icon/Icon.module.scss +42 -0
- package/src/components/graphics/Icon/Icon.stories.tsx +67 -0
- package/src/components/graphics/Icon/Icon.tsx +50 -0
- package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.module.scss +76 -0
- package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.stories.tsx +101 -0
- package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.tsx +91 -0
- package/src/components/graphics/ProgressBar/ProgressBar.module.scss +43 -0
- package/src/components/graphics/ProgressBar/ProgressBar.stories.tsx +70 -0
- package/src/components/graphics/ProgressBar/ProgressBar.tsx +58 -0
- package/src/components/graphics/Spinner/Spinner.module.scss +61 -0
- package/src/components/graphics/Spinner/Spinner.stories.tsx +56 -0
- package/src/components/graphics/Spinner/Spinner.tsx +41 -0
- package/src/components/lists/PropertyList/PropertyList.module.scss +33 -0
- package/src/components/lists/PropertyList/PropertyList.stories.tsx +45 -0
- package/src/components/lists/PropertyList/PropertyList.tsx +60 -0
- package/src/components/navigations/Stepper/Stepper.module.scss +88 -0
- package/src/components/navigations/Stepper/Stepper.stories.tsx +68 -0
- package/src/components/navigations/Stepper/Stepper.tsx +95 -0
- package/src/components/navigations/Tabs/Tabs.module.scss +71 -0
- package/src/components/navigations/Tabs/Tabs.stories.tsx +106 -0
- package/src/components/navigations/Tabs/Tabs.tsx +121 -0
- package/src/components/overlays/DropdownMenu/DropdownMenu.module.scss +113 -0
- package/src/components/overlays/DropdownMenu/DropdownMenu.stories.tsx +91 -0
- package/src/components/overlays/DropdownMenu/DropdownMenu.tsx +155 -0
- package/src/components/overlays/DropdownMenu/DropdownMenuProvider.module.scss +105 -0
- package/src/components/overlays/DropdownMenu/DropdownMenuProvider.stories.tsx +71 -0
- package/src/components/overlays/DropdownMenu/DropdownMenuProvider.tsx +168 -0
- package/src/components/overlays/Modal/Modal.module.scss +185 -0
- package/src/components/overlays/Modal/Modal.stories.tsx +144 -0
- package/src/components/overlays/Modal/Modal.tsx +202 -0
- package/src/components/overlays/Toast/Toast.module.scss +123 -0
- package/src/components/overlays/Toast/Toast.stories.tsx +219 -0
- package/src/components/overlays/Toast/Toast.tsx +233 -0
- package/src/components/overlays/Toast/ToastyOverride.scss +27 -0
- package/src/components/overlays/Tooltip/Tooltip.module.scss +162 -0
- package/src/components/overlays/Tooltip/Tooltip.stories.tsx +115 -0
- package/src/components/overlays/Tooltip/Tooltip.tsx +75 -0
- package/src/components/overlays/Tooltip/TooltipProvider.stories.tsx +169 -0
- package/src/components/overlays/Tooltip/TooltipProvider.tsx +164 -0
- package/src/components/util/Clipboard/Clipboard.tsx +11 -0
- package/src/components/util/Popover/Popover.tsx +219 -0
- package/src/docs/Changelog.mdx +7 -0
- package/src/docs/Colors.mdx +113 -0
- package/src/docs/Colors.module.scss +56 -0
- package/src/docs/Iconography.mdx +70 -0
- package/src/docs/Iconography.module.scss +37 -0
- package/src/docs/Introduction.mdx +26 -0
- package/src/docs/Typography.mdx +109 -0
- package/src/docs/Typography.module.scss +22 -0
- package/src/layouts/AppLayout/AppLayout.module.scss +110 -0
- package/src/layouts/AppLayout/AppLayout.stories.tsx +112 -0
- package/src/layouts/AppLayout/AppLayout.tsx +31 -0
- package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.module.scss +47 -0
- package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.stories.tsx +66 -0
- package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.tsx +63 -0
- package/src/layouts/AppLayout/Header/AccountSelector.module.scss +24 -0
- package/src/layouts/AppLayout/Header/AccountSelector.stories.tsx +31 -0
- package/src/layouts/AppLayout/Header/AccountSelector.tsx +51 -0
- package/src/layouts/AppLayout/Header/Header.module.scss +74 -0
- package/src/layouts/AppLayout/Header/Header.stories.tsx +30 -0
- package/src/layouts/AppLayout/Header/Header.tsx +31 -0
- package/src/layouts/AppLayout/Header/SolutionSelector.module.scss +24 -0
- package/src/layouts/AppLayout/Header/SolutionSelector.stories.tsx +31 -0
- package/src/layouts/AppLayout/Header/SolutionSelector.tsx +50 -0
- package/src/layouts/AppLayout/Header/UserMenu.module.scss +31 -0
- package/src/layouts/AppLayout/Header/UserMenu.stories.tsx +32 -0
- package/src/layouts/AppLayout/Header/UserMenu.tsx +67 -0
- package/src/layouts/AppLayout/Logo/Logo.module.scss +78 -0
- package/src/layouts/AppLayout/Logo/Logo.tsx +38 -0
- package/src/layouts/AppLayout/Nav/Nav.module.scss +73 -0
- package/src/layouts/AppLayout/Nav/Nav.stories.tsx +32 -0
- package/src/layouts/AppLayout/Nav/Nav.tsx +75 -0
- package/src/layouts/AppLayout/Sidebar/Sidebar.module.scss +46 -0
- package/src/layouts/AppLayout/Sidebar/Sidebar.stories.tsx +30 -0
- package/src/layouts/AppLayout/Sidebar/Sidebar.tsx +33 -0
- package/src/layouts/FormLayout/FormLayout.module.scss +19 -0
- package/src/layouts/FormLayout/FormLayout.stories.tsx +64 -0
- package/src/layouts/FormLayout/FormLayout.tsx +32 -0
- package/src/styling/accessibility.css +24 -0
- package/src/styling/context/theming.scss +26 -0
- package/src/styling/context/theming_mixins.scss +79 -0
- package/src/styling/defs.scss +60 -0
- package/src/styling/fonts.css +126 -0
- package/src/styling/fonts_mixins.scss +16 -0
- package/src/styling/global.scss +49 -0
- package/src/styling/lib/normalize.css +78 -0
- package/src/styling/lib/reset-custom.css +58 -0
- package/src/styling/lib/reset.css +115 -0
- package/src/styling/main.scss +29 -0
- package/src/styling/variables.css +18 -0
- package/src/styling/variables.scss +928 -0
- package/src/styling/variables.ts +64 -0
- package/src/types/globals.d.ts +14 -0
- package/src/types/vite-env.d.ts +1 -0
- package/src/typography/BodyText/BodyText.mixins.scss +224 -0
- package/src/typography/BodyText/BodyText.module.scss +28 -0
- package/src/typography/BodyText/BodyText.stories.tsx +109 -0
- package/src/typography/BodyText/BodyText.tsx +30 -0
- package/src/typography/Heading/Heading.mixins.scss +42 -0
- package/src/typography/Heading/Heading.module.scss +15 -0
- package/src/typography/Heading/Heading.stories.tsx +112 -0
- package/src/typography/Heading/Heading.tsx +57 -0
- package/src/util/componentUtil.ts +19 -0
- package/src/util/drag.ts +197 -0
- package/src/util/reactUtil.ts +40 -0
- package/src/util/storybook/OverflowTester.css +13 -0
- package/src/util/storybook/OverflowTester.tsx +30 -0
- package/src/util/time.ts +12 -0
- package/src/util/types.ts +8 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tasks">
|
|
3
|
+
<path d="M16.018 6.998c-6.906 0-12.466 5.56-12.466 12.467 0 4.030 1.893 7.604 4.842 9.877l-1.449 1.449c-0.278 0.278-0.278 0.724 0 1.002s0.724 0.278 1.002 0l1.636-1.636c1.874 1.126 4.075 1.775 6.432 1.775s4.558-0.646 6.432-1.775l1.636 1.636c0.278 0.278 0.724 0.278 1.002 0s0.278-0.724 0-1.002l-1.449-1.449c2.949-2.276 4.842-5.847 4.842-9.877 0.003-6.906-5.554-12.466-12.46-12.466zM16.018 30.512c-6.125 0-11.048-4.923-11.048-11.048s4.923-11.048 11.048-11.048 11.048 4.923 11.048 11.048c0 6.125-4.923 11.048-11.048 11.048zM28.482 19.464v0 0zM16.619 11.957c-0.392 0-0.709 0.317-0.709 0.709v0 6.659h-4.247c-0.392 0-0.709 0.317-0.709 0.709s0.317 0.709 0.709 0.709h4.956c0.392 0 0.709-0.317 0.709-0.709v-7.365c0-0.395-0.317-0.712-0.709-0.712zM4.231 13.165c0.278-0.278 0.278-0.724 0-1.002v0c-1.705-1.705-1.705-4.090 0-5.799 1.705-1.705 4.090-1.705 5.799 0 0.278 0.278 0.724 0.278 1.002 0s0.278-0.724 0-1.002c-2.261-2.258-5.542-2.258-7.803 0.003s-2.261 5.542 0 7.8c0.278 0.278 0.724 0.278 1.002 0zM3.73 13.388c0 0 0 0 0 0-0.193 0-0.374-0.075-0.51-0.211-1.096-1.096-1.699-2.484-1.699-3.912s0.604-2.816 1.699-3.912c2.267-2.267 5.557-2.267 7.821 0 0.281 0.281 0.281 0.74 0 1.023-0.281 0.281-0.74 0.281-1.023 0-0.821-0.821-1.847-1.277-2.889-1.277s-2.065 0.453-2.889 1.277c-1.696 1.696-1.699 4.069-0.009 5.768l0.009 0.009c0.281 0.281 0.281 0.74 0 1.023v0c-0.136 0.136-0.317 0.211-0.51 0.211zM7.129 3.686c-1.383 0-2.762 0.564-3.891 1.69-1.090 1.090-1.69 2.472-1.69 3.891s0.601 2.798 1.69 3.891c0.272 0.272 0.709 0.272 0.981 0 0.269-0.269 0.272-0.703 0.006-0.975l-0.006-0.006c-1.715-1.711-1.715-4.105 0-5.82 0.827-0.827 1.862-1.283 2.91-1.283s2.080 0.456 2.91 1.283c0.272 0.272 0.709 0.272 0.981 0s0.272-0.709 0-0.981c-1.126-1.129-2.508-1.69-3.891-1.69zM28.895 5.383c-2.276-2.279-5.56-2.279-7.818-0.018-0.278 0.278-0.278 0.724 0 1.002s0.724 0.278 1.002 0c1.705-1.705 4.090-1.705 5.799 0 1.57 1.693 1.57 4.105-0.018 5.817-0.266 0.287-0.251 0.733 0.036 1.002 0.287 0.266 0.733 0.251 1.002-0.036v0c2.092-2.258 2.092-5.512-0.003-7.767zM28.376 13.388c-0.184 0-0.356-0.069-0.492-0.193-0.142-0.133-0.223-0.311-0.229-0.504s0.060-0.377 0.193-0.519c0.764-0.824 1.186-1.856 1.189-2.904s-0.414-2.074-1.171-2.892c-0.821-0.821-1.847-1.274-2.889-1.274s-2.065 0.453-2.889 1.277c-0.281 0.281-0.74 0.281-1.023 0-0.281-0.281-0.281-0.74 0-1.023 1.096-1.096 2.481-1.696 3.906-1.696 0.003 0 0.006 0 0.009 0 1.428 0.003 2.822 0.613 3.927 1.715v0c1.014 1.093 1.576 2.475 1.576 3.891s-0.558 2.798-1.576 3.891l-0.003 0.003c-0.13 0.139-0.308 0.22-0.501 0.226-0.009 0.003-0.018 0.003-0.027 0.003zM24.977 5.072c1.047 0 2.080 0.456 2.91 1.283 0.764 0.824 1.183 1.856 1.18 2.913s-0.429 2.095-1.198 2.925c-0.127 0.136-0.19 0.311-0.184 0.498 0.006 0.184 0.084 0.356 0.22 0.483s0.311 0.19 0.498 0.184c0.184-0.006 0.356-0.085 0.483-0.22l0.003-0.003c1.008-1.087 1.564-2.46 1.564-3.867 0-1.41-0.555-2.783-1.567-3.87-1.099-1.099-2.484-1.705-3.906-1.705-1.419-0.003-2.801 0.598-3.891 1.687-0.272 0.272-0.272 0.709 0 0.981s0.709 0.272 0.981 0c0.824-0.833 1.859-1.289 2.907-1.289z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tfa-user">
|
|
3
|
+
<path d="M9.803 17.253c0 0 0 0 0 0 0-0.178-0.069-0.344-0.194-0.469s-0.291-0.194-0.466-0.194h-0.744v-2.847c0-0.175-0.069-0.341-0.194-0.466s-0.291-0.194-0.466-0.194h-4.206c-0.175 0-0.341 0.069-0.466 0.194s-0.194 0.291-0.194 0.466v2.847h-0.744c-0.363 0-0.659 0.297-0.659 0.659 0 0 0 0 0 0s0 0 0 0v9.813c0 0.956 0.387 1.822 1.016 2.447 0.628 0.628 1.494 1.016 2.447 1.016h1.403c1.909 0 3.462-1.553 3.462-3.462l0.003-9.809zM4.194 14.406h2.888v2.188h-2.888v-2.188zM6.338 29.212h-1.4c-0.569 0-1.109-0.225-1.516-0.631s-0.631-0.944-0.631-1.516v-9.153h4.95c0.003 0 0.006 0 0.009 0h0.734v9.153c0 1.184-0.963 2.147-2.147 2.147zM7.181 21.306c-0.412-0.413-0.959-0.637-1.544-0.637v0c-1.203 0-2.181 0.978-2.181 2.181 0 0.6 0.244 1.147 0.641 1.541 0.394 0.394 0.941 0.641 1.541 0.641 0.581 0 1.131-0.228 1.544-0.637 0.412-0.413 0.638-0.959 0.638-1.544s-0.228-1.131-0.638-1.544zM5.638 23.903c-0.581 0-1.053-0.472-1.053-1.053s0.472-1.053 1.053-1.053c0.281 0 0.547 0.109 0.744 0.309 0.2 0.2 0.309 0.462 0.309 0.744s-0.109 0.544-0.309 0.744c-0.197 0.2-0.463 0.309-0.744 0.309zM17.197 1.409v0c-6.478 0-11.931 4.166-13.844 9.981h1.487c1.862-5.019 6.688-8.584 12.356-8.584 7.288 0 13.178 5.888 13.178 13.175 0 3.094-1.097 5.987-2.994 8.284v0c-0.3-0.2-0.7-0.5-0.997-0.6l-5.391-1.897v-2.497c1.697-1.397 2.794-3.694 2.794-6.287 0-4.291-2.894-7.688-6.587-7.688-3.594 0-6.588 3.494-6.588 7.688 0 2.694 1.197 5.191 3.094 6.487v2.297l-1.8 0.634v1.641l2.7-0.978c0.3-0.1 0.5-0.4 0.5-0.7v-1.997c0.6 0.2 1.297 0.4 1.997 0.4 0.8 0 1.597-0.2 2.297-0.5v2.097c0 0.3 0.2 0.6 0.5 0.7l5.791 2.097c0.1 0 0.3 0.2 0.5 0.3-2.497 2.397-5.791 3.794-9.184 3.794-1.738-0.053-3.472-0.462-5.097-1.194v1.512c1.675 0.644 3.475 0.978 5.294 0.978 4.094 0 8.084-1.797 10.881-4.791 2.397-2.694 3.794-6.188 3.794-9.781-0.106-8.084-6.597-14.572-14.681-14.572zM17.197 6.697c2.497 0 4.491 2.097 4.991 4.991-1.597 0.3-2.497-0.3-3.494-1.897-0.1-0.2-0.4-0.4-0.6-0.4-0.3 0-0.5 0.2-0.6 0.4-0.5 0.997-2.297 1.897-3.794 1.897-0.5 0-0.997-0.1-1.397-0.3 0.603-2.694 2.6-4.691 4.894-4.691zM17.097 19.175c-2.694 0.1-4.991-2.794-4.991-6.287v0c0.5 0.1 0.997 0.2 1.597 0.2 1.597 0 3.294-0.7 4.291-1.697 0.897 1.197 1.997 1.797 3.394 1.797 0.3 0 0.5 0 0.8-0.1-0.1 3.394-2.294 6.088-5.091 6.088z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tfa">
|
|
3
|
+
<path d="M26.742 14.224l-14.407 14.407c-1.933 1.933-5.099 1.933-7.033 0l-2.058-2.058c-1.932-1.932-1.933-5.1 0-7.033l14.407-14.407c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0l-14.407 14.407c-2.596 2.596-2.595 6.839 0 9.434l2.058 2.058c2.596 2.596 6.838 2.596 9.434 0l14.407-14.407c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0zM29.23 7.621l-4.975-4.975-3.946 3.946 4.975 4.973 3.946-3.944zM24.684 13.366l-6.175-6.174c-0.332-0.332-0.332-0.869-0-1.201l5.146-5.146c0.332-0.332 0.869-0.332 1.201 0l6.175 6.175c0.332 0.332 0.332 0.869-0 1.201l-5.146 5.145c-0.332 0.331-0.869 0.331-1.2 0zM23.655 4.962l-1.029 1.030c-0.331 0.332-0.331 0.869 0.001 1.201s0.869 0.331 1.201-0.001l1.029-1.030c0.331-0.332 0.331-0.869-0.001-1.201s-0.869-0.331-1.201 0.001zM25.713 7.021l-1.029 1.029c-0.332 0.332-0.332 0.869 0 1.201s0.869 0.332 1.201 0l1.029-1.029c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0zM16.451 5.133l10.291 10.291c0.332 0.332 0.869 0.332 1.201 0s0.332-0.869 0-1.201l-10.291-10.291c-0.332-0.332-0.869-0.332-1.201 0s-0.332 0.869 0 1.201zM16.451 9.25l6.175 6.175c0.332 0.332 0.869 0.332 1.201 0s0.332-0.869 0-1.201l-6.175-6.175c-0.332-0.332-0.869-0.332-1.201 0s-0.332 0.869 0 1.201zM15.262 16.615c-1.374-1.374-3.6-1.374-4.975 0-1.374 1.373-1.374 3.6 0 4.974s3.601 1.373 4.975 0.001c1.373-1.374 1.373-3.602 0-4.975zM16.462 15.414c2.036 2.036 2.036 5.338-0 7.376-2.037 2.036-5.338 2.036-7.376-0-2.037-2.037-2.037-5.34 0-7.376 2.037-2.037 5.339-2.037 7.376 0z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tokenization">
|
|
3
|
+
<path d="M2.017 16.289c0 0.71 0.183 1.42 0.548 2.052l4.933 8.545c0.731 1.266 2.093 2.052 3.555 2.052h9.866c1.462 0 2.824-0.786 3.555-2.052l4.933-8.545c0.731-1.266 0.731-2.839 0-4.105l-4.933-8.545c-0.731-1.266-2.093-2.052-3.555-2.052h-9.866c-1.462 0-2.824 0.786-3.555 2.052l-4.933 8.545c-0.365 0.633-0.548 1.343-0.548 2.053zM31.973 16.289c0 1.059-0.272 2.117-0.818 3.061l-4.933 8.545c-1.090 1.888-3.122 3.061-5.303 3.061h-9.866c-2.181 0-4.212-1.173-5.303-3.061l-4.933-8.545c-1.090-1.888-1.090-4.234 0-6.123l4.933-8.545c1.090-1.888 3.122-3.061 5.303-3.061h9.866c2.181 0 4.212 1.173 5.303 3.061l4.933 8.545c0.545 0.944 0.818 2.003 0.818 3.062zM25.873 16.008c-0.696-0.728-1.487-1.458-2.357-2.137-2.441-1.906-4.997-3.038-7.517-3.038s-5.075 1.132-7.517 3.038c-0.87 0.679-1.661 1.408-2.357 2.137-0.111 0.116-0.212 0.225-0.304 0.325 0.092 0.1 0.194 0.209 0.304 0.325 0.696 0.728 1.487 1.458 2.357 2.137 2.441 1.906 4.997 3.038 7.517 3.038s5.075-1.132 7.517-3.038c0.87-0.679 1.661-1.408 2.357-2.137 0.111-0.116 0.212-0.225 0.304-0.325-0.092-0.1-0.194-0.209-0.304-0.325zM28.284 16.954c-0.179 0.226-0.505 0.605-0.964 1.085-0.759 0.795-1.621 1.589-2.572 2.332-2.761 2.156-5.709 3.462-8.747 3.462s-5.986-1.306-8.747-3.462c-0.951-0.743-1.813-1.537-2.572-2.332-0.459-0.481-0.785-0.859-0.964-1.085-0.288-0.364-0.288-0.878 0-1.242 0.179-0.226 0.505-0.605 0.964-1.085 0.759-0.795 1.621-1.589 2.572-2.332 2.761-2.156 5.709-3.462 8.747-3.462s5.986 1.306 8.747 3.462c0.951 0.743 1.813 1.537 2.572 2.332 0.459 0.481 0.785 0.859 0.964 1.085 0.288 0.364 0.288 0.878 0 1.242zM19 16.333c0-1.657-1.343-3-3-3s-3 1.343-3 3c0 1.657 1.343 3 3 3s3-1.343 3-3zM21 16.333c0 2.762-2.238 5-5 5s-5-2.238-5-5c0-2.762 2.238-5 5-5s5 2.238 5 5zM16 15.333c-0.552 0-1-0.448-1-1s0.448-1 1-1c1.656 0 3 1.344 3 3s-1.344 3-3 3c-1.656 0-3-1.344-3-3 0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552 0.448 1 1 1s1-0.448 1-1c0-0.552-0.448-1-1-1z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tools">
|
|
3
|
+
<path d="M22.425 0.146l9.302 7.893c0.26 0.22 0.293 0.61 0.073 0.87l-3.934 4.665c-0.106 0.126-0.256 0.204-0.418 0.216-0.017 0.002-0.034 0.002-0.052 0.002-0.144 0-0.286-0.051-0.398-0.146l-3.185-2.703-5.453 6.467 3.691 3.704c1.99-0.674 4.181-0.172 5.682 1.336 1.602 1.607 2.066 4 1.183 6.095-0.080 0.189-0.249 0.326-0.449 0.365s-0.407-0.025-0.553-0.169l-2.176-2.181h-1.74v1.746l2.177 2.183c0.145 0.144 0.208 0.353 0.169 0.554s-0.176 0.37-0.364 0.451c-0.704 0.298-1.441 0.443-2.171 0.443-1.438 0-2.846-0.564-3.906-1.63-1.503-1.506-2.004-3.704-1.332-5.7l-3.401-3.413-6.975 8.275c-0.122 0.144-0.295 0.219-0.47 0.219-0.14 0-0.282-0.047-0.398-0.146l-3.322-2.819c-0.126-0.106-0.203-0.257-0.217-0.42s0.038-0.326 0.144-0.451l7.271-8.625-3.901-3.902c-1.998 0.679-4.19 0.185-5.682-1.315-1.594-1.599-2.058-3.973-1.183-6.049 0.081-0.19 0.251-0.328 0.455-0.367 0.201-0.037 0.411 0.030 0.555 0.179l2.175 2.267h1.915v-1.922l-2.258-2.181c-0.149-0.144-0.215-0.353-0.178-0.557 0.038-0.205 0.175-0.375 0.366-0.457 2.084-0.884 4.375-0.427 5.985 1.188 1.503 1.505 2.004 3.702 1.332 5.699l3.616 3.627 5.152-6.109-5.176-4.392c-0.26-0.22-0.293-0.61-0.073-0.87l1.124-1.333c0.105-0.125 0.256-0.202 0.418-0.216 0.156-0.021 0.324 0.038 0.449 0.144 0.752 0.639 1.722 0.943 2.72 0.861 1.003-0.084 1.908-0.547 2.545-1.302 0.218-0.259 0.608-0.294 0.866-0.073zM17.563 18.356l-1.595 1.892 3.755 3.768c0.177 0.179 0.229 0.446 0.132 0.678-0.688 1.631-0.327 3.491 0.918 4.741 1.014 1.017 2.431 1.446 3.806 1.198l-1.63-1.633c-0.116-0.116-0.181-0.273-0.181-0.437v-2.619c0-0.342 0.276-0.617 0.615-0.617h2.61c0.164 0 0.32 0.064 0.436 0.18l1.63 1.633c0.247-1.374-0.18-2.798-1.195-3.816-1.246-1.251-3.1-1.612-4.726-0.921-0.23 0.099-0.497 0.046-0.674-0.132l-3.9-3.914zM20.492 8.126l-15.223 18.053 2.383 2.022 6.646-7.883-0.057-0.057 0.685-0.688 7.949-9.425-2.383-2.022zM4.891 3.781l1.689 1.631c0.121 0.116 0.188 0.277 0.188 0.444v2.802c0 0.341-0.274 0.617-0.615 0.617h-2.793c-0.167 0-0.327-0.068-0.444-0.189l-1.623-1.693c-0.229 1.348 0.198 2.742 1.198 3.744 1.234 1.241 3.090 1.594 4.726 0.901 0.231-0.099 0.496-0.046 0.674 0.131l4.11 4.11 1.601-1.897-3.97-3.982c-0.178-0.179-0.23-0.446-0.132-0.678 0.688-1.631 0.327-3.491-0.919-4.739-1.007-1.011-2.357-1.437-3.69-1.204zM22.071 1.463c-0.805 0.742-1.834 1.194-2.955 1.289-1.121 0.090-2.209-0.181-3.122-0.78l-0.354 0.42 11.685 9.915 3.14-3.723-8.393-7.12z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="37" height="32" viewBox="0 0 37 32" aria-labelledby="transition-from">
|
|
3
|
+
<path d="M34.909 0c0.918 0 1.662 0.744 1.662 1.662s-0.744 1.662-1.662 1.662h-17.902c-3.317 0-6.010 2.693-6.010 6.010l-0.001 17.353 5.089-3.392c0.764-0.509 1.796-0.303 2.305 0.461s0.303 1.796-0.461 2.305l-7.71 5.14c-0.039 0.025-0.079 0.047-0.12 0.069l0.158-0.094c-0.066 0.044-0.135 0.083-0.205 0.117-0.119 0.057-0.246 0.101-0.38 0.128-0.029 0.006-0.058 0.011-0.087 0.015-0.031 0.005-0.062 0.009-0.094 0.012-0.035 0.003-0.070 0.005-0.105 0.006-0.016 0.001-0.034 0.001-0.051 0.001l-0.052-0.001c-0.034-0.001-0.068-0.003-0.102-0.006l0.155 0.007c-0.086 0-0.17-0.007-0.253-0.019-0.027-0.004-0.055-0.009-0.082-0.015-0.134-0.027-0.262-0.071-0.383-0.128-0.014-0.007-0.030-0.015-0.045-0.023-0.042-0.022-0.082-0.045-0.121-0.069-0.012-0.008-0.025-0.016-0.038-0.025l-7.672-5.115c-0.764-0.509-0.97-1.541-0.461-2.305s1.541-0.97 2.305-0.461l5.088 3.392 0-17.353c0-5.153 4.181-9.335 9.335-9.335h17.902z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="28" height="32" viewBox="0 0 28 32" aria-labelledby="transition-to">
|
|
3
|
+
<path d="M0.64 2.036c0-0.771 0.625-1.396 1.396-1.396s1.396 0.625 1.396 1.396v15.038c0 2.786 2.262 5.048 5.048 5.048l14.577 0.001-2.849-4.275c-0.428-0.642-0.254-1.509 0.387-1.936s1.509-0.254 1.936 0.387l4.317 6.477c0.021 0.033 0.040 0.066 0.058 0.101l-0.079-0.133c0.037 0.056 0.070 0.113 0.098 0.172 0.048 0.1 0.085 0.207 0.108 0.319 0.005 0.024 0.009 0.049 0.013 0.073 0.004 0.026 0.007 0.052 0.010 0.079 0.003 0.030 0.005 0.059 0.005 0.088 0.001 0.014 0.001 0.028 0.001 0.043l-0.001 0.044c-0.001 0.029-0.003 0.057-0.005 0.086l0.006-0.13c0 0.072-0.006 0.143-0.016 0.212-0.004 0.023-0.008 0.046-0.013 0.069-0.023 0.112-0.059 0.22-0.108 0.321-0.006 0.012-0.012 0.025-0.019 0.038-0.018 0.035-0.037 0.069-0.058 0.102-0.007 0.010-0.014 0.021-0.021 0.032l-4.297 6.445c-0.428 0.642-1.295 0.815-1.936 0.387s-0.815-1.295-0.387-1.936l2.849-4.274h-14.577c-4.329 0-7.841-3.512-7.841-7.841v-15.038z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="upload">
|
|
3
|
+
<path d="M30.634 22.934c-0.4 0-0.666 0.266-0.666 0.666v2.534c0 1.734-1.466 3.2-3.2 3.2h-21.603c-1.734 0-3.2-1.466-3.2-3.2v-2.534c0-0.4-0.266-0.666-0.666-0.666s-0.666 0.266-0.666 0.666v2.534c0 2.534 2 4.534 4.534 4.534h21.734c2.534 0 4.534-2 4.534-4.534v-2.534c-0.137-0.4-0.403-0.666-0.803-0.666v0zM15.566 0.234v0c0.134 0 0.134-0.134 0.266-0.134 0.134-0.134 0.4-0.134 0.534 0 0.134 0 0.134 0.134 0.266 0.134v0l9.334 9.334c0.266 0.266 0.266 0.666 0 0.934-0.266 0.266-0.666 0.266-0.934 0l-8.131-8.137v21.2c0 0.4-0.266 0.666-0.666 0.666s-0.666-0.266-0.666-0.666v-21.2l-8.403 8.134c-0.266 0.266-0.666 0.266-0.934 0-0.266-0.266-0.266-0.666 0-0.934l9.334-9.331z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg" aria-labelledby="user-remove">
|
|
2
|
+
<path d="M7.5 0.5C9.75 0.5 11.625 2.675 11.625 5.375C11.625 7.1 10.875 8.59999 9.74998 9.42499V11.375H8.99997V9.87499C8.54997 10.1 8.02497 10.25 7.49998 10.25C6.97499 10.25 6.44998 10.175 5.99998 9.94997V11.375C5.99998 11.525 5.92498 11.675 5.77498 11.675L2.02498 13.025C1.275 13.325 0.749989 14 0.749989 14.825V16.25H9.375V17H0.374995C0.149994 17 0 16.85 0 16.625V14.825C0 13.7 0.675001 12.725 1.725 12.425L5.24999 11.15V9.50001C4.12499 8.60001 3.37499 7.09999 3.37499 5.375C3.37499 2.675 5.17499 0.5 7.5 0.5ZM10.8 4.62501C10.5 2.67501 9.15001 1.25001 7.5 1.25001C5.925 1.25001 4.575 2.60001 4.20001 4.40001C4.5 4.55 4.87501 4.62501 5.25 4.62501C6.22501 4.62501 7.425 4.02501 7.72501 3.35001C7.875 3.12501 8.25001 3.12501 8.40001 3.35001C9 4.47501 9.675 4.85001 10.8 4.62501ZM4.12501 5.375V5.22501C4.5 5.30001 4.87501 5.375 5.25001 5.375C6.22502 5.375 7.425 4.925 8.02502 4.25C8.77502 5.22501 9.67502 5.6 10.875 5.45001C10.875 7.77501 9.37502 9.57502 7.50001 9.57502C5.625 9.50001 4.12501 7.69999 4.12501 5.375ZM13.7636 18.5C16.0617 18.5 17.9251 16.6369 17.9251 14.3386C17.9251 12.0402 16.0617 10.1771 13.7636 10.1771C11.4649 10.1771 9.60219 12.0399 9.60219 14.3386C9.60219 16.6372 11.4649 18.5 13.7636 18.5ZM13.7636 10.9792C15.6188 10.9792 17.123 12.4833 17.123 14.3385C17.123 16.1938 15.6187 17.6979 13.7636 17.6979C11.9078 17.6979 10.4043 16.1943 10.4043 14.3385C10.4043 12.4828 11.9079 10.9792 13.7636 10.9792ZM16.1937 14.3386C16.1937 14.5558 16.0176 14.7319 15.8004 14.7319H11.7269C11.5096 14.7319 11.3335 14.5558 11.3335 14.3386C11.3335 14.1213 11.5096 13.9453 11.7269 13.9453L15.8004 13.9453C16.0176 13.9453 16.1937 14.1213 16.1937 14.3386Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 34 34" aria-labelledby="user">
|
|
3
|
+
<path d="M16.61 1.371c-8.381 0-15.238 6.857-15.238 15.238 0 3.962 1.524 7.619 4.114 10.514 2.895 3.048 7.010 4.876 11.124 4.876 4.267 0 8.381-1.829 11.276-5.029 2.59-2.743 3.962-6.4 3.962-10.21 0.152-8.533-6.705-15.39-15.238-15.39zM7.162 26.667c0.305-0.305 0.61-0.457 0.762-0.457l6.095-2.133c0.305-0.152 0.457-0.457 0.457-0.762v-2.133c0.61 0.305 1.371 0.457 2.133 0.457 0.914 0 1.676-0.152 2.438-0.61v2.286c0 0.305 0.152 0.61 0.457 0.762l6.095 2.133c0.152 0 0.305 0.152 0.61 0.305-2.438 2.438-5.943 3.962-9.6 3.962-3.505 0-6.857-1.371-9.448-3.81zM11.276 13.41c0.61 0.152 1.067 0.305 1.676 0.305 1.676 0 3.505-0.762 4.571-1.829 1.067 1.219 2.133 1.829 3.657 1.829 0.152 0 0.457 0 0.762 0 0 3.505-2.438 6.4-5.333 6.4s-5.333-3.048-5.333-6.705c0 0.152 0 0 0 0zM11.581 11.886c0.61-2.895 2.59-4.876 5.029-4.876 2.59 0 4.724 2.133 5.333 5.181-1.676 0.305-2.59-0.305-3.657-1.981-0.152-0.305-0.457-0.457-0.61-0.457 0 0 0 0 0 0-0.305 0-0.457 0.152-0.61 0.457-0.61 1.067-2.59 1.981-4.114 1.981-0.457 0-0.914-0.152-1.371-0.305zM27.276 25.448c-0.305-0.305-0.762-0.457-1.067-0.61l-5.638-1.981v-2.59c1.676-1.524 2.895-3.81 2.895-6.552 0-4.419-3.048-8.076-6.857-8.076s-6.857 3.505-6.857 7.924c0 2.895 1.219 5.333 3.2 6.857v2.438l-5.638 1.981c-0.457 0.152-0.914 0.457-1.219 0.762-2.133-2.438-3.2-5.638-3.2-8.838 0-7.619 6.248-13.714 13.714-13.714 7.619 0 13.714 6.248 13.714 13.714 0.152 3.048-1.067 6.095-3.048 8.686z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="view-type-cards">
|
|
3
|
+
<path d="M0.889 15.034v-14.145h14.145v14.145h-14.145zM2.667 13.256h10.589v-10.589h-10.589v10.589zM16.966 15.034v-14.145h14.145v14.145h-14.145zM29.333 13.256v-10.589h-10.589v10.589h10.589zM0.889 31.111v-14.145h14.145v14.145h-14.145zM2.667 29.333h10.589v-10.589h-10.589v10.589zM16.966 31.111v-14.145h14.145v14.145h-14.145zM29.333 29.333v-10.589h-10.589v10.589h10.589z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="32" viewBox="0 0 34 32" aria-labelledby="view-type-list">
|
|
3
|
+
<path d="M11.417 9.546v-8.605h21.524v8.605h-21.524zM13.299 7.664h17.76v-4.84h-17.76v4.84zM11.417 20.303v-8.605h21.524v8.605h-21.524zM13.299 18.42h17.76v-4.84h-17.76v4.84zM11.417 31.059v-8.605h21.524v8.605h-21.524zM13.299 29.176h17.76v-4.84h-17.76v4.84zM0.941 9.546v-8.605h8.43v8.605h-8.43zM2.824 7.664h4.665v-4.84h-4.665v4.84zM0.941 20.303v-8.605h8.43v8.605h-8.43zM2.824 18.42h4.665v-4.84h-4.665v4.84zM0.941 31.059v-8.605h8.43v8.605h-8.43zM2.824 29.176h4.665v-4.84h-4.665v4.84z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="32" viewBox="0 0 34 32" aria-labelledby="view-type-table">
|
|
3
|
+
<path d="M0.906 8.702c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 6.906h30.257v-5.111h-30.257v5.111zM0.906 19.752c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 12.846v5.111h30.257v-5.111h-30.257zM0.906 30.802c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 29.006h30.257v-5.111h-30.257v5.111z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="warning">
|
|
3
|
+
<path d="M29.201 28.097l-12.47-24.939c-0.372-0.744-1.303-0.744-1.675 0l-12.283 24.939c-0.372 0.558 0.186 1.303 0.744 1.303h24.939c0.744 0 1.117-0.744 0.744-1.303zM15.987 27.167c-1.117 0-1.861-0.744-1.861-1.861s0.745-1.861 1.861-1.861 1.861 0.744 1.861 1.861-0.744 1.861-1.861 1.861zM17.848 19.908c0 0.93-0.744 1.675-1.861 1.675s-1.861-0.744-1.861-1.675v-9.678c0-0.931 0.745-1.675 1.861-1.675s1.861 0.745 1.861 1.675v9.678z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-labelledby="workflow">
|
|
2
|
+
<path d="M12.9861316,0.142785444 C13.176501,-0.0475839495 13.4851468,-0.0475967872 13.675532,0.142756769 L13.675532,0.142756769 L17.8369936,4.303526 C18.0274124,4.49391315 18.0274124,4.80262531 17.8369936,4.99301246 L17.8369936,4.99301246 L13.843,8.985 L13.8438326,10.8636074 C15.4344443,11.1019852 16.6674067,12.4323148 16.7557876,14.0671628 L16.7608615,14.2553538 C16.7608615,16.1501311 15.2258311,17.6851615 13.3310538,17.6851615 C11.6109126,17.6851615 10.1866315,16.4192383 9.93927141,14.7678924 L6.859,14.767 L6.85996154,17.1980077 C6.85996154,17.4373311 6.68750826,17.6363759 6.46009028,17.6776534 L6.37246154,17.6855077 L0.487846154,17.6855077 C0.218607338,17.6855077 0.000346153846,17.4672465 0.000346153846,17.1980077 L0.000346153846,17.1980077 L0.000346153846,11.3133923 C0.000346153846,11.0441535 0.218607338,10.8258923 0.487846154,10.8258923 L0.487846154,10.8258923 L2.942,10.825 L2.9420037,8.04364524 C1.33966792,7.8154472 0.0939426821,6.47962949 0.0050754698,4.83643958 L1.33226763e-15,4.64826923 C1.33226763e-15,2.75418426 1.53572272,1.21846154 3.42980769,1.21846154 C5.15871938,1.21846154 6.58840943,2.49719773 6.82519355,4.16041688 L8.968,4.16 Z M13.3310538,11.8005462 C11.9754465,11.8005462 10.8762462,12.8997465 10.8762462,14.2553538 C10.8762462,15.6113967 11.9751896,16.7101615 13.3310538,16.7101615 C14.6873535,16.7101615 15.7858615,15.6116535 15.7858615,14.2553538 C15.7858615,12.8994896 14.6870967,11.8005462 13.3310538,11.8005462 Z M5.88484615,11.8001538 L0.975346154,11.8001538 L0.975346154,16.7104038 L5.88484615,16.7104038 L5.88484615,11.8001538 Z M8.993,5.16 L6.82155988,5.16099124 C6.59919886,6.64480991 5.42653904,7.81762235 3.94258648,8.04001567 L3.942,10.825 L6.37246154,10.8258923 C6.61178493,10.8258923 6.8108297,10.9983456 6.85210726,11.2257636 L6.85996154,11.3133923 L6.859,13.767 L9.93576673,13.7669261 C10.1501641,12.2634751 11.339712,11.0741055 12.8432499,10.8599778 L12.843,9.01 L8.993,5.16 Z M13.3308462,1.17640385 L9.85909615,4.64815385 L13.3308462,8.11990385 L16.8025962,4.64815385 L13.3308462,1.17640385 Z M3.42980769,2.19346154 C2.07420035,2.19346154 0.975,3.29266189 0.975,4.64826923 C0.975,6.00387657 2.07420035,7.10307692 3.42980769,7.10307692 C4.7858505,7.10307692 5.88461538,6.00413344 5.88461538,4.64826923 C5.88461538,3.29240502 4.7858505,2.19346154 3.42980769,2.19346154 Z"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="35" height="32" viewBox="0 0 35 32" aria-labelledby="wrap">
|
|
3
|
+
<path d="M18.526 13.474v-5.053l8.421 6.737-8.421 6.737v-5.053h-18.526v-3.368zM8.441 27.688l2.301-2.46c0.726 0.679 1.53 1.272 2.394 1.763l-1.665 2.928c-1.094-0.622-2.112-1.371-3.031-2.231zM14.996 31.395l0.919-3.241c0.95 0.269 1.933 0.427 2.935 0.467l-0.136 3.366c-1.268-0.051-2.514-0.251-3.718-0.592zM22.451 31.703l-0.646-3.306c0.978-0.191 1.926-0.497 2.826-0.91l1.405 3.061c-1.142 0.524-2.344 0.912-3.585 1.155zM29.272 28.568l-2.086-2.644c0.781-0.616 1.487-1.322 2.104-2.103l2.644 2.087c-0.78 0.988-1.673 1.881-2.661 2.66zM33.98 22.529l-3.075-1.376c0.405-0.904 0.701-1.854 0.883-2.835l3.312 0.614c-0.231 1.244-0.607 2.45-1.121 3.597zM35.353 15.287l-3.365 0.148c-0.044-1.002-0.205-1.984-0.478-2.933l3.237-0.931c0.346 1.203 0.55 2.448 0.606 3.716zM33.247 8.034l-2.92 1.679c-0.496-0.862-1.092-1.663-1.775-2.386l2.449-2.313c0.864 0.915 1.619 1.929 2.246 3.020zM28.070 2.571l-1.834 2.825c-0.833-0.541-1.727-0.982-2.665-1.313l1.12-3.177c1.19 0.42 2.323 0.979 3.379 1.664zM21.068 0.089l-0.354 3.35c-0.436-0.046-0.877-0.070-1.318-0.071-0.58-0-1.131 0.035-1.677 0.107l-0.435-3.34c0.692-0.090 1.388-0.135 2.115-0.135 0.56 0.001 1.117 0.031 1.669 0.089zM13.61 1.068l1.213 3.143c-0.928 0.358-1.809 0.825-2.626 1.39l-1.915-2.771c1.035-0.716 2.152-1.307 3.329-1.761z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="wrench">
|
|
3
|
+
<path d="M25.461 9.37l4.155-4.143c0.315-0.314 0.845-0.23 1.048 0.166 1.802 3.522 1.157 7.855-1.683 10.696-2.722 2.722-6.808 3.425-10.244 1.888l-12.559 12.562c-1.282 1.284-3.358 1.284-4.638 0.001-1.283-1.279-1.277-3.359 0.006-4.641l12.574-12.563c-1.531-3.428-0.81-7.517 1.919-10.245 2.838-2.837 7.213-3.485 10.735-1.684 0.394 0.201 0.48 0.726 0.171 1.043l-4.053 4.157v2.763h2.57zM16.966 4.019c-2.44 2.44-3.009 6.147-1.47 9.153 0.13 0.254 0.081 0.562-0.12 0.764l-12.903 12.892c-0.771 0.77-0.774 2.017-0.006 2.783 0.769 0.77 2.012 0.77 2.782-0l12.888-12.891c0.201-0.201 0.51-0.25 0.763-0.12 3.018 1.544 6.721 0.992 9.152-1.44 2.211-2.213 2.87-5.484 1.812-8.328l-3.67 3.658c-0.123 0.123-0.29 0.192-0.463 0.192h-3.498c-0.363 0-0.656-0.294-0.656-0.656v-3.687c0-0.171 0.067-0.336 0.186-0.458l3.58-3.672c-2.853-1.063-6.165-0.403-8.378 1.809z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 28.8 42.1" style="enable-background:new 0 0 28.8 42.1;" xml:space="preserve" aria-labelledby="logo-small">
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
.st0{ fill:url(#Fill-1_1_); }
|
|
6
|
+
.st1{ fill:#FFFFFF; }
|
|
7
|
+
</style>
|
|
8
|
+
<g id="Group-3">
|
|
9
|
+
<linearGradient id="Fill-1_1_" gradientUnits="userSpaceOnUse" x1="-536.7165" y1="106.2919" x2="-535.7165" y2="106.2919" gradientTransform="matrix(28.8323 0 0 41.5823 15474.7715 -4398.7603)">
|
|
10
|
+
<stop offset="0" style="stop-color:#7C59A4"/>
|
|
11
|
+
<stop offset="0.5244" style="stop-color:#647ABA"/>
|
|
12
|
+
<stop offset="1" style="stop-color:#3BC5F3"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<path id="Fill-1" class="st0" d="M24.6,4.5h4.2V0.3h-4.2C24.6,0.3,24.6,4.5,24.6,4.5z M12.3,4.5h4.2V0.3h-4.2V4.5z M0,4.5h4.2V0.3
|
|
15
|
+
H0V4.5z M24.6,10.8h4.2V6.6h-4.2C24.6,6.6,24.6,10.8,24.6,10.8z M18.8,10.8H23V6.6h-4.2V10.8z M12.3,17.1h4.2V6.6h-4.2V17.1z
|
|
16
|
+
M5.9,36.4h4.2V6.6H5.9V36.4z M0,10.8h4.2V6.6H0V10.8z M24.6,17.1h4.2v-4.2h-4.2C24.6,12.9,24.6,17.1,24.6,17.1z M18.8,36.4H23
|
|
17
|
+
V12.9h-4.2V36.4z M0,29.4h4.2V12.9H0V29.4z M24.6,29.4h4.2V19.2h-4.2C24.6,19.2,24.6,29.4,24.6,29.4z M12.3,23.5h4.2v-4.2h-4.2
|
|
18
|
+
V23.5z M12.3,41.9h4.2V25.2h-4.2V41.9z"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* Copyright (c) Fortanix, Inc.
|
|
2
|
+
|* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
|
|
3
|
+
|* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
4
|
+
|
|
5
|
+
@use '../../../styling/defs.scss' as bk;
|
|
6
|
+
|
|
7
|
+
@layer baklava.components {
|
|
8
|
+
.bk-button {
|
|
9
|
+
@include bk.component-base(bk-button);
|
|
10
|
+
|
|
11
|
+
--bk-button-color-accent: #{bk.$theme-button-primary-background-default};
|
|
12
|
+
--bk-button-color-contrast: #{bk.$theme-button-primary-text-default};
|
|
13
|
+
|
|
14
|
+
align-self: flex-start;
|
|
15
|
+
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: calc(bk.$spacing-2 - 0.125lh) bk.$spacing-3; /* Note: compensate for line-height difference with Figma */
|
|
20
|
+
|
|
21
|
+
/* Transparent border for consistency with other variants that have a border */
|
|
22
|
+
border: bk.$size-1 solid transparent;
|
|
23
|
+
border-radius: bk.$radius-s;
|
|
24
|
+
background: transparent;
|
|
25
|
+
|
|
26
|
+
display: inline-flex;
|
|
27
|
+
flex-flow: row wrap;
|
|
28
|
+
align-items: center;
|
|
29
|
+
gap: 0.3ch;
|
|
30
|
+
|
|
31
|
+
@include bk.font(bk.$font-family-display, bk.$font-weight-medium);
|
|
32
|
+
/* letter-spacing: 0.1ch; */
|
|
33
|
+
text-transform: uppercase;
|
|
34
|
+
|
|
35
|
+
/* Tertiary (default) */
|
|
36
|
+
border-color: transparent;
|
|
37
|
+
background-color: transparent;
|
|
38
|
+
color: var(--bk-button-color-accent);
|
|
39
|
+
|
|
40
|
+
&.bk-button--secondary {
|
|
41
|
+
border-color: var(--bk-button-color-accent);
|
|
42
|
+
background-color: transparent;
|
|
43
|
+
color: var(--bk-button-color-accent);
|
|
44
|
+
}
|
|
45
|
+
&.bk-button--primary {
|
|
46
|
+
border-color: var(--bk-button-color-accent);
|
|
47
|
+
background-color: var(--bk-button-color-accent);
|
|
48
|
+
color: var(--bk-button-color-contrast);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* States */
|
|
52
|
+
/* NOTE: the ordering here is important, more important rules must come later (in case of multiple states) */
|
|
53
|
+
&:is(:focus-visible, :global(.pseudo-focus-visible)) {
|
|
54
|
+
--bk-button-color-accent: #{bk.$theme-button-primary-background-focused};
|
|
55
|
+
@include bk.focus-outline-close;
|
|
56
|
+
}
|
|
57
|
+
&:is(:hover, :global(.pseudo-hover)) {
|
|
58
|
+
--bk-button-color-accent: #{bk.$theme-button-primary-background-hover};
|
|
59
|
+
}
|
|
60
|
+
&:is(:disabled, .bk-button--disabled) {
|
|
61
|
+
--bk-button-color-accent: #{bk.$theme-button-primary-background-disabled};
|
|
62
|
+
--bk-button-color-contrast: #{bk.$theme-button-primary-text-disabled};
|
|
63
|
+
cursor: not-allowed;
|
|
64
|
+
}
|
|
65
|
+
&.bk-button--nonactive {
|
|
66
|
+
--bk-button-color-accent: #{bk.$theme-button-primary-background-non-active};
|
|
67
|
+
--bk-button-color-contrast: #{bk.$theme-button-primary-text-non-active};
|
|
68
|
+
cursor: not-allowed;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
72
|
+
transition: none 150ms ease-in-out;
|
|
73
|
+
transition-property: border, background, color;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* & > :global(.icon) { font-size: 1.2rem; } */
|
|
77
|
+
|
|
78
|
+
/* https://css-tricks.com/css-cascade-layers/#aa-reverting-important-layers */
|
|
79
|
+
/* &:is(:global(.unstyled), #specificity#hack) { all: revert-layer; } */
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/* Copyright (c) Fortanix, Inc.
|
|
2
|
+
|* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
|
|
3
|
+
|* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
4
|
+
|
|
5
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
6
|
+
import { userEvent, within } from '@storybook/test';
|
|
7
|
+
|
|
8
|
+
import { delay } from '../../../util/time.ts';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
import { ErrorBoundary } from 'react-error-boundary';
|
|
11
|
+
|
|
12
|
+
import { Icon } from '../../graphics/Icon/Icon.tsx';
|
|
13
|
+
import { Alert } from '../../containers/Alert/Alert.tsx';
|
|
14
|
+
|
|
15
|
+
import { Button } from './Button.tsx';
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
type ButtonArgs = React.ComponentProps<typeof Button>;
|
|
19
|
+
type Story = StoryObj<typeof Button>;
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
component: Button,
|
|
23
|
+
parameters: {
|
|
24
|
+
layout: 'centered',
|
|
25
|
+
design: { type: 'figma', url: 'https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Fdesign%2FnOF5w9LfPiJabQD5yPzCEp%2F2024-Design-System-UX%3Fnode-id%3D327%253A6150%26t%3DjsTF1ykn6P4yp2et-1' },
|
|
26
|
+
},
|
|
27
|
+
tags: ['autodocs'],
|
|
28
|
+
argTypes: {},
|
|
29
|
+
args: {
|
|
30
|
+
unstyled: false,
|
|
31
|
+
label: 'Button',
|
|
32
|
+
variant: 'primary',
|
|
33
|
+
nonactive: false,
|
|
34
|
+
disabled: false,
|
|
35
|
+
onPress() {
|
|
36
|
+
alert('Click');
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
decorators: [
|
|
40
|
+
Story => (
|
|
41
|
+
<ErrorBoundary
|
|
42
|
+
FallbackComponent={({ error, resetErrorBoundary }) =>
|
|
43
|
+
<Alert kind="error" style={{ width: '80cqi' }}>
|
|
44
|
+
<p>Error: {error?.message}</p>
|
|
45
|
+
<p><Button variant="tertiary" label="Reset" onClick={resetErrorBoundary}/></p>
|
|
46
|
+
</Alert>
|
|
47
|
+
}
|
|
48
|
+
>
|
|
49
|
+
<Story/>
|
|
50
|
+
</ErrorBoundary>
|
|
51
|
+
),
|
|
52
|
+
],
|
|
53
|
+
} satisfies Meta<ButtonArgs>;
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
const BaseStory: Story = {
|
|
57
|
+
args: {},
|
|
58
|
+
render: (args) => <Button {...args}/>,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const PrimaryStory: Story = {
|
|
62
|
+
...BaseStory,
|
|
63
|
+
args: { ...BaseStory.args, variant: 'primary' },
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const PrimaryStandard: Story = {
|
|
67
|
+
...PrimaryStory,
|
|
68
|
+
name: 'Primary [standard]',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const PrimaryHover: Story = {
|
|
72
|
+
...PrimaryStory,
|
|
73
|
+
name: 'Primary [hover]',
|
|
74
|
+
args: { ...PrimaryStory.args, className: 'pseudo-hover' },
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const PrimaryFocus: Story = {
|
|
78
|
+
...PrimaryStory,
|
|
79
|
+
name: 'Primary [focus]',
|
|
80
|
+
args: { ...PrimaryStory.args, className: 'pseudo-focus-visible' },
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const PrimaryNonactive: Story = {
|
|
84
|
+
...PrimaryStory,
|
|
85
|
+
name: 'Primary [nonactive]',
|
|
86
|
+
args: { ...PrimaryStory.args, nonactive: true },
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const PrimaryDisabled: Story = {
|
|
90
|
+
...PrimaryStory,
|
|
91
|
+
name: 'Primary [disabled]',
|
|
92
|
+
args: { ...PrimaryStory.args, disabled: true },
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const Secondary: Story = {
|
|
96
|
+
...BaseStory,
|
|
97
|
+
name: 'Secondary [standard]',
|
|
98
|
+
args: { ...BaseStory.args, variant: 'secondary' },
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export const SecondaryHover: Story = {
|
|
102
|
+
...Secondary,
|
|
103
|
+
name: 'Secondary [hover]',
|
|
104
|
+
args: { ...Secondary.args, className: 'pseudo-hover' },
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export const SecondaryFocus: Story = {
|
|
108
|
+
...Secondary,
|
|
109
|
+
name: 'Secondary [focus]',
|
|
110
|
+
args: { ...Secondary.args, className: 'pseudo-focus-visible' },
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const SecondaryNonactive: Story = {
|
|
114
|
+
...Secondary,
|
|
115
|
+
name: 'Secondary [nonactive]',
|
|
116
|
+
args: { ...Secondary.args, nonactive: true },
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export const SecondaryDisabled: Story = {
|
|
120
|
+
...Secondary,
|
|
121
|
+
name: 'Secondary [disabled]',
|
|
122
|
+
args: { ...Secondary.args, disabled: true },
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export const Tertiary: Story = {
|
|
126
|
+
...BaseStory,
|
|
127
|
+
name: 'Tertiary [standard]',
|
|
128
|
+
args: { ...BaseStory.args, variant: 'tertiary' },
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export const TertiaryHover: Story = {
|
|
132
|
+
...Tertiary,
|
|
133
|
+
name: 'Tertiary [hover]',
|
|
134
|
+
args: { ...Tertiary.args, className: 'pseudo-hover' },
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const TertiaryFocus: Story = {
|
|
138
|
+
...Tertiary,
|
|
139
|
+
name: 'Tertiary [focus]',
|
|
140
|
+
args: { ...Tertiary.args, className: 'pseudo-focus-visible' },
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export const TertiaryNonactive: Story = {
|
|
144
|
+
...Tertiary,
|
|
145
|
+
name: 'Tertiary [nonactive]',
|
|
146
|
+
args: { ...Tertiary.args, nonactive: true },
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export const TertiaryDisabled: Story = {
|
|
150
|
+
...Tertiary,
|
|
151
|
+
name: 'Tertiary [disabled]',
|
|
152
|
+
args: { ...Tertiary.args, disabled: true },
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
export const AsyncButton: Story = {
|
|
156
|
+
...PrimaryStory,
|
|
157
|
+
args: {
|
|
158
|
+
...PrimaryStory.args,
|
|
159
|
+
label: 'Trigger async action',
|
|
160
|
+
async onPress() {
|
|
161
|
+
await delay(1000);
|
|
162
|
+
console.log('Done!');
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
// Note: an infinite `onPress` will cause all React transition to get stuck, due to batching behavior.
|
|
168
|
+
// Adding a timeout prevents the rest of the application getting stuck.
|
|
169
|
+
export const AsyncButtonInfinite: Story = {
|
|
170
|
+
...AsyncButton,
|
|
171
|
+
name: 'Async Button [timeout]',
|
|
172
|
+
args: {
|
|
173
|
+
...PrimaryStory.args,
|
|
174
|
+
label: 'Infinitely pending...',
|
|
175
|
+
async onPress() {
|
|
176
|
+
await new Promise(() => {}); // Infinite wait
|
|
177
|
+
},
|
|
178
|
+
asyncTimeout: 5000,
|
|
179
|
+
},
|
|
180
|
+
async play({ canvasElement }) {
|
|
181
|
+
const canvas = within(canvasElement);
|
|
182
|
+
const button = canvas.getByRole('button');
|
|
183
|
+
await userEvent.click(button);
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export const AsyncButtonFailure: Story = {
|
|
188
|
+
...AsyncButton,
|
|
189
|
+
name: 'Async Button [failure]',
|
|
190
|
+
args: {
|
|
191
|
+
...PrimaryStory.args,
|
|
192
|
+
label: 'Trigger failure',
|
|
193
|
+
async onPress() {
|
|
194
|
+
await delay(1000);
|
|
195
|
+
await new Promise((_, reject) => { reject(new Error('Something went wrong')); });
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
const Form = (props: React.ComponentPropsWithRef<'form'>) => {
|
|
201
|
+
const [error, submitAction, isPending] = React.useActionState(
|
|
202
|
+
async (previousState: unknown, formData: FormData) => {
|
|
203
|
+
const delay = (timeMs: number) => new Promise(resolve => window.setTimeout(resolve, timeMs));
|
|
204
|
+
await delay(2000);
|
|
205
|
+
//console.log([...formData.keys()]);
|
|
206
|
+
return null;
|
|
207
|
+
},
|
|
208
|
+
null,
|
|
209
|
+
);
|
|
210
|
+
|
|
211
|
+
return <form action={submitAction} {...props}/>;
|
|
212
|
+
};
|
|
213
|
+
export const FormActionButton: Story = {
|
|
214
|
+
...PrimaryStory,
|
|
215
|
+
args: {
|
|
216
|
+
...PrimaryStory.args,
|
|
217
|
+
label: 'Submit form',
|
|
218
|
+
onPress: undefined,
|
|
219
|
+
},
|
|
220
|
+
render: (args) => (
|
|
221
|
+
<Form>
|
|
222
|
+
<label>Name: <input type="text" name="name"/></label>
|
|
223
|
+
<Button {...args}/>
|
|
224
|
+
</Form>
|
|
225
|
+
),
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
export const CustomContent: Story = {
|
|
229
|
+
...PrimaryStory,
|
|
230
|
+
args: {
|
|
231
|
+
...PrimaryStory.args,
|
|
232
|
+
children: (
|
|
233
|
+
<span style={{ textDecoration: 'underline' }}>
|
|
234
|
+
Custom content
|
|
235
|
+
</span>
|
|
236
|
+
),
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
export const CustomContentWithIconBefore: Story = {
|
|
241
|
+
...PrimaryStory,
|
|
242
|
+
name: 'Custom Content – With icon (before)',
|
|
243
|
+
args: {
|
|
244
|
+
...PrimaryStory.args,
|
|
245
|
+
children: <>
|
|
246
|
+
<Icon icon="success" className="icon"/>
|
|
247
|
+
Button with icon
|
|
248
|
+
</>,
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
export const CustomContentWithIconAfter: Story = {
|
|
253
|
+
...PrimaryStory,
|
|
254
|
+
name: 'Custom Content – With icon (after)',
|
|
255
|
+
args: {
|
|
256
|
+
...PrimaryStory.args,
|
|
257
|
+
children: <>
|
|
258
|
+
Button with icon
|
|
259
|
+
<Icon icon="caret-down" className="icon"/>
|
|
260
|
+
</>,
|
|
261
|
+
},
|
|
262
|
+
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/* Copyright (c) Fortanix, Inc.
|
|
2
|
+
|* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
|
|
3
|
+
|* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
4
|
+
|
|
5
|
+
import { timeout } from '../../../util/time.ts';
|
|
6
|
+
|
|
7
|
+
import { classNames as cx, type ComponentProps } from '../../../util/componentUtil.ts';
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
|
|
10
|
+
import { Spinner } from '../../graphics/Spinner/Spinner.tsx';
|
|
11
|
+
|
|
12
|
+
import cl from './Button.module.scss';
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export const internalSubmitSymbol = Symbol('baklava.Button.internalSubmit');
|
|
16
|
+
|
|
17
|
+
export { cl as ButtonClassNames };
|
|
18
|
+
|
|
19
|
+
export type ButtonProps = React.PropsWithChildren<Omit<ComponentProps<'button'>, 'type'> & {
|
|
20
|
+
/** Whether this component should be unstyled. */
|
|
21
|
+
unstyled?: undefined | boolean,
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The label of the button. Additional UI elements may be added, e.g. a loading indicator. If full control over
|
|
25
|
+
* the button content is desired, use `children` instead, this overrides the `label`.
|
|
26
|
+
*/
|
|
27
|
+
label?: undefined | string,
|
|
28
|
+
|
|
29
|
+
/** What variant the button is, from higher prominance to lower. */
|
|
30
|
+
variant?: undefined | 'primary' | 'secondary' | 'tertiary',
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Whether the button is in "nonactive" state. This is a variant of `disabled`, but instead of completely graying
|
|
34
|
+
* out the button, it only becomes a muted variation of the button's appearance. When true, also implies `disabled`.
|
|
35
|
+
*/
|
|
36
|
+
nonactive?: undefined | boolean,
|
|
37
|
+
|
|
38
|
+
/** Time (in ms) after which async actions will trigger a failure */
|
|
39
|
+
asyncTimeout?: number,
|
|
40
|
+
|
|
41
|
+
/** Event handler for button press events. */
|
|
42
|
+
onPress?: undefined | (() => void | Promise<void>),
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Button component.
|
|
46
|
+
*/
|
|
47
|
+
export const Button = (props: ButtonProps) => {
|
|
48
|
+
const {
|
|
49
|
+
children,
|
|
50
|
+
unstyled = false,
|
|
51
|
+
label,
|
|
52
|
+
nonactive = false,
|
|
53
|
+
variant = 'tertiary',
|
|
54
|
+
onPress,
|
|
55
|
+
asyncTimeout = 30_000,
|
|
56
|
+
...propsRest
|
|
57
|
+
} = props;
|
|
58
|
+
|
|
59
|
+
const [isPressPending, startPressTransition] = React.useTransition();
|
|
60
|
+
|
|
61
|
+
const isPending = isPressPending;
|
|
62
|
+
const isInteractive = !propsRest.disabled && !nonactive && !isPending;
|
|
63
|
+
const isNonactive = nonactive || isPending;
|
|
64
|
+
|
|
65
|
+
const handlePress = React.useCallback(() => {
|
|
66
|
+
if (typeof onPress !== 'function') { return; }
|
|
67
|
+
|
|
68
|
+
startPressTransition(async () => {
|
|
69
|
+
await Promise.race([onPress(), timeout(asyncTimeout)]);
|
|
70
|
+
});
|
|
71
|
+
}, [onPress, asyncTimeout]);
|
|
72
|
+
|
|
73
|
+
const handleClick = React.useCallback(async (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
74
|
+
// `onClick` should not be used in most cases, only if the consumer needs low level control over click events.
|
|
75
|
+
// Instead, use `onPress` or a `<form>` component with `action`.
|
|
76
|
+
props.onClick?.(event); // Call this first, to allow cancellation
|
|
77
|
+
|
|
78
|
+
if (!isInteractive) { return; }
|
|
79
|
+
|
|
80
|
+
if (typeof onPress === 'function') {
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
handlePress();
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Fallback: trigger default browser action (e.g. form submit)
|
|
86
|
+
}, [props.onClick, isInteractive, onPress, handlePress]);
|
|
87
|
+
|
|
88
|
+
const renderContent = (): React.ReactNode => {
|
|
89
|
+
// If `children` is specified, that overrides the button content
|
|
90
|
+
if (children) {
|
|
91
|
+
return children;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<>
|
|
96
|
+
{isPending && <Spinner className="icon" inline/>}
|
|
97
|
+
{label}
|
|
98
|
+
</>
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// We do not support `type="submit"`, because we want to prevent accidental form submission without a proper form
|
|
103
|
+
// context. Use `SubmitButton` instead.
|
|
104
|
+
// biome-ignore lint/suspicious/noExplicitAny: `type` is not in the public type but can be there for internal use
|
|
105
|
+
const type: unknown = (propsRest as any).type;
|
|
106
|
+
let buttonType: undefined | 'submit' = undefined;
|
|
107
|
+
|
|
108
|
+
if (type === 'submit') {
|
|
109
|
+
throw new Error(`Button component cannot have type 'submit', use SubmitButton instead.`);
|
|
110
|
+
}
|
|
111
|
+
if (type === internalSubmitSymbol) { // Internal use only
|
|
112
|
+
buttonType = 'submit';
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return (
|
|
116
|
+
<button
|
|
117
|
+
{...propsRest}
|
|
118
|
+
type={buttonType} // Not overridable
|
|
119
|
+
disabled={!isInteractive}
|
|
120
|
+
className={cx({
|
|
121
|
+
bk: true,
|
|
122
|
+
[cl['bk-button']]: !unstyled,
|
|
123
|
+
[cl['bk-button--primary']]: variant === 'primary',
|
|
124
|
+
[cl['bk-button--secondary']]: variant === 'secondary',
|
|
125
|
+
[cl['bk-button--nonactive']]: isNonactive,
|
|
126
|
+
[cl['bk-button--disabled']]: !isInteractive,
|
|
127
|
+
}, props.className)}
|
|
128
|
+
onClick={handleClick}
|
|
129
|
+
>
|
|
130
|
+
{renderContent()}
|
|
131
|
+
</button>
|
|
132
|
+
);
|
|
133
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* Copyright (c) Fortanix, Inc.
|
|
2
|
+
|* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
|
|
3
|
+
|* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
4
|
+
|
|
5
|
+
@use '../../../styling/defs.scss' as bk;
|
|
6
|
+
|
|
7
|
+
@layer baklava.components {
|
|
8
|
+
.bk-button-as-link {
|
|
9
|
+
/* appearance: none; */
|
|
10
|
+
/* -webkit-appearance: none; */
|
|
11
|
+
vertical-align: bottom; /* Buttons by default seem to have `vertical-align: baseline`, even with reset */
|
|
12
|
+
}
|
|
13
|
+
}
|