@transferwise/components 0.0.0-experimental-39e6a5b → 0.0.0-experimental-71a6c2e

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.
@@ -36,6 +36,7 @@ const ActionOption = ({
36
36
  media,
37
37
  title,
38
38
  content,
39
+ additionalContent,
39
40
  complex,
40
41
  className,
41
42
  showMediaAtAllSizes,
@@ -54,6 +55,7 @@ const ActionOption = ({
54
55
  showMediaCircle,
55
56
  className: clsx.clsx('tw-action-option', className),
56
57
  isContainerAligned,
58
+ additionalContent,
57
59
  as
58
60
  };
59
61
  const getAriaLabel = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ActionOption.js","sources":["../../src/actionOption/ActionOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Button from '../button';\nimport {\n AriaLabelProperty,\n CommonProps,\n Priority,\n PriorityPrimary,\n PrioritySecondary,\n PriorityTertiary,\n} from '../common';\nimport Option from '../common/Option';\nimport { ButtonPriority } from '../button/Button.types';\n\ntype ActionOptionPriority =\n | PriorityPrimary\n | PrioritySecondary\n | PriorityTertiary\n | 'secondary-send';\n\nexport type ActionOptionProps = {\n complex?: boolean;\n content?: React.ReactNode;\n disabled?: boolean;\n media?: React.ReactNode;\n showMediaAtAllSizes?: boolean;\n onClick: () => void;\n title: React.ReactNode;\n action: React.ReactNode;\n priority?: ActionOptionPriority;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n as?: React.ElementType;\n} & CommonProps &\n AriaLabelProperty;\n\nconst ActionOption = ({\n action,\n priority = Priority.PRIMARY,\n disabled,\n onClick,\n media,\n title,\n content,\n complex,\n className,\n showMediaAtAllSizes,\n showMediaCircle,\n isContainerAligned,\n as,\n 'aria-label': ariaLabel,\n}: ActionOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaAtAllSizes,\n showMediaCircle,\n className: clsx('tw-action-option', className),\n isContainerAligned,\n as,\n };\n\n const getAriaLabel = (): string | undefined => {\n if (ariaLabel) {\n return ariaLabel;\n }\n\n const generatedLabels: string[] = [];\n\n if (typeof title === 'string') {\n generatedLabels.push(title);\n }\n\n if (typeof action === 'string') {\n generatedLabels.push(action);\n }\n\n return generatedLabels.join(', ') || undefined;\n };\n\n const mapPriority = (priority: ActionOptionPriority): ButtonPriority => {\n switch (priority) {\n case 'primary':\n return 'primary';\n case 'secondary':\n return 'secondary-neutral';\n case 'tertiary':\n return 'tertiary';\n case 'secondary-send':\n return 'secondary';\n default:\n return 'primary';\n }\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <Button\n v2\n size=\"sm\"\n priority={mapPriority(priority)}\n disabled={disabled}\n aria-label={getAriaLabel()}\n onClick={onClick}\n >\n {action}\n </Button>\n }\n />\n );\n};\n\nexport default ActionOption;\n"],"names":["ActionOption","action","priority","Priority","PRIMARY","disabled","onClick","media","title","content","complex","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","as","ariaLabel","sharedProps","clsx","getAriaLabel","generatedLabels","push","join","undefined","mapPriority","_jsx","Option","button","Button","v2","size","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCMA,MAAAA,YAAY,GAAGA,CAAC;EACpBC,MAAM;EACNC,QAAQ,GAAGC,gBAAQ,CAACC,OAAO;EAC3BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,OAAO;EACPC,SAAS;EACTC,mBAAmB;EACnBC,eAAe;EACfC,kBAAkB;EAClBC,EAAE;AACF,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACL,KAAI;AACtB,EAAA,MAAMC,WAAW,GAAG;IAClBV,KAAK;IACLC,KAAK;IACLC,OAAO;IACPC,OAAO;IACPL,QAAQ;IACRO,mBAAmB;IACnBC,eAAe;AACfF,IAAAA,SAAS,EAAEO,SAAI,CAAC,kBAAkB,EAAEP,SAAS,CAAC;IAC9CG,kBAAkB;AAClBC,IAAAA,EAAAA;GACD,CAAA;EAED,MAAMI,YAAY,GAAGA,MAAyB;AAC5C,IAAA,IAAIH,SAAS,EAAE;AACb,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAA;IAEA,MAAMI,eAAe,GAAa,EAAE,CAAA;AAEpC,IAAA,IAAI,OAAOZ,KAAK,KAAK,QAAQ,EAAE;AAC7BY,MAAAA,eAAe,CAACC,IAAI,CAACb,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAI,OAAOP,MAAM,KAAK,QAAQ,EAAE;AAC9BmB,MAAAA,eAAe,CAACC,IAAI,CAACpB,MAAM,CAAC,CAAA;AAC9B,KAAA;AAEA,IAAA,OAAOmB,eAAe,CAACE,IAAI,CAAC,IAAI,CAAC,IAAIC,SAAS,CAAA;GAC/C,CAAA;EAED,MAAMC,WAAW,GAAItB,QAA8B,IAAoB;AACrE,IAAA,QAAQA,QAAQ;AACd,MAAA,KAAK,SAAS;AACZ,QAAA,OAAO,SAAS,CAAA;AAClB,MAAA,KAAK,WAAW;AACd,QAAA,OAAO,mBAAmB,CAAA;AAC5B,MAAA,KAAK,UAAU;AACb,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,gBAAgB;AACnB,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA;AACE,QAAA,OAAO,SAAS,CAAA;AACpB,KAAA;GACD,CAAA;EAED,oBACEuB,cAAA,CAACC,MAAM,EAAA;AAAA,IAAA,GACDT,WAAW;IACfU,MAAM,eACJF,cAAA,CAACG,eAAM,EAAA;MACLC,EAAE,EAAA,IAAA;AACFC,MAAAA,IAAI,EAAC,IAAI;AACT5B,MAAAA,QAAQ,EAAEsB,WAAW,CAACtB,QAAQ,CAAE;AAChCG,MAAAA,QAAQ,EAAEA,QAAS;MACnB,YAAYc,EAAAA,YAAY,EAAG;AAC3Bb,MAAAA,OAAO,EAAEA,OAAQ;AAAAyB,MAAAA,QAAA,EAEhB9B,MAAAA;KACK,CAAA;AACT,GAAA,CACD,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"ActionOption.js","sources":["../../src/actionOption/ActionOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Button from '../button';\nimport {\n AriaLabelProperty,\n CommonProps,\n Priority,\n PriorityPrimary,\n PrioritySecondary,\n PriorityTertiary,\n} from '../common';\nimport Option from '../common/Option';\nimport { ButtonPriority } from '../button/Button.types';\n\ntype ActionOptionPriority =\n | PriorityPrimary\n | PrioritySecondary\n | PriorityTertiary\n | 'secondary-send';\n\nexport type ActionOptionProps = {\n complex?: boolean;\n content?: React.ReactNode;\n disabled?: boolean;\n media?: React.ReactNode;\n showMediaAtAllSizes?: boolean;\n onClick: () => void;\n title: React.ReactNode;\n additionalContent?: React.ReactNode;\n action: React.ReactNode;\n priority?: ActionOptionPriority;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n as?: React.ElementType;\n} & CommonProps &\n AriaLabelProperty;\n\nconst ActionOption = ({\n action,\n priority = Priority.PRIMARY,\n disabled,\n onClick,\n media,\n title,\n content,\n additionalContent,\n complex,\n className,\n showMediaAtAllSizes,\n showMediaCircle,\n isContainerAligned,\n as,\n 'aria-label': ariaLabel,\n}: ActionOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaAtAllSizes,\n showMediaCircle,\n className: clsx('tw-action-option', className),\n isContainerAligned,\n additionalContent,\n as,\n };\n\n const getAriaLabel = (): string | undefined => {\n if (ariaLabel) {\n return ariaLabel;\n }\n\n const generatedLabels: string[] = [];\n\n if (typeof title === 'string') {\n generatedLabels.push(title);\n }\n\n if (typeof action === 'string') {\n generatedLabels.push(action);\n }\n\n return generatedLabels.join(', ') || undefined;\n };\n\n const mapPriority = (priority: ActionOptionPriority): ButtonPriority => {\n switch (priority) {\n case 'primary':\n return 'primary';\n case 'secondary':\n return 'secondary-neutral';\n case 'tertiary':\n return 'tertiary';\n case 'secondary-send':\n return 'secondary';\n default:\n return 'primary';\n }\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <Button\n v2\n size=\"sm\"\n priority={mapPriority(priority)}\n disabled={disabled}\n aria-label={getAriaLabel()}\n onClick={onClick}\n >\n {action}\n </Button>\n }\n />\n );\n};\n\nexport default ActionOption;\n"],"names":["ActionOption","action","priority","Priority","PRIMARY","disabled","onClick","media","title","content","additionalContent","complex","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","as","ariaLabel","sharedProps","clsx","getAriaLabel","generatedLabels","push","join","undefined","mapPriority","_jsx","Option","button","Button","v2","size","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCMA,MAAAA,YAAY,GAAGA,CAAC;EACpBC,MAAM;EACNC,QAAQ,GAAGC,gBAAQ,CAACC,OAAO;EAC3BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,iBAAiB;EACjBC,OAAO;EACPC,SAAS;EACTC,mBAAmB;EACnBC,eAAe;EACfC,kBAAkB;EAClBC,EAAE;AACF,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACL,KAAI;AACtB,EAAA,MAAMC,WAAW,GAAG;IAClBX,KAAK;IACLC,KAAK;IACLC,OAAO;IACPE,OAAO;IACPN,QAAQ;IACRQ,mBAAmB;IACnBC,eAAe;AACfF,IAAAA,SAAS,EAAEO,SAAI,CAAC,kBAAkB,EAAEP,SAAS,CAAC;IAC9CG,kBAAkB;IAClBL,iBAAiB;AACjBM,IAAAA,EAAAA;GACD,CAAA;EAED,MAAMI,YAAY,GAAGA,MAAyB;AAC5C,IAAA,IAAIH,SAAS,EAAE;AACb,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAA;IAEA,MAAMI,eAAe,GAAa,EAAE,CAAA;AAEpC,IAAA,IAAI,OAAOb,KAAK,KAAK,QAAQ,EAAE;AAC7Ba,MAAAA,eAAe,CAACC,IAAI,CAACd,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAI,OAAOP,MAAM,KAAK,QAAQ,EAAE;AAC9BoB,MAAAA,eAAe,CAACC,IAAI,CAACrB,MAAM,CAAC,CAAA;AAC9B,KAAA;AAEA,IAAA,OAAOoB,eAAe,CAACE,IAAI,CAAC,IAAI,CAAC,IAAIC,SAAS,CAAA;GAC/C,CAAA;EAED,MAAMC,WAAW,GAAIvB,QAA8B,IAAoB;AACrE,IAAA,QAAQA,QAAQ;AACd,MAAA,KAAK,SAAS;AACZ,QAAA,OAAO,SAAS,CAAA;AAClB,MAAA,KAAK,WAAW;AACd,QAAA,OAAO,mBAAmB,CAAA;AAC5B,MAAA,KAAK,UAAU;AACb,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,gBAAgB;AACnB,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA;AACE,QAAA,OAAO,SAAS,CAAA;AACpB,KAAA;GACD,CAAA;EAED,oBACEwB,cAAA,CAACC,MAAM,EAAA;AAAA,IAAA,GACDT,WAAW;IACfU,MAAM,eACJF,cAAA,CAACG,eAAM,EAAA;MACLC,EAAE,EAAA,IAAA;AACFC,MAAAA,IAAI,EAAC,IAAI;AACT7B,MAAAA,QAAQ,EAAEuB,WAAW,CAACvB,QAAQ,CAAE;AAChCG,MAAAA,QAAQ,EAAEA,QAAS;MACnB,YAAYe,EAAAA,YAAY,EAAG;AAC3Bd,MAAAA,OAAO,EAAEA,OAAQ;AAAA0B,MAAAA,QAAA,EAEhB/B,MAAAA;KACK,CAAA;AACT,GAAA,CACD,CAAA;AAEN;;;;"}
@@ -34,6 +34,7 @@ const ActionOption = ({
34
34
  media,
35
35
  title,
36
36
  content,
37
+ additionalContent,
37
38
  complex,
38
39
  className,
39
40
  showMediaAtAllSizes,
@@ -52,6 +53,7 @@ const ActionOption = ({
52
53
  showMediaCircle,
53
54
  className: clsx('tw-action-option', className),
54
55
  isContainerAligned,
56
+ additionalContent,
55
57
  as
56
58
  };
57
59
  const getAriaLabel = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ActionOption.mjs","sources":["../../src/actionOption/ActionOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Button from '../button';\nimport {\n AriaLabelProperty,\n CommonProps,\n Priority,\n PriorityPrimary,\n PrioritySecondary,\n PriorityTertiary,\n} from '../common';\nimport Option from '../common/Option';\nimport { ButtonPriority } from '../button/Button.types';\n\ntype ActionOptionPriority =\n | PriorityPrimary\n | PrioritySecondary\n | PriorityTertiary\n | 'secondary-send';\n\nexport type ActionOptionProps = {\n complex?: boolean;\n content?: React.ReactNode;\n disabled?: boolean;\n media?: React.ReactNode;\n showMediaAtAllSizes?: boolean;\n onClick: () => void;\n title: React.ReactNode;\n action: React.ReactNode;\n priority?: ActionOptionPriority;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n as?: React.ElementType;\n} & CommonProps &\n AriaLabelProperty;\n\nconst ActionOption = ({\n action,\n priority = Priority.PRIMARY,\n disabled,\n onClick,\n media,\n title,\n content,\n complex,\n className,\n showMediaAtAllSizes,\n showMediaCircle,\n isContainerAligned,\n as,\n 'aria-label': ariaLabel,\n}: ActionOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaAtAllSizes,\n showMediaCircle,\n className: clsx('tw-action-option', className),\n isContainerAligned,\n as,\n };\n\n const getAriaLabel = (): string | undefined => {\n if (ariaLabel) {\n return ariaLabel;\n }\n\n const generatedLabels: string[] = [];\n\n if (typeof title === 'string') {\n generatedLabels.push(title);\n }\n\n if (typeof action === 'string') {\n generatedLabels.push(action);\n }\n\n return generatedLabels.join(', ') || undefined;\n };\n\n const mapPriority = (priority: ActionOptionPriority): ButtonPriority => {\n switch (priority) {\n case 'primary':\n return 'primary';\n case 'secondary':\n return 'secondary-neutral';\n case 'tertiary':\n return 'tertiary';\n case 'secondary-send':\n return 'secondary';\n default:\n return 'primary';\n }\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <Button\n v2\n size=\"sm\"\n priority={mapPriority(priority)}\n disabled={disabled}\n aria-label={getAriaLabel()}\n onClick={onClick}\n >\n {action}\n </Button>\n }\n />\n );\n};\n\nexport default ActionOption;\n"],"names":["ActionOption","action","priority","Priority","PRIMARY","disabled","onClick","media","title","content","complex","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","as","ariaLabel","sharedProps","clsx","getAriaLabel","generatedLabels","push","join","undefined","mapPriority","_jsx","Option","button","Button","v2","size","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCMA,MAAAA,YAAY,GAAGA,CAAC;EACpBC,MAAM;EACNC,QAAQ,GAAGC,QAAQ,CAACC,OAAO;EAC3BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,OAAO;EACPC,SAAS;EACTC,mBAAmB;EACnBC,eAAe;EACfC,kBAAkB;EAClBC,EAAE;AACF,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACL,KAAI;AACtB,EAAA,MAAMC,WAAW,GAAG;IAClBV,KAAK;IACLC,KAAK;IACLC,OAAO;IACPC,OAAO;IACPL,QAAQ;IACRO,mBAAmB;IACnBC,eAAe;AACfF,IAAAA,SAAS,EAAEO,IAAI,CAAC,kBAAkB,EAAEP,SAAS,CAAC;IAC9CG,kBAAkB;AAClBC,IAAAA,EAAAA;GACD,CAAA;EAED,MAAMI,YAAY,GAAGA,MAAyB;AAC5C,IAAA,IAAIH,SAAS,EAAE;AACb,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAA;IAEA,MAAMI,eAAe,GAAa,EAAE,CAAA;AAEpC,IAAA,IAAI,OAAOZ,KAAK,KAAK,QAAQ,EAAE;AAC7BY,MAAAA,eAAe,CAACC,IAAI,CAACb,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAI,OAAOP,MAAM,KAAK,QAAQ,EAAE;AAC9BmB,MAAAA,eAAe,CAACC,IAAI,CAACpB,MAAM,CAAC,CAAA;AAC9B,KAAA;AAEA,IAAA,OAAOmB,eAAe,CAACE,IAAI,CAAC,IAAI,CAAC,IAAIC,SAAS,CAAA;GAC/C,CAAA;EAED,MAAMC,WAAW,GAAItB,QAA8B,IAAoB;AACrE,IAAA,QAAQA,QAAQ;AACd,MAAA,KAAK,SAAS;AACZ,QAAA,OAAO,SAAS,CAAA;AAClB,MAAA,KAAK,WAAW;AACd,QAAA,OAAO,mBAAmB,CAAA;AAC5B,MAAA,KAAK,UAAU;AACb,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,gBAAgB;AACnB,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA;AACE,QAAA,OAAO,SAAS,CAAA;AACpB,KAAA;GACD,CAAA;EAED,oBACEuB,GAAA,CAACC,MAAM,EAAA;AAAA,IAAA,GACDT,WAAW;IACfU,MAAM,eACJF,GAAA,CAACG,MAAM,EAAA;MACLC,EAAE,EAAA,IAAA;AACFC,MAAAA,IAAI,EAAC,IAAI;AACT5B,MAAAA,QAAQ,EAAEsB,WAAW,CAACtB,QAAQ,CAAE;AAChCG,MAAAA,QAAQ,EAAEA,QAAS;MACnB,YAAYc,EAAAA,YAAY,EAAG;AAC3Bb,MAAAA,OAAO,EAAEA,OAAQ;AAAAyB,MAAAA,QAAA,EAEhB9B,MAAAA;KACK,CAAA;AACT,GAAA,CACD,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"ActionOption.mjs","sources":["../../src/actionOption/ActionOption.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport Button from '../button';\nimport {\n AriaLabelProperty,\n CommonProps,\n Priority,\n PriorityPrimary,\n PrioritySecondary,\n PriorityTertiary,\n} from '../common';\nimport Option from '../common/Option';\nimport { ButtonPriority } from '../button/Button.types';\n\ntype ActionOptionPriority =\n | PriorityPrimary\n | PrioritySecondary\n | PriorityTertiary\n | 'secondary-send';\n\nexport type ActionOptionProps = {\n complex?: boolean;\n content?: React.ReactNode;\n disabled?: boolean;\n media?: React.ReactNode;\n showMediaAtAllSizes?: boolean;\n onClick: () => void;\n title: React.ReactNode;\n additionalContent?: React.ReactNode;\n action: React.ReactNode;\n priority?: ActionOptionPriority;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n as?: React.ElementType;\n} & CommonProps &\n AriaLabelProperty;\n\nconst ActionOption = ({\n action,\n priority = Priority.PRIMARY,\n disabled,\n onClick,\n media,\n title,\n content,\n additionalContent,\n complex,\n className,\n showMediaAtAllSizes,\n showMediaCircle,\n isContainerAligned,\n as,\n 'aria-label': ariaLabel,\n}: ActionOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaAtAllSizes,\n showMediaCircle,\n className: clsx('tw-action-option', className),\n isContainerAligned,\n additionalContent,\n as,\n };\n\n const getAriaLabel = (): string | undefined => {\n if (ariaLabel) {\n return ariaLabel;\n }\n\n const generatedLabels: string[] = [];\n\n if (typeof title === 'string') {\n generatedLabels.push(title);\n }\n\n if (typeof action === 'string') {\n generatedLabels.push(action);\n }\n\n return generatedLabels.join(', ') || undefined;\n };\n\n const mapPriority = (priority: ActionOptionPriority): ButtonPriority => {\n switch (priority) {\n case 'primary':\n return 'primary';\n case 'secondary':\n return 'secondary-neutral';\n case 'tertiary':\n return 'tertiary';\n case 'secondary-send':\n return 'secondary';\n default:\n return 'primary';\n }\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <Button\n v2\n size=\"sm\"\n priority={mapPriority(priority)}\n disabled={disabled}\n aria-label={getAriaLabel()}\n onClick={onClick}\n >\n {action}\n </Button>\n }\n />\n );\n};\n\nexport default ActionOption;\n"],"names":["ActionOption","action","priority","Priority","PRIMARY","disabled","onClick","media","title","content","additionalContent","complex","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","as","ariaLabel","sharedProps","clsx","getAriaLabel","generatedLabels","push","join","undefined","mapPriority","_jsx","Option","button","Button","v2","size","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCMA,MAAAA,YAAY,GAAGA,CAAC;EACpBC,MAAM;EACNC,QAAQ,GAAGC,QAAQ,CAACC,OAAO;EAC3BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,iBAAiB;EACjBC,OAAO;EACPC,SAAS;EACTC,mBAAmB;EACnBC,eAAe;EACfC,kBAAkB;EAClBC,EAAE;AACF,EAAA,YAAY,EAAEC,SAAAA;AAAS,CACL,KAAI;AACtB,EAAA,MAAMC,WAAW,GAAG;IAClBX,KAAK;IACLC,KAAK;IACLC,OAAO;IACPE,OAAO;IACPN,QAAQ;IACRQ,mBAAmB;IACnBC,eAAe;AACfF,IAAAA,SAAS,EAAEO,IAAI,CAAC,kBAAkB,EAAEP,SAAS,CAAC;IAC9CG,kBAAkB;IAClBL,iBAAiB;AACjBM,IAAAA,EAAAA;GACD,CAAA;EAED,MAAMI,YAAY,GAAGA,MAAyB;AAC5C,IAAA,IAAIH,SAAS,EAAE;AACb,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAA;IAEA,MAAMI,eAAe,GAAa,EAAE,CAAA;AAEpC,IAAA,IAAI,OAAOb,KAAK,KAAK,QAAQ,EAAE;AAC7Ba,MAAAA,eAAe,CAACC,IAAI,CAACd,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAI,OAAOP,MAAM,KAAK,QAAQ,EAAE;AAC9BoB,MAAAA,eAAe,CAACC,IAAI,CAACrB,MAAM,CAAC,CAAA;AAC9B,KAAA;AAEA,IAAA,OAAOoB,eAAe,CAACE,IAAI,CAAC,IAAI,CAAC,IAAIC,SAAS,CAAA;GAC/C,CAAA;EAED,MAAMC,WAAW,GAAIvB,QAA8B,IAAoB;AACrE,IAAA,QAAQA,QAAQ;AACd,MAAA,KAAK,SAAS;AACZ,QAAA,OAAO,SAAS,CAAA;AAClB,MAAA,KAAK,WAAW;AACd,QAAA,OAAO,mBAAmB,CAAA;AAC5B,MAAA,KAAK,UAAU;AACb,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,gBAAgB;AACnB,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA;AACE,QAAA,OAAO,SAAS,CAAA;AACpB,KAAA;GACD,CAAA;EAED,oBACEwB,GAAA,CAACC,MAAM,EAAA;AAAA,IAAA,GACDT,WAAW;IACfU,MAAM,eACJF,GAAA,CAACG,MAAM,EAAA;MACLC,EAAE,EAAA,IAAA;AACFC,MAAAA,IAAI,EAAC,IAAI;AACT7B,MAAAA,QAAQ,EAAEuB,WAAW,CAACvB,QAAQ,CAAE;AAChCG,MAAAA,QAAQ,EAAEA,QAAS;MACnB,YAAYe,EAAAA,YAAY,EAAG;AAC3Bd,MAAAA,OAAO,EAAEA,OAAQ;AAAA0B,MAAAA,QAAA,EAEhB/B,MAAAA;KACK,CAAA;AACT,GAAA,CACD,CAAA;AAEN;;;;"}
@@ -5,6 +5,7 @@ var React = require('react');
5
5
  var Body = require('../../body/Body.js');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
+ /* eslint-disable react/display-name */
8
9
  const Option = /*#__PURE__*/React.forwardRef(({
9
10
  media = '',
10
11
  title,
@@ -19,10 +20,11 @@ const Option = /*#__PURE__*/React.forwardRef(({
19
20
  showMediaAtAllSizes,
20
21
  showMediaCircle = true,
21
22
  isContainerAligned = false,
23
+ additionalContent,
22
24
  ...rest
23
25
  }, reference) => {
24
26
  const Element = component ?? 'label';
25
- return /*#__PURE__*/jsxRuntime.jsx(Element, {
27
+ return /*#__PURE__*/jsxRuntime.jsxs(Element, {
26
28
  ...rest,
27
29
  ref: reference,
28
30
  className: clsx.clsx('np-option', className, {
@@ -33,8 +35,8 @@ const Option = /*#__PURE__*/React.forwardRef(({
33
35
  'np-option__container-aligned': isContainerAligned
34
36
  }),
35
37
  disabled: disabled && Element === 'button',
36
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
37
- className: "media",
38
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
39
+ className: clsx.clsx('media'),
38
40
  children: [media && /*#__PURE__*/jsxRuntime.jsx("div", {
39
41
  className: "media-left",
40
42
  children: showMediaCircle ? /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -65,7 +67,10 @@ const Option = /*#__PURE__*/React.forwardRef(({
65
67
  className: "media-right",
66
68
  children: button
67
69
  })]
68
- })
70
+ }), additionalContent ? /*#__PURE__*/jsxRuntime.jsxs("div", {
71
+ className: "np-option-additional-content",
72
+ children: [" ", additionalContent, " "]
73
+ }) : null]
69
74
  });
70
75
  });
71
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","sources":["../../../src/common/Option/Option.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';\n\nimport Body from '../../body';\nimport { LinkProps } from '../commonProps';\n\nexport interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'content'> {\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n 'aria-controls'?: string;\n media?: ReactNode;\n name?: string;\n htmlFor?: string;\n title: ReactNode;\n content?: ReactNode;\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n as?: ElementType;\n disabled?: boolean;\n button?: ReactNode;\n decision?: boolean;\n complex?: boolean;\n inverseMediaCircle?: boolean;\n className?: string;\n showMediaAtAllSizes?: boolean;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n}\n\ninterface AnchorOptionProps extends BaseOptionProps, LinkProps {\n as: 'a';\n}\n\nexport type OptionProps = BaseOptionProps | AnchorOptionProps;\n\nexport type ReferenceType = HTMLElement | HTMLAnchorElement;\n\nconst Option = forwardRef<ReferenceType, OptionProps>(\n (\n {\n media = '',\n title,\n content,\n as: component,\n button,\n decision = true,\n disabled = false,\n complex,\n inverseMediaCircle = true,\n className,\n showMediaAtAllSizes,\n showMediaCircle = true,\n isContainerAligned = false,\n ...rest\n },\n reference,\n ) => {\n const Element = component ?? 'label';\n\n return (\n <Element\n {...rest}\n ref={reference}\n className={clsx('np-option', className, {\n 'decision-complex': complex,\n decision,\n disabled,\n 'np-option__sm-media': showMediaAtAllSizes,\n 'np-option__container-aligned': isContainerAligned,\n })}\n disabled={disabled && Element === 'button'}\n >\n <div className=\"media\">\n {media && (\n <div className=\"media-left\">\n {showMediaCircle ? (\n <div\n className={clsx('circle circle-sm text-primary', {\n 'circle-inverse': inverseMediaCircle,\n })}\n >\n {media}\n </div>\n ) : (\n <div className=\"np-option__no-media-circle\">{media}</div>\n )}\n </div>\n )}\n <div className=\"media-body\">\n {/* @ts-expect-error div can have role and aria-lavel props */}\n <Body\n type=\"body-large-bold\"\n // for a11y this needs to be a header but for SEO it shouldn't be `h*` tag\n // so we enable header semantics via `role` and `aria-level` attrs\n role=\"heading\"\n aria-level=\"4\"\n className=\"text-primary np-option__title\"\n >\n {title}\n </Body>\n {content && <Body className=\"d-block np-option__body\">{content}</Body>}\n </div>\n <div className=\"media-right\">{button}</div>\n </div>\n </Element>\n );\n },\n);\n\nexport default Option;\n"],"names":["Option","forwardRef","media","title","content","as","component","button","decision","disabled","complex","inverseMediaCircle","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","rest","reference","Element","_jsx","ref","clsx","children","_jsxs","Body","type","role"],"mappings":";;;;;;;AAoCA,MAAMA,MAAM,gBAAGC,gBAAU,CACvB,CACE;AACEC,EAAAA,KAAK,GAAG,EAAE;EACVC,KAAK;EACLC,OAAO;AACPC,EAAAA,EAAE,EAAEC,SAAS;EACbC,MAAM;AACNC,EAAAA,QAAQ,GAAG,IAAI;AACfC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,OAAO;AACPC,EAAAA,kBAAkB,GAAG,IAAI;EACzBC,SAAS;EACTC,mBAAmB;AACnBC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,kBAAkB,GAAG,KAAK;EAC1B,GAAGC,IAAAA;AACJ,CAAA,EACDC,SAAS,KACP;AACF,EAAA,MAAMC,OAAO,GAAGZ,SAAS,IAAI,OAAO,CAAA;EAEpC,oBACEa,cAAA,CAACD,OAAO,EAAA;AAAA,IAAA,GACFF,IAAI;AACRI,IAAAA,GAAG,EAAEH,SAAU;AACfL,IAAAA,SAAS,EAAES,SAAI,CAAC,WAAW,EAAET,SAAS,EAAE;AACtC,MAAA,kBAAkB,EAAEF,OAAO;MAC3BF,QAAQ;MACRC,QAAQ;AACR,MAAA,qBAAqB,EAAEI,mBAAmB;AAC1C,MAAA,8BAA8B,EAAEE,kBAAAA;KACjC,CAAE;AACHN,IAAAA,QAAQ,EAAEA,QAAQ,IAAIS,OAAO,KAAK,QAAS;AAAAI,IAAAA,QAAA,eAE3CC,eAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,OAAO;MAAAU,QAAA,EAAA,CACnBpB,KAAK,iBACJiB,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,YAAY;QAAAU,QAAA,EACxBR,eAAe,gBACdK,cAAA,CAAA,KAAA,EAAA;AACEP,UAAAA,SAAS,EAAES,SAAI,CAAC,+BAA+B,EAAE;AAC/C,YAAA,gBAAgB,EAAEV,kBAAAA;AACnB,WAAA,CAAE;AAAAW,UAAAA,QAAA,EAEFpB,KAAAA;SACE,CAAC,gBAENiB,cAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,4BAA4B;AAAAU,UAAAA,QAAA,EAAEpB,KAAAA;SAAW,CAAA;OAEvD,CACN,eACDqB,eAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,YAAY;QAAAU,QAAA,EAAA,cAEzBH,cAAA,CAACK,IAAI,EAAA;AACHC,UAAAA,IAAI,EAAC,iBAAA;AACL;AACA;AAAA;AACAC,UAAAA,IAAI,EAAC,SAAS;AACd,UAAA,YAAA,EAAW,GAAG;AACdd,UAAAA,SAAS,EAAC,+BAA+B;AAAAU,UAAAA,QAAA,EAExCnB,KAAAA;AAAK,SACF,CACN,EAACC,OAAO,iBAAIe,cAAA,CAACK,IAAI,EAAA;AAACZ,UAAAA,SAAS,EAAC,yBAAyB;AAAAU,UAAAA,QAAA,EAAElB,OAAAA;AAAO,SAAO,CAAC,CAAA;OACnE,CACL,eAAAe,cAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;AAAAU,QAAAA,QAAA,EAAEf,MAAAA;AAAM,OAAM,CAC5C,CAAA;KAAK,CAAA;AACP,GAAS,CAAC,CAAA;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"Option.js","sources":["../../../src/common/Option/Option.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { clsx } from 'clsx';\nimport { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';\n\nimport Body from '../../body';\nimport { LinkProps } from '../commonProps';\n\nexport interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'content'> {\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n 'aria-controls'?: string;\n media?: ReactNode;\n name?: string;\n htmlFor?: string;\n title: ReactNode;\n content?: ReactNode;\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n as?: ElementType;\n disabled?: boolean;\n button?: ReactNode;\n decision?: boolean;\n complex?: boolean;\n inverseMediaCircle?: boolean;\n className?: string;\n showMediaAtAllSizes?: boolean;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n additionalContent?: ReactNode;\n}\n\ninterface AnchorOptionProps extends BaseOptionProps, LinkProps {\n as: 'a';\n}\n\nexport type OptionProps = BaseOptionProps | AnchorOptionProps;\n\nexport type ReferenceType = HTMLElement | HTMLAnchorElement;\n\nconst Option = forwardRef<ReferenceType, OptionProps>(\n (\n {\n media = '',\n title,\n content,\n as: component,\n button,\n decision = true,\n disabled = false,\n complex,\n inverseMediaCircle = true,\n className,\n showMediaAtAllSizes,\n showMediaCircle = true,\n isContainerAligned = false,\n additionalContent,\n ...rest\n },\n reference,\n ) => {\n const Element = component ?? 'label';\n\n return (\n <Element\n {...rest}\n ref={reference}\n className={clsx('np-option', className, {\n 'decision-complex': complex,\n decision,\n disabled,\n 'np-option__sm-media': showMediaAtAllSizes,\n 'np-option__container-aligned': isContainerAligned,\n })}\n disabled={disabled && Element === 'button'}\n >\n <div className={clsx('media')}>\n {media && (\n <div className=\"media-left\">\n {showMediaCircle ? (\n <div\n className={clsx('circle circle-sm text-primary', {\n 'circle-inverse': inverseMediaCircle,\n })}\n >\n {media}\n </div>\n ) : (\n <div className=\"np-option__no-media-circle\">{media}</div>\n )}\n </div>\n )}\n <div className=\"media-body\">\n {/* @ts-expect-error div can have role and aria-lavel props */}\n <Body\n type=\"body-large-bold\"\n // for a11y this needs to be a header but for SEO it shouldn't be `h*` tag\n // so we enable header semantics via `role` and `aria-level` attrs\n role=\"heading\"\n aria-level=\"4\"\n className=\"text-primary np-option__title\"\n >\n {title}\n </Body>\n {content && <Body className=\"d-block np-option__body\">{content}</Body>}\n </div>\n <div className=\"media-right\">{button}</div>\n </div>\n {additionalContent ? (\n <div className=\"np-option-additional-content\"> {additionalContent} </div>\n ) : null}\n </Element>\n );\n },\n);\n\nexport default Option;\n"],"names":["Option","forwardRef","media","title","content","as","component","button","decision","disabled","complex","inverseMediaCircle","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","additionalContent","rest","reference","Element","_jsxs","ref","clsx","children","_jsx","Body","type","role"],"mappings":";;;;;;;AAAA;AAsCA,MAAMA,MAAM,gBAAGC,gBAAU,CACvB,CACE;AACEC,EAAAA,KAAK,GAAG,EAAE;EACVC,KAAK;EACLC,OAAO;AACPC,EAAAA,EAAE,EAAEC,SAAS;EACbC,MAAM;AACNC,EAAAA,QAAQ,GAAG,IAAI;AACfC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,OAAO;AACPC,EAAAA,kBAAkB,GAAG,IAAI;EACzBC,SAAS;EACTC,mBAAmB;AACnBC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,kBAAkB,GAAG,KAAK;EAC1BC,iBAAiB;EACjB,GAAGC,IAAAA;AACJ,CAAA,EACDC,SAAS,KACP;AACF,EAAA,MAAMC,OAAO,GAAGb,SAAS,IAAI,OAAO,CAAA;EAEpC,oBACEc,eAAA,CAACD,OAAO,EAAA;AAAA,IAAA,GACFF,IAAI;AACRI,IAAAA,GAAG,EAAEH,SAAU;AACfN,IAAAA,SAAS,EAAEU,SAAI,CAAC,WAAW,EAAEV,SAAS,EAAE;AACtC,MAAA,kBAAkB,EAAEF,OAAO;MAC3BF,QAAQ;MACRC,QAAQ;AACR,MAAA,qBAAqB,EAAEI,mBAAmB;AAC1C,MAAA,8BAA8B,EAAEE,kBAAAA;KACjC,CAAE;AACHN,IAAAA,QAAQ,EAAEA,QAAQ,IAAIU,OAAO,KAAK,QAAS;AAAAI,IAAAA,QAAA,gBAE3CH,eAAA,CAAA,KAAA,EAAA;AAAKR,MAAAA,SAAS,EAAEU,SAAI,CAAC,OAAO,CAAE;MAAAC,QAAA,EAAA,CAC3BrB,KAAK,iBACJsB,cAAA,CAAA,KAAA,EAAA;AAAKZ,QAAAA,SAAS,EAAC,YAAY;QAAAW,QAAA,EACxBT,eAAe,gBACdU,cAAA,CAAA,KAAA,EAAA;AACEZ,UAAAA,SAAS,EAAEU,SAAI,CAAC,+BAA+B,EAAE;AAC/C,YAAA,gBAAgB,EAAEX,kBAAAA;AACnB,WAAA,CAAE;AAAAY,UAAAA,QAAA,EAEFrB,KAAAA;SACE,CAAC,gBAENsB,cAAA,CAAA,KAAA,EAAA;AAAKZ,UAAAA,SAAS,EAAC,4BAA4B;AAAAW,UAAAA,QAAA,EAAErB,KAAAA;SAAW,CAAA;OAEvD,CACN,eACDkB,eAAA,CAAA,KAAA,EAAA;AAAKR,QAAAA,SAAS,EAAC,YAAY;QAAAW,QAAA,EAAA,cAEzBC,cAAA,CAACC,IAAI,EAAA;AACHC,UAAAA,IAAI,EAAC,iBAAA;AACL;AACA;AAAA;AACAC,UAAAA,IAAI,EAAC,SAAS;AACd,UAAA,YAAA,EAAW,GAAG;AACdf,UAAAA,SAAS,EAAC,+BAA+B;AAAAW,UAAAA,QAAA,EAExCpB,KAAAA;AAAK,SACF,CACN,EAACC,OAAO,iBAAIoB,cAAA,CAACC,IAAI,EAAA;AAACb,UAAAA,SAAS,EAAC,yBAAyB;AAAAW,UAAAA,QAAA,EAAEnB,OAAAA;AAAO,SAAO,CAAC,CAAA;OACnE,CACL,eAAAoB,cAAA,CAAA,KAAA,EAAA;AAAKZ,QAAAA,SAAS,EAAC,aAAa;AAAAW,QAAAA,QAAA,EAAEhB,MAAAA;AAAM,OAAM,CAC5C,CAAA;AAAA,KAAK,CACL,EAACS,iBAAiB,gBAChBI,eAAA,CAAA,KAAA,EAAA;AAAKR,MAAAA,SAAS,EAAC,8BAA8B;AAAAW,MAAAA,QAAA,EAAE,CAAA,GAAA,EAACP,iBAAiB,EAAE,GAAA,CAAA;KAAK,CAAC,GACvE,IAAI,CAAA;AAAA,GACD,CAAC,CAAA;AAEd,CAAC;;;;"}
@@ -1,8 +1,9 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { forwardRef } from 'react';
3
3
  import Body from '../../body/Body.mjs';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
+ /* eslint-disable react/display-name */
6
7
  const Option = /*#__PURE__*/forwardRef(({
7
8
  media = '',
8
9
  title,
@@ -17,10 +18,11 @@ const Option = /*#__PURE__*/forwardRef(({
17
18
  showMediaAtAllSizes,
18
19
  showMediaCircle = true,
19
20
  isContainerAligned = false,
21
+ additionalContent,
20
22
  ...rest
21
23
  }, reference) => {
22
24
  const Element = component ?? 'label';
23
- return /*#__PURE__*/jsx(Element, {
25
+ return /*#__PURE__*/jsxs(Element, {
24
26
  ...rest,
25
27
  ref: reference,
26
28
  className: clsx('np-option', className, {
@@ -31,8 +33,8 @@ const Option = /*#__PURE__*/forwardRef(({
31
33
  'np-option__container-aligned': isContainerAligned
32
34
  }),
33
35
  disabled: disabled && Element === 'button',
34
- children: /*#__PURE__*/jsxs("div", {
35
- className: "media",
36
+ children: [/*#__PURE__*/jsxs("div", {
37
+ className: clsx('media'),
36
38
  children: [media && /*#__PURE__*/jsx("div", {
37
39
  className: "media-left",
38
40
  children: showMediaCircle ? /*#__PURE__*/jsx("div", {
@@ -63,7 +65,10 @@ const Option = /*#__PURE__*/forwardRef(({
63
65
  className: "media-right",
64
66
  children: button
65
67
  })]
66
- })
68
+ }), additionalContent ? /*#__PURE__*/jsxs("div", {
69
+ className: "np-option-additional-content",
70
+ children: [" ", additionalContent, " "]
71
+ }) : null]
67
72
  });
68
73
  });
69
74
 
@@ -1 +1 @@
1
- {"version":3,"file":"Option.mjs","sources":["../../../src/common/Option/Option.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';\n\nimport Body from '../../body';\nimport { LinkProps } from '../commonProps';\n\nexport interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'content'> {\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n 'aria-controls'?: string;\n media?: ReactNode;\n name?: string;\n htmlFor?: string;\n title: ReactNode;\n content?: ReactNode;\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n as?: ElementType;\n disabled?: boolean;\n button?: ReactNode;\n decision?: boolean;\n complex?: boolean;\n inverseMediaCircle?: boolean;\n className?: string;\n showMediaAtAllSizes?: boolean;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n}\n\ninterface AnchorOptionProps extends BaseOptionProps, LinkProps {\n as: 'a';\n}\n\nexport type OptionProps = BaseOptionProps | AnchorOptionProps;\n\nexport type ReferenceType = HTMLElement | HTMLAnchorElement;\n\nconst Option = forwardRef<ReferenceType, OptionProps>(\n (\n {\n media = '',\n title,\n content,\n as: component,\n button,\n decision = true,\n disabled = false,\n complex,\n inverseMediaCircle = true,\n className,\n showMediaAtAllSizes,\n showMediaCircle = true,\n isContainerAligned = false,\n ...rest\n },\n reference,\n ) => {\n const Element = component ?? 'label';\n\n return (\n <Element\n {...rest}\n ref={reference}\n className={clsx('np-option', className, {\n 'decision-complex': complex,\n decision,\n disabled,\n 'np-option__sm-media': showMediaAtAllSizes,\n 'np-option__container-aligned': isContainerAligned,\n })}\n disabled={disabled && Element === 'button'}\n >\n <div className=\"media\">\n {media && (\n <div className=\"media-left\">\n {showMediaCircle ? (\n <div\n className={clsx('circle circle-sm text-primary', {\n 'circle-inverse': inverseMediaCircle,\n })}\n >\n {media}\n </div>\n ) : (\n <div className=\"np-option__no-media-circle\">{media}</div>\n )}\n </div>\n )}\n <div className=\"media-body\">\n {/* @ts-expect-error div can have role and aria-lavel props */}\n <Body\n type=\"body-large-bold\"\n // for a11y this needs to be a header but for SEO it shouldn't be `h*` tag\n // so we enable header semantics via `role` and `aria-level` attrs\n role=\"heading\"\n aria-level=\"4\"\n className=\"text-primary np-option__title\"\n >\n {title}\n </Body>\n {content && <Body className=\"d-block np-option__body\">{content}</Body>}\n </div>\n <div className=\"media-right\">{button}</div>\n </div>\n </Element>\n );\n },\n);\n\nexport default Option;\n"],"names":["Option","forwardRef","media","title","content","as","component","button","decision","disabled","complex","inverseMediaCircle","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","rest","reference","Element","_jsx","ref","clsx","children","_jsxs","Body","type","role"],"mappings":";;;;;AAoCA,MAAMA,MAAM,gBAAGC,UAAU,CACvB,CACE;AACEC,EAAAA,KAAK,GAAG,EAAE;EACVC,KAAK;EACLC,OAAO;AACPC,EAAAA,EAAE,EAAEC,SAAS;EACbC,MAAM;AACNC,EAAAA,QAAQ,GAAG,IAAI;AACfC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,OAAO;AACPC,EAAAA,kBAAkB,GAAG,IAAI;EACzBC,SAAS;EACTC,mBAAmB;AACnBC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,kBAAkB,GAAG,KAAK;EAC1B,GAAGC,IAAAA;AACJ,CAAA,EACDC,SAAS,KACP;AACF,EAAA,MAAMC,OAAO,GAAGZ,SAAS,IAAI,OAAO,CAAA;EAEpC,oBACEa,GAAA,CAACD,OAAO,EAAA;AAAA,IAAA,GACFF,IAAI;AACRI,IAAAA,GAAG,EAAEH,SAAU;AACfL,IAAAA,SAAS,EAAES,IAAI,CAAC,WAAW,EAAET,SAAS,EAAE;AACtC,MAAA,kBAAkB,EAAEF,OAAO;MAC3BF,QAAQ;MACRC,QAAQ;AACR,MAAA,qBAAqB,EAAEI,mBAAmB;AAC1C,MAAA,8BAA8B,EAAEE,kBAAAA;KACjC,CAAE;AACHN,IAAAA,QAAQ,EAAEA,QAAQ,IAAIS,OAAO,KAAK,QAAS;AAAAI,IAAAA,QAAA,eAE3CC,IAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,OAAO;MAAAU,QAAA,EAAA,CACnBpB,KAAK,iBACJiB,GAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,YAAY;QAAAU,QAAA,EACxBR,eAAe,gBACdK,GAAA,CAAA,KAAA,EAAA;AACEP,UAAAA,SAAS,EAAES,IAAI,CAAC,+BAA+B,EAAE;AAC/C,YAAA,gBAAgB,EAAEV,kBAAAA;AACnB,WAAA,CAAE;AAAAW,UAAAA,QAAA,EAEFpB,KAAAA;SACE,CAAC,gBAENiB,GAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,4BAA4B;AAAAU,UAAAA,QAAA,EAAEpB,KAAAA;SAAW,CAAA;OAEvD,CACN,eACDqB,IAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,YAAY;QAAAU,QAAA,EAAA,cAEzBH,GAAA,CAACK,IAAI,EAAA;AACHC,UAAAA,IAAI,EAAC,iBAAA;AACL;AACA;AAAA;AACAC,UAAAA,IAAI,EAAC,SAAS;AACd,UAAA,YAAA,EAAW,GAAG;AACdd,UAAAA,SAAS,EAAC,+BAA+B;AAAAU,UAAAA,QAAA,EAExCnB,KAAAA;AAAK,SACF,CACN,EAACC,OAAO,iBAAIe,GAAA,CAACK,IAAI,EAAA;AAACZ,UAAAA,SAAS,EAAC,yBAAyB;AAAAU,UAAAA,QAAA,EAAElB,OAAAA;AAAO,SAAO,CAAC,CAAA;OACnE,CACL,eAAAe,GAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,aAAa;AAAAU,QAAAA,QAAA,EAAEf,MAAAA;AAAM,OAAM,CAC5C,CAAA;KAAK,CAAA;AACP,GAAS,CAAC,CAAA;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"Option.mjs","sources":["../../../src/common/Option/Option.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { clsx } from 'clsx';\nimport { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';\n\nimport Body from '../../body';\nimport { LinkProps } from '../commonProps';\n\nexport interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'content'> {\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n 'aria-controls'?: string;\n media?: ReactNode;\n name?: string;\n htmlFor?: string;\n title: ReactNode;\n content?: ReactNode;\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n as?: ElementType;\n disabled?: boolean;\n button?: ReactNode;\n decision?: boolean;\n complex?: boolean;\n inverseMediaCircle?: boolean;\n className?: string;\n showMediaAtAllSizes?: boolean;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n additionalContent?: ReactNode;\n}\n\ninterface AnchorOptionProps extends BaseOptionProps, LinkProps {\n as: 'a';\n}\n\nexport type OptionProps = BaseOptionProps | AnchorOptionProps;\n\nexport type ReferenceType = HTMLElement | HTMLAnchorElement;\n\nconst Option = forwardRef<ReferenceType, OptionProps>(\n (\n {\n media = '',\n title,\n content,\n as: component,\n button,\n decision = true,\n disabled = false,\n complex,\n inverseMediaCircle = true,\n className,\n showMediaAtAllSizes,\n showMediaCircle = true,\n isContainerAligned = false,\n additionalContent,\n ...rest\n },\n reference,\n ) => {\n const Element = component ?? 'label';\n\n return (\n <Element\n {...rest}\n ref={reference}\n className={clsx('np-option', className, {\n 'decision-complex': complex,\n decision,\n disabled,\n 'np-option__sm-media': showMediaAtAllSizes,\n 'np-option__container-aligned': isContainerAligned,\n })}\n disabled={disabled && Element === 'button'}\n >\n <div className={clsx('media')}>\n {media && (\n <div className=\"media-left\">\n {showMediaCircle ? (\n <div\n className={clsx('circle circle-sm text-primary', {\n 'circle-inverse': inverseMediaCircle,\n })}\n >\n {media}\n </div>\n ) : (\n <div className=\"np-option__no-media-circle\">{media}</div>\n )}\n </div>\n )}\n <div className=\"media-body\">\n {/* @ts-expect-error div can have role and aria-lavel props */}\n <Body\n type=\"body-large-bold\"\n // for a11y this needs to be a header but for SEO it shouldn't be `h*` tag\n // so we enable header semantics via `role` and `aria-level` attrs\n role=\"heading\"\n aria-level=\"4\"\n className=\"text-primary np-option__title\"\n >\n {title}\n </Body>\n {content && <Body className=\"d-block np-option__body\">{content}</Body>}\n </div>\n <div className=\"media-right\">{button}</div>\n </div>\n {additionalContent ? (\n <div className=\"np-option-additional-content\"> {additionalContent} </div>\n ) : null}\n </Element>\n );\n },\n);\n\nexport default Option;\n"],"names":["Option","forwardRef","media","title","content","as","component","button","decision","disabled","complex","inverseMediaCircle","className","showMediaAtAllSizes","showMediaCircle","isContainerAligned","additionalContent","rest","reference","Element","_jsxs","ref","clsx","children","_jsx","Body","type","role"],"mappings":";;;;;AAAA;AAsCA,MAAMA,MAAM,gBAAGC,UAAU,CACvB,CACE;AACEC,EAAAA,KAAK,GAAG,EAAE;EACVC,KAAK;EACLC,OAAO;AACPC,EAAAA,EAAE,EAAEC,SAAS;EACbC,MAAM;AACNC,EAAAA,QAAQ,GAAG,IAAI;AACfC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,OAAO;AACPC,EAAAA,kBAAkB,GAAG,IAAI;EACzBC,SAAS;EACTC,mBAAmB;AACnBC,EAAAA,eAAe,GAAG,IAAI;AACtBC,EAAAA,kBAAkB,GAAG,KAAK;EAC1BC,iBAAiB;EACjB,GAAGC,IAAAA;AACJ,CAAA,EACDC,SAAS,KACP;AACF,EAAA,MAAMC,OAAO,GAAGb,SAAS,IAAI,OAAO,CAAA;EAEpC,oBACEc,IAAA,CAACD,OAAO,EAAA;AAAA,IAAA,GACFF,IAAI;AACRI,IAAAA,GAAG,EAAEH,SAAU;AACfN,IAAAA,SAAS,EAAEU,IAAI,CAAC,WAAW,EAAEV,SAAS,EAAE;AACtC,MAAA,kBAAkB,EAAEF,OAAO;MAC3BF,QAAQ;MACRC,QAAQ;AACR,MAAA,qBAAqB,EAAEI,mBAAmB;AAC1C,MAAA,8BAA8B,EAAEE,kBAAAA;KACjC,CAAE;AACHN,IAAAA,QAAQ,EAAEA,QAAQ,IAAIU,OAAO,KAAK,QAAS;AAAAI,IAAAA,QAAA,gBAE3CH,IAAA,CAAA,KAAA,EAAA;AAAKR,MAAAA,SAAS,EAAEU,IAAI,CAAC,OAAO,CAAE;MAAAC,QAAA,EAAA,CAC3BrB,KAAK,iBACJsB,GAAA,CAAA,KAAA,EAAA;AAAKZ,QAAAA,SAAS,EAAC,YAAY;QAAAW,QAAA,EACxBT,eAAe,gBACdU,GAAA,CAAA,KAAA,EAAA;AACEZ,UAAAA,SAAS,EAAEU,IAAI,CAAC,+BAA+B,EAAE;AAC/C,YAAA,gBAAgB,EAAEX,kBAAAA;AACnB,WAAA,CAAE;AAAAY,UAAAA,QAAA,EAEFrB,KAAAA;SACE,CAAC,gBAENsB,GAAA,CAAA,KAAA,EAAA;AAAKZ,UAAAA,SAAS,EAAC,4BAA4B;AAAAW,UAAAA,QAAA,EAAErB,KAAAA;SAAW,CAAA;OAEvD,CACN,eACDkB,IAAA,CAAA,KAAA,EAAA;AAAKR,QAAAA,SAAS,EAAC,YAAY;QAAAW,QAAA,EAAA,cAEzBC,GAAA,CAACC,IAAI,EAAA;AACHC,UAAAA,IAAI,EAAC,iBAAA;AACL;AACA;AAAA;AACAC,UAAAA,IAAI,EAAC,SAAS;AACd,UAAA,YAAA,EAAW,GAAG;AACdf,UAAAA,SAAS,EAAC,+BAA+B;AAAAW,UAAAA,QAAA,EAExCpB,KAAAA;AAAK,SACF,CACN,EAACC,OAAO,iBAAIoB,GAAA,CAACC,IAAI,EAAA;AAACb,UAAAA,SAAS,EAAC,yBAAyB;AAAAW,UAAAA,QAAA,EAAEnB,OAAAA;AAAO,SAAO,CAAC,CAAA;OACnE,CACL,eAAAoB,GAAA,CAAA,KAAA,EAAA;AAAKZ,QAAAA,SAAS,EAAC,aAAa;AAAAW,QAAAA,QAAA,EAAEhB,MAAAA;AAAM,OAAM,CAC5C,CAAA;AAAA,KAAK,CACL,EAACS,iBAAiB,gBAChBI,IAAA,CAAA,KAAA,EAAA;AAAKR,MAAAA,SAAS,EAAC,8BAA8B;AAAAW,MAAAA,QAAA,EAAE,CAAA,GAAA,EAACP,iBAAiB,EAAE,GAAA,CAAA;KAAK,CAAC,GACvE,IAAI,CAAA;AAAA,GACD,CAAC,CAAA;AAEd,CAAC;;;;"}
package/build/main.css CHANGED
@@ -1770,6 +1770,28 @@ button.np-option {
1770
1770
  border-radius: var(--radius-small);
1771
1771
  }
1772
1772
  }
1773
+ .np-theme-personal .np-option-additional-content {
1774
+ margin-left: 80px;
1775
+ margin-left: var(--size-80);
1776
+ margin-right: 16px;
1777
+ margin-right: var(--size-16);
1778
+ margin-top: -10px;
1779
+ padding-bottom: 16px;
1780
+ padding-bottom: var(--size-16);
1781
+ max-width: -moz-fit-content;
1782
+ max-width: fit-content;
1783
+ }
1784
+ @media (max-width: 480px) {
1785
+ .np-theme-personal .np-option-additional-content {
1786
+ margin-left: 16px;
1787
+ margin-left: var(--size-16);
1788
+ }
1789
+ }
1790
+ @media (max-width: 320px) {
1791
+ .np-theme-personal .np-option-additional-content {
1792
+ margin-top: -3px;
1793
+ }
1794
+ }
1773
1795
  .np-select-option {
1774
1796
  border-radius: 10px;
1775
1797
  border-radius: var(--radius-small);
@@ -98,3 +98,25 @@ button.np-option {
98
98
  border-radius: var(--radius-small);
99
99
  }
100
100
  }
101
+ .np-theme-personal .np-option-additional-content {
102
+ margin-left: 80px;
103
+ margin-left: var(--size-80);
104
+ margin-right: 16px;
105
+ margin-right: var(--size-16);
106
+ margin-top: -10px;
107
+ padding-bottom: 16px;
108
+ padding-bottom: var(--size-16);
109
+ max-width: -moz-fit-content;
110
+ max-width: fit-content;
111
+ }
112
+ @media (max-width: 480px) {
113
+ .np-theme-personal .np-option-additional-content {
114
+ margin-left: 16px;
115
+ margin-left: var(--size-16);
116
+ }
117
+ }
118
+ @media (max-width: 320px) {
119
+ .np-theme-personal .np-option-additional-content {
120
+ margin-top: -3px;
121
+ }
122
+ }
@@ -1770,6 +1770,28 @@ button.np-option {
1770
1770
  border-radius: var(--radius-small);
1771
1771
  }
1772
1772
  }
1773
+ .np-theme-personal .np-option-additional-content {
1774
+ margin-left: 80px;
1775
+ margin-left: var(--size-80);
1776
+ margin-right: 16px;
1777
+ margin-right: var(--size-16);
1778
+ margin-top: -10px;
1779
+ padding-bottom: 16px;
1780
+ padding-bottom: var(--size-16);
1781
+ max-width: -moz-fit-content;
1782
+ max-width: fit-content;
1783
+ }
1784
+ @media (max-width: 480px) {
1785
+ .np-theme-personal .np-option-additional-content {
1786
+ margin-left: 16px;
1787
+ margin-left: var(--size-16);
1788
+ }
1789
+ }
1790
+ @media (max-width: 320px) {
1791
+ .np-theme-personal .np-option-additional-content {
1792
+ margin-top: -3px;
1793
+ }
1794
+ }
1773
1795
  .np-select-option {
1774
1796
  border-radius: 10px;
1775
1797
  border-radius: var(--radius-small);
@@ -8,12 +8,13 @@ export type ActionOptionProps = {
8
8
  showMediaAtAllSizes?: boolean;
9
9
  onClick: () => void;
10
10
  title: React.ReactNode;
11
+ additionalContent?: React.ReactNode;
11
12
  action: React.ReactNode;
12
13
  priority?: ActionOptionPriority;
13
14
  showMediaCircle?: boolean;
14
15
  isContainerAligned?: boolean;
15
16
  as?: React.ElementType;
16
17
  } & CommonProps & AriaLabelProperty;
17
- declare const ActionOption: ({ action, priority, disabled, onClick, media, title, content, complex, className, showMediaAtAllSizes, showMediaCircle, isContainerAligned, as, "aria-label": ariaLabel, }: ActionOptionProps) => import("react").JSX.Element;
18
+ declare const ActionOption: ({ action, priority, disabled, onClick, media, title, content, additionalContent, complex, className, showMediaAtAllSizes, showMediaCircle, isContainerAligned, as, "aria-label": ariaLabel, }: ActionOptionProps) => import("react").JSX.Element;
18
19
  export default ActionOption;
19
20
  //# sourceMappingURL=ActionOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionOption.d.ts","sourceRoot":"","sources":["../../../src/actionOption/ActionOption.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,WAAW,EAEX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAInB,KAAK,oBAAoB,GACrB,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACxB,GAAG,WAAW,GACb,iBAAiB,CAAC;AAEpB,QAAA,MAAM,YAAY,+KAef,iBAAiB,gCAgEnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ActionOption.d.ts","sourceRoot":"","sources":["../../../src/actionOption/ActionOption.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,WAAW,EAEX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAInB,KAAK,oBAAoB,GACrB,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACxB,GAAG,WAAW,GACb,iBAAiB,CAAC;AAEpB,QAAA,MAAM,YAAY,kMAgBf,iBAAiB,gCAiEnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -20,6 +20,7 @@ export interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'titl
20
20
  showMediaAtAllSizes?: boolean;
21
21
  showMediaCircle?: boolean;
22
22
  isContainerAligned?: boolean;
23
+ additionalContent?: ReactNode;
23
24
  }
24
25
  interface AnchorOptionProps extends BaseOptionProps, LinkProps {
25
26
  as: 'a';
@@ -1 +1 @@
1
- {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../src/common/Option/Option.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGvF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,iBAAkB,SAAQ,eAAe,EAAE,SAAS;IAC5D,EAAE,EAAE,GAAG,CAAC;CACT;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAE5D,QAAA,MAAM,MAAM,uGAsEX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../src/common/Option/Option.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAc,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGvF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,UAAU,iBAAkB,SAAQ,eAAe,EAAE,SAAS;IAC5D,EAAE,EAAE,GAAG,CAAC;CACT;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAE5D,QAAA,MAAM,MAAM,uGA0EX,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-39e6a5b",
3
+ "version": "0.0.0-experimental-71a6c2e",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,6 +15,8 @@ export default {
15
15
  action: 'Action',
16
16
  media: <FastFlagIcon />,
17
17
  showMediaCircle: false,
18
+ additionalContent:
19
+ 'Additional content goes here, this content does not align with the logo and button',
18
20
  },
19
21
  tags: ['autodocs'],
20
22
  } satisfies Meta<typeof ActionOption>;
@@ -26,6 +26,7 @@ export type ActionOptionProps = {
26
26
  showMediaAtAllSizes?: boolean;
27
27
  onClick: () => void;
28
28
  title: React.ReactNode;
29
+ additionalContent?: React.ReactNode;
29
30
  action: React.ReactNode;
30
31
  priority?: ActionOptionPriority;
31
32
  showMediaCircle?: boolean;
@@ -42,6 +43,7 @@ const ActionOption = ({
42
43
  media,
43
44
  title,
44
45
  content,
46
+ additionalContent,
45
47
  complex,
46
48
  className,
47
49
  showMediaAtAllSizes,
@@ -60,6 +62,7 @@ const ActionOption = ({
60
62
  showMediaCircle,
61
63
  className: clsx('tw-action-option', className),
62
64
  isContainerAligned,
65
+ additionalContent,
63
66
  as,
64
67
  };
65
68
 
@@ -98,3 +98,25 @@ button.np-option {
98
98
  border-radius: var(--radius-small);
99
99
  }
100
100
  }
101
+ .np-theme-personal .np-option-additional-content {
102
+ margin-left: 80px;
103
+ margin-left: var(--size-80);
104
+ margin-right: 16px;
105
+ margin-right: var(--size-16);
106
+ margin-top: -10px;
107
+ padding-bottom: 16px;
108
+ padding-bottom: var(--size-16);
109
+ max-width: -moz-fit-content;
110
+ max-width: fit-content;
111
+ }
112
+ @media (max-width: 480px) {
113
+ .np-theme-personal .np-option-additional-content {
114
+ margin-left: 16px;
115
+ margin-left: var(--size-16);
116
+ }
117
+ }
118
+ @media (max-width: 320px) {
119
+ .np-theme-personal .np-option-additional-content {
120
+ margin-top: -3px;
121
+ }
122
+ }
@@ -95,4 +95,25 @@ button.np-option {
95
95
  }
96
96
  }
97
97
  }
98
+
99
+ .np-option-additional-content {
100
+ margin-left: var(--size-80);
101
+ margin-right: var(--size-16);
102
+ margin-top: -10px;
103
+ padding-bottom: var(--size-16);
104
+ max-width:fit-content
105
+ }
106
+
107
+ @media (max-width: 480px) {
108
+ .np-option-additional-content {
109
+ margin-left: var(--size-16);
110
+ }
111
+ }
112
+
113
+ @media (--screen-400-zoom) {
114
+ .np-option-additional-content {
115
+ margin-top: -3px;
116
+ }
117
+ }
118
+
98
119
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/display-name */
1
2
  import { clsx } from 'clsx';
2
3
  import { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';
3
4
 
@@ -24,6 +25,7 @@ export interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'titl
24
25
  showMediaAtAllSizes?: boolean;
25
26
  showMediaCircle?: boolean;
26
27
  isContainerAligned?: boolean;
28
+ additionalContent?: ReactNode;
27
29
  }
28
30
 
29
31
  interface AnchorOptionProps extends BaseOptionProps, LinkProps {
@@ -50,6 +52,7 @@ const Option = forwardRef<ReferenceType, OptionProps>(
50
52
  showMediaAtAllSizes,
51
53
  showMediaCircle = true,
52
54
  isContainerAligned = false,
55
+ additionalContent,
53
56
  ...rest
54
57
  },
55
58
  reference,
@@ -69,7 +72,7 @@ const Option = forwardRef<ReferenceType, OptionProps>(
69
72
  })}
70
73
  disabled={disabled && Element === 'button'}
71
74
  >
72
- <div className="media">
75
+ <div className={clsx('media')}>
73
76
  {media && (
74
77
  <div className="media-left">
75
78
  {showMediaCircle ? (
@@ -101,6 +104,9 @@ const Option = forwardRef<ReferenceType, OptionProps>(
101
104
  </div>
102
105
  <div className="media-right">{button}</div>
103
106
  </div>
107
+ {additionalContent ? (
108
+ <div className="np-option-additional-content"> {additionalContent} </div>
109
+ ) : null}
104
110
  </Element>
105
111
  );
106
112
  },
package/src/main.css CHANGED
@@ -1770,6 +1770,28 @@ button.np-option {
1770
1770
  border-radius: var(--radius-small);
1771
1771
  }
1772
1772
  }
1773
+ .np-theme-personal .np-option-additional-content {
1774
+ margin-left: 80px;
1775
+ margin-left: var(--size-80);
1776
+ margin-right: 16px;
1777
+ margin-right: var(--size-16);
1778
+ margin-top: -10px;
1779
+ padding-bottom: 16px;
1780
+ padding-bottom: var(--size-16);
1781
+ max-width: -moz-fit-content;
1782
+ max-width: fit-content;
1783
+ }
1784
+ @media (max-width: 480px) {
1785
+ .np-theme-personal .np-option-additional-content {
1786
+ margin-left: 16px;
1787
+ margin-left: var(--size-16);
1788
+ }
1789
+ }
1790
+ @media (max-width: 320px) {
1791
+ .np-theme-personal .np-option-additional-content {
1792
+ margin-top: -3px;
1793
+ }
1794
+ }
1773
1795
  .np-select-option {
1774
1796
  border-radius: 10px;
1775
1797
  border-radius: var(--radius-small);