@transferwise/components 0.0.0-experimental-305fdc6 → 0.0.0-experimental-1605d4e

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.
Files changed (91) hide show
  1. package/build/flowNavigation/animatedLabel/AnimatedLabel.js +1 -1
  2. package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
  3. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs +1 -1
  4. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
  5. package/build/index.js +4 -4
  6. package/build/index.mjs +3 -3
  7. package/build/listItem/List.js.map +1 -0
  8. package/build/listItem/List.mjs.map +1 -0
  9. package/build/{legacylistItem/LegacyListItem.js → listItem/ListItem.js} +3 -3
  10. package/build/listItem/ListItem.js.map +1 -0
  11. package/build/{legacylistItem/LegacyListItem.mjs → listItem/ListItem.mjs} +3 -3
  12. package/build/listItem/ListItem.mjs.map +1 -0
  13. package/build/main.css +183 -3
  14. package/build/styles/item/Item.css +183 -0
  15. package/build/styles/main.css +183 -3
  16. package/build/styles/switch/Switch.css +0 -3
  17. package/build/test-utils/assets/apple-pay-logo.svg +84 -0
  18. package/build/types/index.d.ts +4 -2
  19. package/build/types/index.d.ts.map +1 -1
  20. package/build/types/item/Item.d.ts +44 -0
  21. package/build/types/item/Item.d.ts.map +1 -0
  22. package/build/types/item/ItemAdditionalInfo.d.ts +9 -0
  23. package/build/types/item/ItemAdditionalInfo.d.ts.map +1 -0
  24. package/build/types/item/ItemButton.d.ts +7 -0
  25. package/build/types/item/ItemButton.d.ts.map +1 -0
  26. package/build/types/item/ItemCheckbox.d.ts +4 -0
  27. package/build/types/item/ItemCheckbox.d.ts.map +1 -0
  28. package/build/types/item/ItemIconButton.d.ts +4 -0
  29. package/build/types/item/ItemIconButton.d.ts.map +1 -0
  30. package/build/types/item/ItemMedia.d.ts +19 -0
  31. package/build/types/item/ItemMedia.d.ts.map +1 -0
  32. package/build/types/item/ItemNavigation.d.ts +4 -0
  33. package/build/types/item/ItemNavigation.d.ts.map +1 -0
  34. package/build/types/item/ItemSwitch.d.ts +3 -0
  35. package/build/types/item/ItemSwitch.d.ts.map +1 -0
  36. package/build/types/item/index.d.ts +6 -0
  37. package/build/types/item/index.d.ts.map +1 -0
  38. package/build/types/item/prompt/Prompt.d.ts +12 -0
  39. package/build/types/item/prompt/Prompt.d.ts.map +1 -0
  40. package/build/types/listItem/List.d.ts.map +1 -0
  41. package/build/types/{legacylistItem/LegacyListItem.d.ts → listItem/ListItem.d.ts} +4 -4
  42. package/build/types/listItem/ListItem.d.ts.map +1 -0
  43. package/build/types/listItem/index.d.ts +5 -0
  44. package/build/types/listItem/index.d.ts.map +1 -0
  45. package/build/types/test-utils/fake-data.d.ts +2 -0
  46. package/build/types/test-utils/fake-data.d.ts.map +1 -1
  47. package/package.json +3 -3
  48. package/src/flowNavigation/animatedLabel/AnimatedLabel.tsx +1 -1
  49. package/src/index.ts +4 -2
  50. package/src/item/Item.css +183 -0
  51. package/src/item/Item.less +177 -0
  52. package/src/item/Item.story.tsx +175 -0
  53. package/src/item/Item.tsx +177 -0
  54. package/src/item/ItemAdditionalInfo.tsx +31 -0
  55. package/src/item/ItemButton.tsx +25 -0
  56. package/src/item/ItemCheckbox.tsx +16 -0
  57. package/src/item/ItemIconButton.tsx +15 -0
  58. package/src/item/ItemMedia.tsx +52 -0
  59. package/src/item/ItemNavigation.tsx +16 -0
  60. package/src/item/ItemSwitch.tsx +13 -0
  61. package/src/item/index.ts +6 -0
  62. package/src/item/prompt/Prompt.spec.tsx +77 -0
  63. package/src/item/prompt/Prompt.story.tsx +170 -0
  64. package/src/item/prompt/Prompt.tsx +44 -0
  65. package/src/{legacylistItem/LegacyListItem.tests.story.tsx → listItem/ListItem.tests.story.tsx} +2 -2
  66. package/src/{legacylistItem/LegacyListItem.tsx → listItem/ListItem.tsx} +3 -3
  67. package/src/listItem/index.ts +4 -0
  68. package/src/main.css +183 -3
  69. package/src/main.less +2 -1
  70. package/src/switch/Switch.css +0 -3
  71. package/src/switch/Switch.less +0 -1
  72. package/src/test-utils/assets/apple-pay-logo.svg +84 -0
  73. package/src/test-utils/fake-data.ts +5 -0
  74. package/build/legacylistItem/LegacyListItem.js.map +0 -1
  75. package/build/legacylistItem/LegacyListItem.mjs.map +0 -1
  76. package/build/legacylistItem/List.js.map +0 -1
  77. package/build/legacylistItem/List.mjs.map +0 -1
  78. package/build/types/legacylistItem/LegacyListItem.d.ts.map +0 -1
  79. package/build/types/legacylistItem/List.d.ts.map +0 -1
  80. package/build/types/legacylistItem/index.d.ts +0 -5
  81. package/build/types/legacylistItem/index.d.ts.map +0 -1
  82. package/src/legacylistItem/index.ts +0 -4
  83. /package/build/{legacylistItem → listItem}/List.js +0 -0
  84. /package/build/{legacylistItem → listItem}/List.mjs +0 -0
  85. /package/build/styles/{legacylistItem/LegacyListItem.css → listItem/ListItem.css} +0 -0
  86. /package/build/types/{legacylistItem → listItem}/List.d.ts +0 -0
  87. /package/src/{legacylistItem → listItem}/List.tsx +0 -0
  88. /package/src/{legacylistItem/LegacyListItem.css → listItem/ListItem.css} +0 -0
  89. /package/src/{legacylistItem/LegacyListItem.less → listItem/ListItem.less} +0 -0
  90. /package/src/{legacylistItem/LegacyListItem.spec.tsx → listItem/ListItem.spec.tsx} +0 -0
  91. /package/src/{legacylistItem/LegacyListItem.story.tsx → listItem/ListItem.story.tsx} +0 -0
@@ -8,7 +8,7 @@ var BottomSheet = require('../../common/bottomSheet/BottomSheet.js');
8
8
  var Option = require('../../common/Option/Option.js');
9
9
  var icons = require('@transferwise/icons');
10
10
  var OverlayIdProvider = require('../../provider/overlay/OverlayIdProvider.js');
11
- var List = require('../../legacylistItem/List.js');
11
+ var List = require('../../listItem/List.js');
12
12
  require('../../body/Body.js');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedLabel.js","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../legacylistItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
1
+ {"version":3,"file":"AnimatedLabel.js","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../listItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
@@ -4,7 +4,7 @@ import BottomSheet from '../../common/bottomSheet/BottomSheet.mjs';
4
4
  import Option from '../../common/Option/Option.mjs';
5
5
  import { ChevronDown, Check } from '@transferwise/icons';
6
6
  import { OverlayIdProvider, OverlayIdContext } from '../../provider/overlay/OverlayIdProvider.mjs';
7
- import { List } from '../../legacylistItem/List.mjs';
7
+ import { List } from '../../listItem/List.mjs';
8
8
  import '../../body/Body.mjs';
9
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedLabel.mjs","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../legacylistItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
1
+ {"version":3,"file":"AnimatedLabel.mjs","sources":["../../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useId, useState } from 'react';\n\nimport type { Step } from '../../stepper/Stepper';\nimport BottomSheet from '../../common/bottomSheet';\nimport Option from '../../common/Option';\nimport { Check, ChevronDown } from '@transferwise/icons';\nimport { OverlayIdContext, OverlayIdProvider } from '../../provider/overlay/OverlayIdProvider';\nimport { List } from '../../listItem';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n steps: readonly Step[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, steps }: AnimatedLabelProps) => {\n const labelId = useId();\n const [showSteps, setShowSteps] = useState(false);\n\n function handleStepAction(onClick: Step['onClick']) {\n return () => {\n setShowSteps(false);\n onClick?.();\n };\n }\n\n return (\n <OverlayIdProvider open={showSteps}>\n <OverlayIdContext.Consumer>\n {(overlayId) => {\n return (\n <>\n <button\n type=\"button\"\n id={labelId}\n aria-haspopup=\"menu\"\n aria-controls={overlayId}\n aria-expanded={showSteps}\n className={clsx(\n 'np-animated-label',\n 'btn-unstyled',\n 'np-text-body-large-bold',\n className,\n )}\n onClick={() => setShowSteps(true)}\n >\n {steps.map(({ label }, index) => {\n const isCurrentStep = activeLabel === index;\n const previousIndex = index - 1;\n return (\n <div\n key={previousIndex}\n aria-hidden={!isCurrentStep}\n className={clsx('text-xs-center', 'd-inline-flex', 'align-items-center', {\n 'np-animated-label--active text-ellipsis': isCurrentStep,\n })}\n >\n {label} <ChevronDown />\n </div>\n );\n })}\n </button>\n <BottomSheet\n role=\"menu\"\n aria-labelledby={labelId}\n open={showSteps}\n onClose={() => setShowSteps(false)}\n >\n <List className=\"m-b-0 p-a-1\">\n {steps.map((step, index) => {\n const isCurrentStep = activeLabel === index;\n const isDisabled = activeLabel < index;\n const itemId = `step-${index}`;\n return (\n <Option\n key={itemId}\n id={itemId}\n as=\"li\"\n role=\"menuitem\"\n decision={false}\n className={clsx('np-animated-label-option', 'p-x-3', 'p-y-1', 'm-y-1', {\n clickable: !isDisabled,\n })}\n title={step.label}\n content={step.hoverLabel}\n button={isCurrentStep ? <Check size={24} /> : null}\n aria-current={isCurrentStep ? 'step' : false}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n isContainerAligned\n {...(!isDisabled && {\n tabIndex: 0,\n onClick: handleStepAction(step.onClick),\n onKeyDown: (event) => {\n event.preventDefault();\n if (event.code === 'Enter' || event.code === 'Space') {\n handleStepAction(step.onClick)();\n }\n },\n })}\n />\n );\n })}\n </List>\n </BottomSheet>\n </>\n );\n }}\n </OverlayIdContext.Consumer>\n </OverlayIdProvider>\n );\n};\n\nexport default AnimatedLabel;\n"],"names":["AnimatedLabel","activeLabel","className","steps","labelId","useId","showSteps","setShowSteps","useState","handleStepAction","onClick","_jsx","OverlayIdProvider","open","children","OverlayIdContext","Consumer","overlayId","_jsxs","_Fragment","type","id","clsx","map","label","index","isCurrentStep","previousIndex","ChevronDown","BottomSheet","role","onClose","List","step","isDisabled","itemId","Option","as","decision","clickable","title","content","hoverLabel","button","Check","size","disabled","isContainerAligned","tabIndex","onKeyDown","event","preventDefault","code"],"mappings":"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"}
package/build/index.js CHANGED
@@ -61,8 +61,8 @@ var TextArea = require('./inputs/TextArea.js');
61
61
  var InstructionsList = require('./instructionsList/InstructionsList.js');
62
62
  var Label = require('./label/Label.js');
63
63
  var Link = require('./link/Link.js');
64
- var List = require('./legacylistItem/List.js');
65
- var LegacyListItem = require('./legacylistItem/LegacyListItem.js');
64
+ var List = require('./listItem/List.js');
65
+ var ListItem = require('./listItem/ListItem.js');
66
66
  var Loader = require('./loader/Loader.js');
67
67
  var Logo = require('./logo/Logo.js');
68
68
  var Markdown = require('./markdown/Markdown.js');
@@ -220,8 +220,7 @@ exports.InstructionsList = InstructionsList.default;
220
220
  exports.Label = Label.Label;
221
221
  exports.Link = Link.default;
222
222
  exports.List = List.List;
223
- exports.LegacyListItem = LegacyListItem.default;
224
- exports.ListItem = LegacyListItem.default;
223
+ exports.ListItem = ListItem.default;
225
224
  exports.Loader = Loader.default;
226
225
  exports.Logo = Logo.default;
227
226
  Object.defineProperty(exports, "LogoType", {
@@ -275,6 +274,7 @@ Object.defineProperty(exports, "UploadStep", {
275
274
  get: function () { return Upload.UploadStep; }
276
275
  });
277
276
  exports.UploadInput = UploadInput.default;
277
+ exports.Item = Table.default;
278
278
  exports.Table = Table.default;
279
279
  exports.useDirection = useDirection.useDirection;
280
280
  exports.useLayout = useLayout.useLayout;
package/build/index.mjs CHANGED
@@ -59,8 +59,8 @@ export { TextArea } from './inputs/TextArea.mjs';
59
59
  export { default as InstructionsList } from './instructionsList/InstructionsList.mjs';
60
60
  export { Label } from './label/Label.mjs';
61
61
  export { default as Link } from './link/Link.mjs';
62
- export { List } from './legacylistItem/List.mjs';
63
- export { default as LegacyListItem, default as ListItem } from './legacylistItem/LegacyListItem.mjs';
62
+ export { List } from './listItem/List.mjs';
63
+ export { default as ListItem } from './listItem/ListItem.mjs';
64
64
  export { default as Loader } from './loader/Loader.mjs';
65
65
  export { default as Logo, LogoType } from './logo/Logo.mjs';
66
66
  export { default as Markdown } from './markdown/Markdown.mjs';
@@ -105,7 +105,7 @@ export { default as Tooltip } from './tooltip/Tooltip.mjs';
105
105
  export { default as Typeahead } from './typeahead/Typeahead.mjs';
106
106
  export { default as Upload, UploadStep } from './upload/Upload.mjs';
107
107
  export { default as UploadInput } from './uploadInput/UploadInput.mjs';
108
- export { default as Table } from './table/Table.mjs';
108
+ export { default as Item, default as Table } from './table/Table.mjs';
109
109
  import '@transferwise/neptune-validation';
110
110
  export { useDirection } from './common/hooks/useDirection/useDirection.mjs';
111
111
  export { useLayout } from './common/hooks/useLayout/useLayout.mjs';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sources":["../../src/listItem/List.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport interface ListProps {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport function List({ className, children }: ListProps) {\n return <ul className={clsx(className, 'list-unstyled')}>{children}</ul>;\n}\n"],"names":["List","className","children","_jsx","clsx"],"mappings":";;;;;SAOgBA,IAAIA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,QAAAA;AAAqB,CAAA,EAAA;AACrD,EAAA,oBAAOC,cAAA,CAAA,IAAA,EAAA;AAAIF,IAAAA,SAAS,EAAEG,SAAI,CAACH,SAAS,EAAE,eAAe,CAAE;AAAAC,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAK,CAAC,CAAA;AACzE;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.mjs","sources":["../../src/listItem/List.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport interface ListProps {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport function List({ className, children }: ListProps) {\n return <ul className={clsx(className, 'list-unstyled')}>{children}</ul>;\n}\n"],"names":["List","className","children","_jsx","clsx"],"mappings":";;;SAOgBA,IAAIA,CAAC;EAAEC,SAAS;AAAEC,EAAAA,QAAAA;AAAqB,CAAA,EAAA;AACrD,EAAA,oBAAOC,GAAA,CAAA,IAAA,EAAA;AAAIF,IAAAA,SAAS,EAAEG,IAAI,CAACH,SAAS,EAAE,eAAe,CAAE;AAAAC,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAK,CAAC,CAAA;AACzE;;;;"}
@@ -6,7 +6,7 @@ var clsx = require('clsx');
6
6
  var Body = require('../body/Body.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
- const LegacyListItem = ({
9
+ const ListItem = ({
10
10
  media,
11
11
  action,
12
12
  className,
@@ -43,5 +43,5 @@ const LegacyListItem = ({
43
43
  });
44
44
  };
45
45
 
46
- exports.default = LegacyListItem;
47
- //# sourceMappingURL=LegacyListItem.js.map
46
+ exports.default = ListItem;
47
+ //# sourceMappingURL=ListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.js","sources":["../../src/listItem/ListItem.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ElementType, FC, ReactNode } from 'react';\n\nimport Body from '../body/Body';\n\nexport type ListItemProps = {\n title: ReactNode;\n value: ReactNode;\n media?: ReactNode;\n action?: ReactNode;\n className?: string;\n isContainerAligned?: boolean;\n as?: ElementType;\n};\n\nconst ListItem: FC<ListItemProps> = ({\n media,\n action,\n className,\n title,\n value,\n isContainerAligned,\n as = 'li',\n ...rest\n}) => {\n const Element = as;\n\n return (\n <Element\n className={clsx('np-list-item d-flex align-items-center p-y-2', className, {\n 'p-x-2': !isContainerAligned,\n })}\n {...rest}\n >\n {media}\n\n <div className={clsx('d-flex flex-column', { 'p-l-2': !!media, 'p-r-2': !!action })}>\n <Body type=\"body-default\" className=\"text-secondary m-b-0\">\n {title}\n </Body>\n {value && (\n <Body type=\"body-large\" className=\"text-primary text-overflow-wrap m-b-0\">\n {value}\n </Body>\n )}\n </div>\n\n {action ? <div className=\"np-list-item__action m-l-auto\">{action}</div> : null}\n </Element>\n );\n};\n\nexport default ListItem;\n"],"names":["ListItem","media","action","className","title","value","isContainerAligned","as","rest","Element","_jsxs","clsx","children","_jsx","Body","type"],"mappings":";;;;;;;;AAeMA,MAAAA,QAAQ,GAAsBA,CAAC;EACnCC,KAAK;EACLC,MAAM;EACNC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC,kBAAkB;AAClBC,EAAAA,EAAE,GAAG,IAAI;EACT,GAAGC,IAAAA;AACJ,CAAA,KAAI;EACH,MAAMC,OAAO,GAAGF,EAAE,CAAA;EAElB,oBACEG,eAAA,CAACD,OAAO,EAAA;AACNN,IAAAA,SAAS,EAAEQ,SAAI,CAAC,8CAA8C,EAAER,SAAS,EAAE;AACzE,MAAA,OAAO,EAAE,CAACG,kBAAAA;AACX,KAAA,CAAE;AAAA,IAAA,GACCE,IAAI;IAAAI,QAAA,EAAA,CAEPX,KAAK,eAENS,eAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAEQ,SAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO,EAAE,CAAC,CAACV,KAAK;QAAE,OAAO,EAAE,CAAC,CAACC,MAAAA;AAAM,OAAE,CAAE;MAAAU,QAAA,EAAA,cAClFC,cAAA,CAACC,YAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,cAAc;AAACZ,QAAAA,SAAS,EAAC,sBAAsB;AAAAS,QAAAA,QAAA,EACvDR,KAAAA;AAAK,OACF,CACN,EAACC,KAAK,iBACJQ,cAAA,CAACC,YAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,YAAY;AAACZ,QAAAA,SAAS,EAAC,uCAAuC;AAAAS,QAAAA,QAAA,EACtEP,KAAAA;AAAK,OACF,CACP,CAAA;AAAA,KACE,CAEL,EAACH,MAAM,gBAAGW,cAAA,CAAA,KAAA,EAAA;AAAKV,MAAAA,SAAS,EAAC,+BAA+B;AAAAS,MAAAA,QAAA,EAAEV,MAAAA;KAAY,CAAC,GAAG,IAAI,CAAA;AAAA,GACvE,CAAC,CAAA;AAEd;;;;"}
@@ -2,7 +2,7 @@ import { clsx } from 'clsx';
2
2
  import Body from '../body/Body.mjs';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
- const LegacyListItem = ({
5
+ const ListItem = ({
6
6
  media,
7
7
  action,
8
8
  className,
@@ -39,5 +39,5 @@ const LegacyListItem = ({
39
39
  });
40
40
  };
41
41
 
42
- export { LegacyListItem as default };
43
- //# sourceMappingURL=LegacyListItem.mjs.map
42
+ export { ListItem as default };
43
+ //# sourceMappingURL=ListItem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.mjs","sources":["../../src/listItem/ListItem.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ElementType, FC, ReactNode } from 'react';\n\nimport Body from '../body/Body';\n\nexport type ListItemProps = {\n title: ReactNode;\n value: ReactNode;\n media?: ReactNode;\n action?: ReactNode;\n className?: string;\n isContainerAligned?: boolean;\n as?: ElementType;\n};\n\nconst ListItem: FC<ListItemProps> = ({\n media,\n action,\n className,\n title,\n value,\n isContainerAligned,\n as = 'li',\n ...rest\n}) => {\n const Element = as;\n\n return (\n <Element\n className={clsx('np-list-item d-flex align-items-center p-y-2', className, {\n 'p-x-2': !isContainerAligned,\n })}\n {...rest}\n >\n {media}\n\n <div className={clsx('d-flex flex-column', { 'p-l-2': !!media, 'p-r-2': !!action })}>\n <Body type=\"body-default\" className=\"text-secondary m-b-0\">\n {title}\n </Body>\n {value && (\n <Body type=\"body-large\" className=\"text-primary text-overflow-wrap m-b-0\">\n {value}\n </Body>\n )}\n </div>\n\n {action ? <div className=\"np-list-item__action m-l-auto\">{action}</div> : null}\n </Element>\n );\n};\n\nexport default ListItem;\n"],"names":["ListItem","media","action","className","title","value","isContainerAligned","as","rest","Element","_jsxs","clsx","children","_jsx","Body","type"],"mappings":";;;;AAeMA,MAAAA,QAAQ,GAAsBA,CAAC;EACnCC,KAAK;EACLC,MAAM;EACNC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC,kBAAkB;AAClBC,EAAAA,EAAE,GAAG,IAAI;EACT,GAAGC,IAAAA;AACJ,CAAA,KAAI;EACH,MAAMC,OAAO,GAAGF,EAAE,CAAA;EAElB,oBACEG,IAAA,CAACD,OAAO,EAAA;AACNN,IAAAA,SAAS,EAAEQ,IAAI,CAAC,8CAA8C,EAAER,SAAS,EAAE;AACzE,MAAA,OAAO,EAAE,CAACG,kBAAAA;AACX,KAAA,CAAE;AAAA,IAAA,GACCE,IAAI;IAAAI,QAAA,EAAA,CAEPX,KAAK,eAENS,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAEQ,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO,EAAE,CAAC,CAACV,KAAK;QAAE,OAAO,EAAE,CAAC,CAACC,MAAAA;AAAM,OAAE,CAAE;MAAAU,QAAA,EAAA,cAClFC,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,cAAc;AAACZ,QAAAA,SAAS,EAAC,sBAAsB;AAAAS,QAAAA,QAAA,EACvDR,KAAAA;AAAK,OACF,CACN,EAACC,KAAK,iBACJQ,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,YAAY;AAACZ,QAAAA,SAAS,EAAC,uCAAuC;AAAAS,QAAAA,QAAA,EACtEP,KAAAA;AAAK,OACF,CACP,CAAA;AAAA,KACE,CAEL,EAACH,MAAM,gBAAGW,GAAA,CAAA,KAAA,EAAA;AAAKV,MAAAA,SAAS,EAAC,+BAA+B;AAAAS,MAAAA,QAAA,EAAEV,MAAAA;KAAY,CAAC,GAAG,IAAI,CAAA;AAAA,GACvE,CAAC,CAAA;AAEd;;;;"}
package/build/main.css CHANGED
@@ -2648,6 +2648,189 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
2648
2648
  border-radius: 9999px !important;
2649
2649
  border-radius: var(--radius-full) !important;
2650
2650
  }
2651
+ .np-item {
2652
+ padding: 16px;
2653
+ padding: var(--size-16);
2654
+ border-radius: 24px;
2655
+ border-radius: var(--radius-large);
2656
+ background-color: #ffffff;
2657
+ background-color: var(--color-background-screen);
2658
+ gap: 16px;
2659
+ gap: var(--size-16);
2660
+ cursor: pointer;
2661
+ }
2662
+ .np-item:hover {
2663
+ background-color: var(--color-background-screen-hover);
2664
+ }
2665
+ .np-item:active {
2666
+ background-color: var(--color-background-screen-active);
2667
+ }
2668
+ .np-item-media-image {
2669
+ width: var(--item-media-image-size);
2670
+ height: var(--item-media-image-size);
2671
+ }
2672
+ .np-item-title {
2673
+ color: #37517e;
2674
+ color: var(--color-content-primary);
2675
+ }
2676
+ .np-item-additional-info {
2677
+ color: #768e9c;
2678
+ color: var(--color-content-tertiary);
2679
+ }
2680
+ .np-item-value {
2681
+ flex: 0 0 auto;
2682
+ }
2683
+ .np-item-control {
2684
+ flex: 0 0 auto;
2685
+ }
2686
+ .np-item-spotlight-active {
2687
+ background-color: rgba(134,167,189,0.10196);
2688
+ background-color: var(--color-background-neutral);
2689
+ }
2690
+ .np-item-spotlight-active:hover {
2691
+ background-color: var(--color-background-neutral-hover);
2692
+ }
2693
+ .np-item-spotlight-active:active {
2694
+ background-color: var(--color-background-neutral-active);
2695
+ }
2696
+ .np-item-spotlight-inactive {
2697
+ background-color: rgba(134, 167, 189, 0.025);
2698
+ border: 1px dashed rgba(0,0,0,0.10196);
2699
+ border: 1px dashed var(--color-border-neutral);
2700
+ }
2701
+ @supports (color: color-mix(in lch, red, blue)) {
2702
+ .np-item-spotlight-inactive {
2703
+ background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
2704
+ }
2705
+ }
2706
+ .np-item-spotlight-inactive:hover {
2707
+ background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
2708
+ }
2709
+ .np-item-spotlight-inactive:active {
2710
+ background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
2711
+ }
2712
+ .np-item-prompt {
2713
+ display: inline-flex;
2714
+ padding-top: calc(8px / 2);
2715
+ padding-top: calc(var(--padding-x-small) / 2);
2716
+ padding-bottom: calc(8px / 2);
2717
+ padding-bottom: calc(var(--padding-x-small) / 2);
2718
+ padding-left: calc(8px - 1px);
2719
+ padding-left: calc(var(--padding-x-small) - 1px);
2720
+ padding-right: 8px;
2721
+ padding-right: var(--padding-x-small);
2722
+ border-radius: 10px;
2723
+ border-radius: var(--radius-small);
2724
+ word-break: break-word;
2725
+ word-wrap: break-word;
2726
+ }
2727
+ .np-item-prompt .np-prompt-icon {
2728
+ padding-right: calc(12px / 2);
2729
+ padding-right: calc(var(--size-12) / 2);
2730
+ padding-top: calc(4px - 1px);
2731
+ padding-top: calc(var(--size-4) - 1px);
2732
+ padding-bottom: calc(4px - 1px);
2733
+ padding-bottom: calc(var(--size-4) - 1px);
2734
+ }
2735
+ .np-item-prompt .np-prompt-icon .tw-icon-tags,
2736
+ .np-item-prompt .np-prompt-icon .tw-icon-confetti {
2737
+ color: var(--color-sentiment-positive-primary);
2738
+ }
2739
+ .np-item-prompt a {
2740
+ text-underline-offset: calc(4px / 2);
2741
+ text-underline-offset: calc(var(--size-4) / 2);
2742
+ }
2743
+ .np-item-prompt.np-prompt-interactive {
2744
+ -webkit-text-decoration: none;
2745
+ text-decoration: none;
2746
+ cursor: pointer;
2747
+ border: none;
2748
+ }
2749
+ .np-item-prompt.negative {
2750
+ background-color: var(--color-sentiment-negative-secondary);
2751
+ color: var(--color-sentiment-negative-primary);
2752
+ }
2753
+ .np-item-prompt.negative a {
2754
+ color: var(--color-sentiment-negative-primary);
2755
+ }
2756
+ .np-item-prompt.negative a:hover {
2757
+ color: var(--color-sentiment-negative-primary-hover);
2758
+ }
2759
+ .np-item-prompt.negative a:active {
2760
+ color: var(--color-sentiment-negative-primary-active);
2761
+ }
2762
+ .np-prompt-interactive.np-item-prompt.negative:hover {
2763
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
2764
+ }
2765
+ .np-prompt-interactive.np-item-prompt.negative:active {
2766
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
2767
+ }
2768
+ .np-item-prompt.positive,
2769
+ .np-item-prompt.discount,
2770
+ .np-item-prompt.savings {
2771
+ background-color: var(--color-sentiment-positive-secondary);
2772
+ color: var(--color-sentiment-positive-primary);
2773
+ }
2774
+ .np-item-prompt.positive a,
2775
+ .np-item-prompt.discount a,
2776
+ .np-item-prompt.savings a {
2777
+ color: var(--color-sentiment-positive-primary);
2778
+ }
2779
+ .np-item-prompt.positive a:hover,
2780
+ .np-item-prompt.discount a:hover,
2781
+ .np-item-prompt.savings a:hover {
2782
+ color: var(--color-sentiment-positive-primary-hover);
2783
+ }
2784
+ .np-item-prompt.positive a:active,
2785
+ .np-item-prompt.discount a:active,
2786
+ .np-item-prompt.savings a:active {
2787
+ color: var(--color-sentiment-positive-primary-active);
2788
+ }
2789
+ .np-prompt-interactive.np-item-prompt.positive:hover,
2790
+ .np-prompt-interactive.np-item-prompt.discount:hover,
2791
+ .np-prompt-interactive.np-item-prompt.savings:hover {
2792
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
2793
+ }
2794
+ .np-prompt-interactive.np-item-prompt.positive:active,
2795
+ .np-prompt-interactive.np-item-prompt.discount:active,
2796
+ .np-prompt-interactive.np-item-prompt.savings:active {
2797
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
2798
+ }
2799
+ .np-item-prompt.neutral {
2800
+ background-color: rgba(134,167,189,0.10196);
2801
+ background-color: var(--color-background-neutral);
2802
+ color: #37517e;
2803
+ color: var(--color-content-primary);
2804
+ }
2805
+ .np-item-prompt.neutral a {
2806
+ color: #37517e;
2807
+ color: var(--color-content-primary);
2808
+ }
2809
+ .np-prompt-interactive.np-item-prompt.neutral:hover {
2810
+ background-color: var(--color-background-neutral-hover);
2811
+ }
2812
+ .np-prompt-interactive.np-item-prompt.neutral:active {
2813
+ background-color: var(--color-background-neutral-active);
2814
+ }
2815
+ .np-item-prompt.warning {
2816
+ background-color: var(--color-sentiment-warning-secondary);
2817
+ color: var(--color-sentiment-warning-content);
2818
+ }
2819
+ .np-item-prompt.warning a {
2820
+ color: var(--color-sentiment-warning-content);
2821
+ }
2822
+ .np-item-prompt.warning a:hover {
2823
+ color: var(--color-sentiment-warning-content-hover);
2824
+ }
2825
+ .np-item-prompt.warning a:active {
2826
+ color: var(--color-sentiment-warning-content-active);
2827
+ }
2828
+ .np-prompt-interactive.np-item-prompt.warning:hover {
2829
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
2830
+ }
2831
+ .np-prompt-interactive.np-item-prompt.warning:active {
2832
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
2833
+ }
2651
2834
  .np-field-control {
2652
2835
  margin-top: 4px;
2653
2836
  margin-top: var(--size-4);
@@ -5165,9 +5348,6 @@ html:not([dir="rtl"]) .np-navigation-option {
5165
5348
  width: 50px;
5166
5349
  padding: 2px;
5167
5350
  border-radius: 16px;
5168
- -webkit-user-select: none;
5169
- -moz-user-select: none;
5170
- user-select: none;
5171
5351
  }
5172
5352
  .np-switch:focus {
5173
5353
  outline: none;
@@ -0,0 +1,183 @@
1
+ .np-item {
2
+ padding: 16px;
3
+ padding: var(--size-16);
4
+ border-radius: 24px;
5
+ border-radius: var(--radius-large);
6
+ background-color: #ffffff;
7
+ background-color: var(--color-background-screen);
8
+ gap: 16px;
9
+ gap: var(--size-16);
10
+ cursor: pointer;
11
+ }
12
+ .np-item:hover {
13
+ background-color: var(--color-background-screen-hover);
14
+ }
15
+ .np-item:active {
16
+ background-color: var(--color-background-screen-active);
17
+ }
18
+ .np-item-media-image {
19
+ width: var(--item-media-image-size);
20
+ height: var(--item-media-image-size);
21
+ }
22
+ .np-item-title {
23
+ color: #37517e;
24
+ color: var(--color-content-primary);
25
+ }
26
+ .np-item-additional-info {
27
+ color: #768e9c;
28
+ color: var(--color-content-tertiary);
29
+ }
30
+ .np-item-value {
31
+ flex: 0 0 auto;
32
+ }
33
+ .np-item-control {
34
+ flex: 0 0 auto;
35
+ }
36
+ .np-item-spotlight-active {
37
+ background-color: rgba(134,167,189,0.10196);
38
+ background-color: var(--color-background-neutral);
39
+ }
40
+ .np-item-spotlight-active:hover {
41
+ background-color: var(--color-background-neutral-hover);
42
+ }
43
+ .np-item-spotlight-active:active {
44
+ background-color: var(--color-background-neutral-active);
45
+ }
46
+ .np-item-spotlight-inactive {
47
+ background-color: rgba(134, 167, 189, 0.025);
48
+ border: 1px dashed rgba(0,0,0,0.10196);
49
+ border: 1px dashed var(--color-border-neutral);
50
+ }
51
+ @supports (color: color-mix(in lch, red, blue)) {
52
+ .np-item-spotlight-inactive {
53
+ background-color: color-mix(in srgb, var(--color-background-neutral) 25%, transparent);
54
+ }
55
+ }
56
+ .np-item-spotlight-inactive:hover {
57
+ background-color: color-mix(in srgb, var(--color-background-neutral-hover) 25%, transparent);
58
+ }
59
+ .np-item-spotlight-inactive:active {
60
+ background-color: color-mix(in srgb, var(--color-background-neutral-active) 25%, transparent);
61
+ }
62
+ .np-item-prompt {
63
+ display: inline-flex;
64
+ padding-top: calc(8px / 2);
65
+ padding-top: calc(var(--padding-x-small) / 2);
66
+ padding-bottom: calc(8px / 2);
67
+ padding-bottom: calc(var(--padding-x-small) / 2);
68
+ padding-left: calc(8px - 1px);
69
+ padding-left: calc(var(--padding-x-small) - 1px);
70
+ padding-right: 8px;
71
+ padding-right: var(--padding-x-small);
72
+ border-radius: 10px;
73
+ border-radius: var(--radius-small);
74
+ word-break: break-word;
75
+ word-wrap: break-word;
76
+ }
77
+ .np-item-prompt .np-prompt-icon {
78
+ padding-right: calc(12px / 2);
79
+ padding-right: calc(var(--size-12) / 2);
80
+ padding-top: calc(4px - 1px);
81
+ padding-top: calc(var(--size-4) - 1px);
82
+ padding-bottom: calc(4px - 1px);
83
+ padding-bottom: calc(var(--size-4) - 1px);
84
+ }
85
+ .np-item-prompt .np-prompt-icon .tw-icon-tags,
86
+ .np-item-prompt .np-prompt-icon .tw-icon-confetti {
87
+ color: var(--color-sentiment-positive-primary);
88
+ }
89
+ .np-item-prompt a {
90
+ text-underline-offset: calc(4px / 2);
91
+ text-underline-offset: calc(var(--size-4) / 2);
92
+ }
93
+ .np-item-prompt.np-prompt-interactive {
94
+ -webkit-text-decoration: none;
95
+ text-decoration: none;
96
+ cursor: pointer;
97
+ border: none;
98
+ }
99
+ .np-item-prompt.negative {
100
+ background-color: var(--color-sentiment-negative-secondary);
101
+ color: var(--color-sentiment-negative-primary);
102
+ }
103
+ .np-item-prompt.negative a {
104
+ color: var(--color-sentiment-negative-primary);
105
+ }
106
+ .np-item-prompt.negative a:hover {
107
+ color: var(--color-sentiment-negative-primary-hover);
108
+ }
109
+ .np-item-prompt.negative a:active {
110
+ color: var(--color-sentiment-negative-primary-active);
111
+ }
112
+ .np-prompt-interactive.np-item-prompt.negative:hover {
113
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 95%, var(--color-sentiment-negative-primary));
114
+ }
115
+ .np-prompt-interactive.np-item-prompt.negative:active {
116
+ background-color: color-mix(in srgb, var(--color-sentiment-negative-secondary) 90%, var(--color-sentiment-negative-primary));
117
+ }
118
+ .np-item-prompt.positive,
119
+ .np-item-prompt.discount,
120
+ .np-item-prompt.savings {
121
+ background-color: var(--color-sentiment-positive-secondary);
122
+ color: var(--color-sentiment-positive-primary);
123
+ }
124
+ .np-item-prompt.positive a,
125
+ .np-item-prompt.discount a,
126
+ .np-item-prompt.savings a {
127
+ color: var(--color-sentiment-positive-primary);
128
+ }
129
+ .np-item-prompt.positive a:hover,
130
+ .np-item-prompt.discount a:hover,
131
+ .np-item-prompt.savings a:hover {
132
+ color: var(--color-sentiment-positive-primary-hover);
133
+ }
134
+ .np-item-prompt.positive a:active,
135
+ .np-item-prompt.discount a:active,
136
+ .np-item-prompt.savings a:active {
137
+ color: var(--color-sentiment-positive-primary-active);
138
+ }
139
+ .np-prompt-interactive.np-item-prompt.positive:hover,
140
+ .np-prompt-interactive.np-item-prompt.discount:hover,
141
+ .np-prompt-interactive.np-item-prompt.savings:hover {
142
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 95%, var(--color-sentiment-positive-primary));
143
+ }
144
+ .np-prompt-interactive.np-item-prompt.positive:active,
145
+ .np-prompt-interactive.np-item-prompt.discount:active,
146
+ .np-prompt-interactive.np-item-prompt.savings:active {
147
+ background-color: color-mix(in srgb, var(--color-sentiment-positive-secondary) 90%, var(--color-sentiment-positive-primary));
148
+ }
149
+ .np-item-prompt.neutral {
150
+ background-color: rgba(134,167,189,0.10196);
151
+ background-color: var(--color-background-neutral);
152
+ color: #37517e;
153
+ color: var(--color-content-primary);
154
+ }
155
+ .np-item-prompt.neutral a {
156
+ color: #37517e;
157
+ color: var(--color-content-primary);
158
+ }
159
+ .np-prompt-interactive.np-item-prompt.neutral:hover {
160
+ background-color: var(--color-background-neutral-hover);
161
+ }
162
+ .np-prompt-interactive.np-item-prompt.neutral:active {
163
+ background-color: var(--color-background-neutral-active);
164
+ }
165
+ .np-item-prompt.warning {
166
+ background-color: var(--color-sentiment-warning-secondary);
167
+ color: var(--color-sentiment-warning-content);
168
+ }
169
+ .np-item-prompt.warning a {
170
+ color: var(--color-sentiment-warning-content);
171
+ }
172
+ .np-item-prompt.warning a:hover {
173
+ color: var(--color-sentiment-warning-content-hover);
174
+ }
175
+ .np-item-prompt.warning a:active {
176
+ color: var(--color-sentiment-warning-content-active);
177
+ }
178
+ .np-prompt-interactive.np-item-prompt.warning:hover {
179
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 90%, var(--color-sentiment-warning-primary));
180
+ }
181
+ .np-prompt-interactive.np-item-prompt.warning:active {
182
+ background-color: color-mix(in srgb, var(--color-sentiment-warning-secondary) 80%, var(--color-sentiment-warning-primary));
183
+ }