diff --git a/.github/workflows/icons-lib.yml b/.github/workflows/icons-lib.yml index 9fc127238b1..043b08f73ab 100644 --- a/.github/workflows/icons-lib.yml +++ b/.github/workflows/icons-lib.yml @@ -26,6 +26,8 @@ jobs: runs-on: ubuntu-latest + timeout-minutes: 60 + steps: - name: Git checkout uses: actions/checkout@v4 @@ -76,6 +78,8 @@ jobs: runs-on: macos-latest + timeout-minutes: 60 + steps: - name: Git checkout uses: actions/checkout@v4 diff --git a/packages/dnb-design-system-portal/package.json b/packages/dnb-design-system-portal/package.json index 5c56b7a70d5..d72675ae884 100644 --- a/packages/dnb-design-system-portal/package.json +++ b/packages/dnb-design-system-portal/package.json @@ -80,7 +80,7 @@ "gatsby-plugin-babel-react-live": "1.4.2", "gatsby-plugin-catch-links": "5.12.0", "gatsby-plugin-emotion": "8.12.0", - "gatsby-plugin-eufemia-theme-handler": "1.7.0", + "gatsby-plugin-eufemia-theme-handler": "1.8.0", "gatsby-plugin-gatsby-cloud": "5.12.0", "gatsby-plugin-manifest": "5.12.0", "gatsby-plugin-mdx": "5.12.0", diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/Examples.tsx index 807d2c6c8ff..6cacec732ed 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/Examples.tsx @@ -103,7 +103,7 @@ export const AnchorExampleHelperClasses = () => ( No underline - + ( ) +export const AnchorExampleHelperContrastVariations = () => ( + + + + + + Contrast - no hover + + + + + + + Contrast - no radius + + + + + + + Contrast - no underline + + + + + + + Contrast - no underline - no hover + + + + + + + Contrast - no underline - no radius + + + + + +) export const AnchorExampleIcons = () => ( diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/demos.mdx b/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/demos.mdx index 0aba8224129..dc85308c524 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/demos.mdx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/anchor/demos.mdx @@ -14,6 +14,7 @@ import { AnchorSbankenGoto, AnchorSbankenInline, AnchorLegacyUsage, + AnchorExampleHelperContrastVariations, } from 'Docs/uilib/components/anchor/Examples' @@ -81,4 +82,5 @@ Unless the href contains `:mailto`, `:tel` or `:sms`. + diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.tsx index e2666749749..f1e5ff9c8df 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/autocomplete/Examples.tsx @@ -30,7 +30,7 @@ const Wrapper = styled.div` export const AutocompleteDefaultExample = () => ( - + ) @@ -43,7 +43,7 @@ export const AutocompleteStatusExample = () => ( > ( @@ -83,7 +83,7 @@ export const AutocompleteWithCustomTitle = () => ( data={topMovies} keep_value={true} show_clear_button={true} - label="Label:" + label="Label" placeholder="Custom placeholder ..." on_change={({ data }) => { console.log('on_change', data) @@ -179,7 +179,7 @@ export const AutocompleteToggleExample = () => ( scope={{ topMovies }} > { @@ -199,7 +199,7 @@ export const AutocompletePredefinedInput = () => ( scope={{ topMovies }} > { @@ -220,16 +220,12 @@ export const AutocompleteDifferentSizes = () => ( > topMovies} /> - topMovies} - /> - topMovies} /> + topMovies} /> + topMovies} /> @@ -266,20 +262,20 @@ export const AutocompleteCustomWidth = () => ( return ( { hideCode > { right="large" /> ( show_submit_button data={topMovies} value={1} - label="Label:" + label="Label" bottom />
@@ -539,7 +535,7 @@ export const AutocompleteDisabledExample = () => ( show_submit_button data={topMovies} value={1} - label="Label:" + label="Label" suffix="Suffix" size="large" /> @@ -566,7 +562,7 @@ export const AutocompleteContentAsArrayExample = () => ( ], }, ]} - label="Label:" + label="Label" /> @@ -589,7 +585,7 @@ export const AutocompleteContentAsFragmentExample = () => ( ), }, ]} - label="Label:" + label="Label" /> @@ -605,7 +601,7 @@ export const AutocompleteContentDecoupledExample = () => ( search_content: ['your search content'], }, ]} - label="Label:" + label="Label" /> diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/avatar/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/avatar/Examples.tsx index 9d1eb78ce34..accef4205ec 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/avatar/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/avatar/Examples.tsx @@ -13,7 +13,7 @@ import { Avatar, Icon, Logo } from '@dnb/eufemia/src' export const AvatarSizeDefault = () => ( - + Ola Nordmann @@ -22,7 +22,7 @@ export const AvatarSizeDefault = () => ( export const AvatarSizeSmall = () => ( Text{' '} - + Duck {' '} Text @@ -31,7 +31,7 @@ export const AvatarSizeSmall = () => ( export const AvatarSizeMedium = () => ( - + NFLX @@ -39,7 +39,7 @@ export const AvatarSizeMedium = () => ( export const AvatarSizeLarge = () => ( - + Amazon @@ -47,7 +47,7 @@ export const AvatarSizeLarge = () => ( export const AvatarSizeXLarge = () => ( - + Friends @@ -55,7 +55,7 @@ export const AvatarSizeXLarge = () => ( export const AvatarVariantDefault = () => ( - + Kleiner münsterländer @@ -63,7 +63,7 @@ export const AvatarVariantDefault = () => ( export const AvatarVariantPrimary = () => ( - + Oslo @@ -71,7 +71,7 @@ export const AvatarVariantPrimary = () => ( export const AvatarVariantSecondary = () => ( - + Spain @@ -79,7 +79,7 @@ export const AvatarVariantSecondary = () => ( export const AvatarVariantTertiary = () => ( - + Tesla @@ -91,7 +91,7 @@ export const AvatarConfettiIcon = () => ( scope={{ Confetti }} data-visual-test="avatar-children-icon-primary" > - + @@ -105,7 +105,7 @@ export const AvatarCardIcon = () => ( scope={{ Card }} data-visual-test="avatar-children-icon-secondary" > - + @@ -119,7 +119,7 @@ export const AvatarAccountCardIcon = () => ( scope={{ AccountCard }} data-visual-test="avatar-children-icon-tertiary" > - + @@ -129,7 +129,7 @@ export const AvatarAccountCardIcon = () => ( export const AvatarDNBLogo = () => ( - + @@ -139,7 +139,7 @@ export const AvatarDNBLogo = () => ( export const AvatarImageDNB = () => ( - + ( export const AvatarImagePinnedTab = () => ( - + ( export const AvatarImageTobias = () => ( - + ( export const AvatarImageProps = () => ( - + ( Text{' '} ( export const GroupedAvatarsMedium = () => ( - + Anders Bjørnar Cathrine @@ -228,7 +228,7 @@ export const GroupedAvatarsMedium = () => ( export const GroupedAvatarsLarge = () => ( ( export const GroupedAvatarsXLarge = () => ( ( export const GroupedAvatarsImg = () => ( diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/badge/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/badge/Examples.tsx index 619a1001042..a27e24d68d4 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/badge/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/badge/Examples.tsx @@ -12,7 +12,7 @@ import { Badge, Avatar, Icon, Img } from '@dnb/eufemia/src' export const BadgeNotification = () => ( - + ) @@ -23,7 +23,7 @@ export const BadgeNotificationInline = () => ( >
Text{' '} - {' '} + {' '} Text
@@ -34,8 +34,8 @@ export const BadgeNotificationAvatar = () => ( hideCode data-visual-test="badge-variant-notification-avatar" > - - + + A @@ -65,7 +65,7 @@ export const BadgeInformationAvatar = () => ( data-visual-test="badge-variant-information-avatar" > - + A @@ -78,12 +78,12 @@ export const BadgeTopLeft = () => ( - + A @@ -94,12 +94,12 @@ export const BadgeTopRight = () => ( - + A @@ -110,12 +110,12 @@ export const BadgeBottomLeft = () => ( - + A @@ -126,12 +126,12 @@ export const BadgeBottomRight = () => ( - + A @@ -148,7 +148,7 @@ export const BadgeMailIcon = () => ( > ( export const CheckboxChecked = () => ( console.log(checked)} diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/Examples.tsx index 2fa81d65279..0a97bcec310 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/Examples.tsx @@ -37,7 +37,7 @@ export const DatePickerRange = () => ( }} > ( export const DatePickerWithInput = () => ( ( { @@ -121,7 +121,7 @@ export const DatePickerTrigger = () => ( export const DatePickerHiddenNav = () => ( ( export const DatePickerMonthOnly = () => ( ( export const DatePickerStatusMessage = () => ( ( export const DatePickerSuffix = () => ( Modal content} @@ -176,7 +176,7 @@ export const DatePickerSuffix = () => ( export const DatePickerLinked = () => ( - + ) @@ -185,7 +185,7 @@ export const DatePickerNoInputStatus = () => ( ( ( export const DatePickerErrorStatus = () => ( { diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/events.mdx b/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/events.mdx index 4f0805c9feb..7d53fbeaa59 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/events.mdx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/date-picker/events.mdx @@ -16,6 +16,7 @@ import { DatePickerDateFnsRangeIsWeekend } from 'Docs/uilib/components/date-pick | `on_show` | _(optional)_ will be called once date-picker is visible. | | `on_hide` | _(optional)_ will be called once date-picker is hidden. | | `on_days_render` | _(optional)_ will be called right before every new calendar view gets rendered. See the example above. | +| `onBlur` | _(optional)_ will be called once the input lose focus. | ## Returned Object diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/dialog/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/dialog/Examples.tsx index 055954464fc..319bf43f707 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/dialog/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/dialog/Examples.tsx @@ -90,7 +90,7 @@ export const DialogExampleDelayClose = () => ( >

This is a Dialog with no close button.

Click outside me, and I will be closed within 1 second.

- + Focus me with Tab key diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/Examples.tsx index 3a13e2bd654..ed68e4e32ab 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/dropdown/Examples.tsx @@ -142,7 +142,7 @@ export const DropdownFind = () => ( ) }} @@ -198,7 +198,7 @@ export const DropdownNoValue = () => ( return ( { console.log('on_change', data) @@ -216,7 +216,7 @@ export const DropdownEllipsisOverflow = () => (
@@ -242,7 +242,7 @@ export const DropdownDirections = () => { data-visual-test="dropdown-item-directions" > @@ -270,7 +270,7 @@ export const DropdownIconLeft = () => ( { export const DropdownDisabled = () => ( - + ) @@ -495,7 +495,7 @@ export const DropdownCustomEvent = () => { ({ first: ( @@ -528,9 +528,9 @@ export const DropdownSizes = () => ( - data} /> - data} /> - data} /> + data} /> + data} /> + data} /> @@ -575,19 +575,19 @@ export const DropdownCustomWidth = () => ( return ( ( > diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/Examples.tsx index a76fe50ebde..6a176de3bbd 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/Examples.tsx @@ -9,7 +9,7 @@ import { FormLabel, Checkbox, Switch } from '@dnb/eufemia/src' export const Default = () => ( - Default horizontal FormLabel: + Default horizontal FormLabel ) @@ -17,7 +17,7 @@ export const Default = () => ( export const Vertical = () => ( - Vertical FormLabel: + Vertical FormLabel @@ -25,7 +25,7 @@ export const Vertical = () => ( export const NoForId = () => ( - Without for_id (select me): + Without for_id (select me) ) diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/info.mdx b/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/info.mdx index d4e24ec8b59..55644326658 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/info.mdx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/form-label/info.mdx @@ -5,3 +5,7 @@ showTabs: true ## Description The FormLabel component represents a caption for all sorts of HTML elements in a user interface. + +### Colon character + +DNB UX has chosen to not use colon on the end of form element labels. For consistency throughout our websites, please avoid using them. diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/form-status/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/form-status/Examples.tsx index 95cd7eb6ad1..c025be59030 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/form-status/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/form-status/Examples.tsx @@ -66,7 +66,7 @@ export const FormStatusWithMarketing = () => ( export const FormStatusInput = () => ( @@ -87,7 +87,7 @@ export const FormStatusAnimation = () => ( return ( ( return ( } status_state="info" value="Input value" diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/global-status/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/global-status/Examples.tsx index d5f352a6d9b..5f4564cdb0d 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/global-status/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/global-status/Examples.tsx @@ -88,7 +88,7 @@ export const GlobalStatusCoupling = () => ( const [errorMessage, setErrorMessage] = React.useState(null) return ( ( ( /> ( ( }} /> ( }} /> ( { @@ -74,7 +74,7 @@ export const InputMaskedExampleCurrencyLocale = () => ( }} > { @@ -94,7 +94,7 @@ export const InputMaskedExampleCurrencyMask = () => ( { @@ -102,7 +102,7 @@ export const InputMaskedExampleCurrencyMask = () => ( }} /> ( ( ( ( diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/input/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/input/Examples.tsx index 2bf1740e667..7920f551c83 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/input/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/input/Examples.tsx @@ -32,7 +32,7 @@ const Wrapper = styled.div` export const InputExampleDefault = () => ( - + ) @@ -41,7 +41,7 @@ export const InputExampleSearch = () => ( { @@ -75,14 +75,14 @@ export const InputExampleWithIcon = () => ( ( @@ -116,14 +116,14 @@ export const InputExampleFormStatus = () => (
( ( ( console.log(event) }} > - Label: + Label ( data-visual-test="input-password" > { console.log('on_change:', value) diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/radio/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/radio/Examples.tsx index 19691ca6af4..03b3ddeb080 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/radio/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/radio/Examples.tsx @@ -11,7 +11,7 @@ import { FieldBlock } from '@dnb/eufemia/src/extensions/forms' export const RadioExampleDefault = () => ( { console.log('on_change', value) }} @@ -27,7 +27,7 @@ export const RadioExampleDefault = () => ( export const RadioExampleVerticalGroup = () => ( { console.log('on_change', value) @@ -44,7 +44,7 @@ export const RadioExampleLabelAbove = () => ( { console.log('on_change', value) @@ -60,7 +60,7 @@ export const RadioExampleLabelAbove = () => ( export const RadioExampleGroupStatus = () => ( { console.log('on_change', value) @@ -81,7 +81,7 @@ export const RadioExampleGroupStatus = () => ( export const RadioExampleWithoutGroup = () => ( - + ( export const RadioExampleDisabled = () => ( ( export const RadioExampleSuffix = () => ( - + ( min={0} max={100} value={70} - label="Default Slider:" + label="Default Slider" numberFormat={{ currency: 'EUR' }} tooltip={true} onChange={({ value }) => console.log('onChange:', value)} @@ -33,7 +33,7 @@ export const SliderExampleMultiButtons = () => ( max={100} value={[30, 70]} step={5} - label="Range with steps:" + label="Range with steps" numberFormat={{ currency: 'USD' }} tooltip onChange={({ value }) => console.log('onChange:', value)} @@ -42,7 +42,7 @@ export const SliderExampleMultiButtons = () => ( min={0} max={100} value={[10, 30, 50, 70]} - label="Multi thumbs:" + label="Multi thumbs" numberFormat={(value) => format(value, { percent: true, decimals: 0 }) } @@ -63,7 +63,7 @@ export const SliderExampleMultiButtonsThumbBehavior = () => ( console.log('onChange:', value)} @@ -73,7 +73,7 @@ export const SliderExampleMultiButtonsThumbBehavior = () => ( min={-40} value={[-10, 50, 70]} step={1} - label="Push behavior:" + label="Push behavior" numberFormat={{ currency: true }} tooltip={true} onChange={({ value, number }) => @@ -96,7 +96,7 @@ export const SliderExampleHorizontalSync = () => ( value={value} step={1} hideButtons - label="Slider A:" + label="Slider A" numberFormat={{ currency: 'EUR' }} tooltip={true} onChange={({ value }) => setValue(parseFloat(String(value)))} @@ -107,7 +107,7 @@ export const SliderExampleHorizontalSync = () => ( vertical={true} hideButtons={true} step={10} - label="Slider B:" + label="Slider B" labelDirection="vertical" numberFormat={(value) => format(value, { currency: 'NOK' }) @@ -152,7 +152,7 @@ export const SliderExampleSuffix = () => ( min={0} max={100} value={70} - label="Slider with suffix:" + label="Slider with suffix" suffix={Modal content} /> @@ -174,7 +174,7 @@ export const SliderVerticalWithSteps = () => ( value={20} step={10} vertical={true} - label="Vertical slider:" + label="Vertical slider" labelDirection="vertical" onChange={({ value }) => console.log('onChange:', value)} /> diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/switch/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/switch/Examples.tsx index aa9fbbf195a..b38a9ecde58 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/switch/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/switch/Examples.tsx @@ -19,7 +19,7 @@ export const SwitchExampleDefault = () => ( export const SwitchExampleChecked = () => ( console.log(checked)} diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/tabs/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/tabs/Examples.tsx index 9a4b162e488..f54395a153e 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/tabs/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/tabs/Examples.tsx @@ -287,7 +287,7 @@ export const TabsExampleReachRouterNavigation = () => const exampleContent = { first: () =>

First

, - second: () => Focus me with next Tab key, + second: () => Focus me with next Tab key, third: () => ( <>

Paragraph 1

diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/tag/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/tag/Examples.tsx index d6cb95aad30..3848b16eadf 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/tag/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/tag/Examples.tsx @@ -14,7 +14,7 @@ import { Tag } from '@dnb/eufemia/src' export const TagDefault = () => ( - + Digipost AvtaleGiro @@ -26,7 +26,7 @@ export const TagWithIcon = () => ( data-visual-test="tag-icon" scope={{ EInvoice, AInvoice, DigiPost }} > - + @@ -36,7 +36,7 @@ export const TagWithIcon = () => ( export const TagRemovable = () => ( - + { @@ -50,7 +50,7 @@ export const TagRemovable = () => ( export const TagInline = () => ( Text{' '} - + between @@ -78,7 +78,7 @@ export const TagMultipleRemovable = () => ( } return ( - + {tagData.map((tag) => { return ( ( export const TagSkeleton = () => ( - + diff --git a/packages/dnb-design-system-portal/src/docs/uilib/components/textarea/Examples.tsx b/packages/dnb-design-system-portal/src/docs/uilib/components/textarea/Examples.tsx index ed82b00442d..fe741678329 100644 --- a/packages/dnb-design-system-portal/src/docs/uilib/components/textarea/Examples.tsx +++ b/packages/dnb-design-system-portal/src/docs/uilib/components/textarea/Examples.tsx @@ -12,7 +12,7 @@ export const TextareaExampleRowsCols = () => (