softable-pixels-web 1.1.8 → 1.1.10

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 (98) hide show
  1. package/dist/{Button-BrV5pWD2.js → Button-DCVmSier.js} +9 -9
  2. package/dist/Button-DCVmSier.js.map +1 -0
  3. package/dist/{CheckItem-DEUwzhbF.js → CheckItem-itm2oIeW.js} +4 -4
  4. package/dist/{CheckItem-DEUwzhbF.js.map → CheckItem-itm2oIeW.js.map} +1 -1
  5. package/dist/{Checkbox-CA11dJ4h.js → Checkbox-ly07FlTH.js} +5 -5
  6. package/dist/Checkbox-ly07FlTH.js.map +1 -0
  7. package/dist/ContextMenu-fSz83oSd.js +304 -0
  8. package/dist/ContextMenu-fSz83oSd.js.map +1 -0
  9. package/dist/{Icon-D40nGMJM.js → Icon-61UaAUrM.js} +2 -2
  10. package/dist/{Icon-D40nGMJM.js.map → Icon-61UaAUrM.js.map} +1 -1
  11. package/dist/{IconButton-BBdkzg3b.js → IconButton-CsHFWO8K.js} +2 -2
  12. package/dist/IconButton-CsHFWO8K.js.map +1 -0
  13. package/dist/{InfoSummary-Cft-E1GO.js → InfoSummary-DcupqKIy.js} +3 -3
  14. package/dist/{InfoSummary-Cft-E1GO.js.map → InfoSummary-DcupqKIy.js.map} +1 -1
  15. package/dist/Input-BFQKSMEQ.js +174 -0
  16. package/dist/Input-BFQKSMEQ.js.map +1 -0
  17. package/dist/Label-BhqH21lT.js +25 -0
  18. package/dist/Label-BhqH21lT.js.map +1 -0
  19. package/dist/Popover-BsDGCJ-f.js +81 -0
  20. package/dist/Popover-BsDGCJ-f.js.map +1 -0
  21. package/dist/Switch-B4e9qBOu.js +49 -0
  22. package/dist/Switch-B4e9qBOu.js.map +1 -0
  23. package/dist/{TabSwitch-D6WJc7Bf.js → TabSwitch-CvnlK0NZ.js} +4 -4
  24. package/dist/TabSwitch-CvnlK0NZ.js.map +1 -0
  25. package/dist/{TextArea-DY9c18r6.js → TextArea-CUrG_9je.js} +5 -5
  26. package/dist/TextArea-CUrG_9je.js.map +1 -0
  27. package/dist/{ThemeContext-0pOYSNvl.js → ThemeContext-CesN6Ejm.js} +22 -8
  28. package/dist/ThemeContext-CesN6Ejm.js.map +1 -0
  29. package/dist/{Typography-XA7uwbWe.js → Typography-j84zoCoZ.js} +2 -2
  30. package/dist/{Typography-XA7uwbWe.js.map → Typography-j84zoCoZ.js.map} +1 -1
  31. package/dist/button.d.ts +2 -2
  32. package/dist/button.js +3 -3
  33. package/dist/check-item.d.ts +1 -1
  34. package/dist/check-item.js +4 -4
  35. package/dist/checkbox.d.ts +2 -2
  36. package/dist/checkbox.js +4 -4
  37. package/dist/context-menu.d.ts +2 -0
  38. package/dist/context-menu.js +9 -0
  39. package/dist/icon-button.d.ts +1 -1
  40. package/dist/icon-button.js +2 -2
  41. package/dist/{index-DZqSyBAN.d.ts → index-2WYvBk8I.d.ts} +18 -4
  42. package/dist/{index-RcFYZiMi.d.ts → index-8GUY3yRY.d.ts} +1 -1
  43. package/dist/index-BANOx3xI.d.ts +44 -0
  44. package/dist/{index-CyvtOmP2.d.ts → index-BHhl7wD8.d.ts} +4 -3
  45. package/dist/index-BglHC9EI.d.ts +61 -0
  46. package/dist/{index-Cg3ejKX9.d.ts → index-CCiP7SPG.d.ts} +8 -4
  47. package/dist/{index-DQMtfFqC.d.ts → index-Cmj1xJBu.d.ts} +2 -2
  48. package/dist/{index-vtqd-Akd.d.ts → index-CyntoY7A.d.ts} +33 -4
  49. package/dist/index-DM5Wxo_Y.d.ts +104 -0
  50. package/dist/index-DewFmT68.d.ts +15 -0
  51. package/dist/{index-B9MqmTLB.d.ts → index-YYjoEwNX.d.ts} +39 -5
  52. package/dist/index.d.ts +16 -10
  53. package/dist/index.js +20 -14
  54. package/dist/info-summary.js +3 -3
  55. package/dist/input.d.ts +1 -2
  56. package/dist/input.js +5 -5
  57. package/dist/popover.d.ts +2 -0
  58. package/dist/popover.js +6 -0
  59. package/dist/{styleProps-D405c8KF.d.ts → styleProps-5iqKZpC1.d.ts} +1 -1
  60. package/dist/switch.d.ts +2 -0
  61. package/dist/switch.js +4 -0
  62. package/dist/tab-switch.d.ts +1 -1
  63. package/dist/tab-switch.js +3 -3
  64. package/dist/text-area.d.ts +2 -2
  65. package/dist/text-area.js +5 -5
  66. package/dist/theme-context.d.ts +1 -1
  67. package/dist/theme-context.js +1 -1
  68. package/dist/types-Dsf33Reg.d.ts +15 -0
  69. package/dist/{types-ESf1Pmhi.d.ts → types-ubME1KhJ.d.ts} +3 -3
  70. package/dist/typography.d.ts +3 -3
  71. package/dist/typography.js +2 -2
  72. package/dist/use-dismiss.d.ts +20 -0
  73. package/dist/use-dismiss.js +3 -0
  74. package/dist/use-floating.d.ts +15 -0
  75. package/dist/use-floating.js +3 -0
  76. package/dist/use-virtual-anchor.d.ts +12 -0
  77. package/dist/use-virtual-anchor.js +40 -0
  78. package/dist/use-virtual-anchor.js.map +1 -0
  79. package/dist/useDismiss-DJ1mh-X3.js +35 -0
  80. package/dist/useDismiss-DJ1mh-X3.js.map +1 -0
  81. package/dist/useFloating--PcINgSt.js +295 -0
  82. package/dist/useFloating--PcINgSt.js.map +1 -0
  83. package/dist/{useThemedStyles-B7irjShy.d.ts → useThemedStyles-C6dNoaRC.d.ts} +25 -6
  84. package/dist/{useThemedStyles-3rUXJYgS.js → useThemedStyles-MLtE91hE.js} +1 -1
  85. package/dist/useThemedStyles-MLtE91hE.js.map +1 -0
  86. package/package.json +46 -1
  87. package/dist/Button-BrV5pWD2.js.map +0 -1
  88. package/dist/Checkbox-CA11dJ4h.js.map +0 -1
  89. package/dist/IconButton-BBdkzg3b.js.map +0 -1
  90. package/dist/Input-BcDV2JOa.js +0 -327
  91. package/dist/Input-BcDV2JOa.js.map +0 -1
  92. package/dist/Label-DXpBz2AN.js +0 -79
  93. package/dist/Label-DXpBz2AN.js.map +0 -1
  94. package/dist/TabSwitch-D6WJc7Bf.js.map +0 -1
  95. package/dist/TextArea-DY9c18r6.js.map +0 -1
  96. package/dist/ThemeContext-0pOYSNvl.js.map +0 -1
  97. package/dist/index-De1q2lSW.d.ts +0 -49
  98. package/dist/useThemedStyles-3rUXJYgS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InfoSummary-Cft-E1GO.js","names":["SummaryHeader: React.FC<Props>","SummaryCaption: React.FC<Props>","SummaryHighlight: React.FC<Props>","SummaryItem: React.FC<SummaryItemProps>","InfoSummary: React.FC<InfoSummaryProps>"],"sources":["../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHeader/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHeader/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryCaption/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryCaption/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHighlight/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHighlight/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/index.tsx","../src/components/commons/toolkit/InfoSummary/styles.ts","../src/components/commons/toolkit/InfoSummary/index.tsx"],"sourcesContent":["// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryHeaderStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '1rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-end',\n\n gap: '0.125rem'\n },\n\n iconContainer: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'flex-start',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\nimport type { ReactNode } from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryHeaderStyles } from './styles'\n\ninterface Props {\n title: string\n icon?: ReactNode\n}\n\nexport const SummaryHeader: React.FC<Props> = ({ icon, title }) => {\n const { styles } = useThemedStyles({}, createSummaryHeaderStyles)\n\n return (\n <header style={styles.container}>\n {icon ? <div style={styles.iconContainer}>{icon}</div> : null}\n\n <div style={styles.textContainer}>\n <Typography variant=\"b1\" lineHeight=\"100%\" fontSize=\"0.75rem\">\n {title}\n </Typography>\n </div>\n </header>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryCaptionStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '0.625rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyItems: 'start',\n\n columnGap: '0.125rem'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'center',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryCaptionStyles } from './styles'\n\ninterface Props {\n loading?: boolean\n captionText?: string\n}\n\nexport const SummaryCaption: React.FC<Props> = ({ loading, captionText }) => {\n // Hooks\n const { styles } = useThemedStyles({}, createSummaryCaptionStyles)\n\n return (\n <div style={styles.container}>\n <div style={styles.textContainer}>\n <Typography\n variant=\"b3\"\n lineHeight=\"100%\"\n isLoading={loading}\n fontSize=\"0.625rem\"\n color=\"var(--px-text-secondary)\"\n >\n {captionText}\n </Typography>\n </div>\n </div>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryHighlightStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '1rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-end',\n\n columnGap: '0.125rem'\n },\n\n iconContainer: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'flex-start',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n lineHeight: '1'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\nimport type { ReactNode } from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryHighlightStyles } from './styles'\n\ninterface Props {\n loading?: boolean\n highlightText?: string\n highlightIcon?: ReactNode\n}\n\nexport const SummaryHighlight: React.FC<Props> = ({\n loading,\n highlightText,\n highlightIcon\n}) => {\n // Hooks\n const { styles } = useThemedStyles({}, createSummaryHighlightStyles)\n\n return (\n <div style={styles.container}>\n {highlightIcon ? (\n <div style={styles.iconContainer}>{highlightIcon}</div>\n ) : null}\n\n <div style={styles.textContainer}>\n <Typography\n variant=\"b1\"\n lineHeight=\"100%\"\n fontSize=\"0.875rem\"\n fontWeight=\"regular\"\n isLoading={loading}\n >\n {highlightText}\n </Typography>\n </div>\n </div>\n )\n}\n","// Types\nimport type { SummaryItemProps } from './types'\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryItemStyles(props: SummaryItemProps): StyleMap {\n return styled({\n container: {\n height: '100%',\n borderRight: props.isLast ? 'none' : '1px solid var(--border-secondary)'\n },\n\n content: {\n minWidth: '8rem',\n height: '100%',\n\n display: 'flex',\n flexDirection: 'column',\n\n rowGap: '0.125rem',\n paddingBlock: '0.5rem',\n paddingInline: '1rem'\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { SummaryHeader } from './components/SummaryHeader'\nimport { SummaryCaption } from './components/SummaryCaption'\nimport { SummaryHighlight } from './components/SummaryHighlight'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { SummaryItemProps } from './types'\n\n// Styles\nimport { createSummaryItemStyles } from './styles'\n\nexport const SummaryItem: React.FC<SummaryItemProps> = props => {\n // Hooks\n const { styles } = useThemedStyles(props, createSummaryItemStyles)\n\n return (\n <li style={styles.container}>\n <article style={styles.content}>\n <SummaryHeader icon={props.item.titleIcon} title={props.item.title} />\n\n <SummaryHighlight\n loading={props.loading}\n highlightText={props.item.highlight}\n highlightIcon={props.item.highlightIcon}\n />\n\n <SummaryCaption\n loading={props.loading}\n captionText={props.item.caption}\n />\n </article>\n </li>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createInfoSummaryStyles(): StyleMap {\n return styled({\n section: {\n height: '5rem',\n minHeight: '5rem',\n\n width: 'fit-content',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n\n borderWidth: 1,\n backgroundColor: 'var(--px-bg)',\n borderColor: 'var(--px-border-primary)',\n\n borderRadius: '10px',\n paddingBlock: 'var(--px-space-sm)'\n },\n\n summaryListContainer: {\n width: '100%',\n height: '100%',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start'\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { SummaryItem } from './components/SummaryItem'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { InfoSummaryProps } from './types'\n\n// Styles\nimport { createInfoSummaryStyles } from './styles'\n\nexport * from './types'\n\nexport const InfoSummary: React.FC<InfoSummaryProps> = ({ infos, loading }) => {\n // Hooks\n const { styles } = useThemedStyles({}, createInfoSummaryStyles)\n\n // Functions\n function renderSummaryItems() {\n return (\n <ul style={styles.summaryListContainer}>\n {infos.map((info, index) => (\n <SummaryItem\n item={info}\n key={info.id}\n loading={loading}\n isLast={index === infos.length - 1}\n />\n ))}\n </ul>\n )\n }\n\n return <section style={styles.section}>{renderSummaryItems()}</section>\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InfoSummary-DcupqKIy.js","names":["SummaryHeader: React.FC<Props>","SummaryCaption: React.FC<Props>","SummaryHighlight: React.FC<Props>","SummaryItem: React.FC<SummaryItemProps>","InfoSummary: React.FC<InfoSummaryProps>"],"sources":["../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHeader/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHeader/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryCaption/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryCaption/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHighlight/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/components/SummaryHighlight/index.tsx","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/styles.ts","../src/components/commons/toolkit/InfoSummary/components/SummaryItem/index.tsx","../src/components/commons/toolkit/InfoSummary/styles.ts","../src/components/commons/toolkit/InfoSummary/index.tsx"],"sourcesContent":["// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryHeaderStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '1rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-end',\n\n gap: '0.125rem'\n },\n\n iconContainer: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'flex-start',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\nimport type { ReactNode } from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryHeaderStyles } from './styles'\n\ninterface Props {\n title: string\n icon?: ReactNode\n}\n\nexport const SummaryHeader: React.FC<Props> = ({ icon, title }) => {\n const { styles } = useThemedStyles({}, createSummaryHeaderStyles)\n\n return (\n <header style={styles.container}>\n {icon ? <div style={styles.iconContainer}>{icon}</div> : null}\n\n <div style={styles.textContainer}>\n <Typography variant=\"b1\" lineHeight=\"100%\" fontSize=\"0.75rem\">\n {title}\n </Typography>\n </div>\n </header>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryCaptionStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '0.625rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyItems: 'start',\n\n columnGap: '0.125rem'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'center',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryCaptionStyles } from './styles'\n\ninterface Props {\n loading?: boolean\n captionText?: string\n}\n\nexport const SummaryCaption: React.FC<Props> = ({ loading, captionText }) => {\n // Hooks\n const { styles } = useThemedStyles({}, createSummaryCaptionStyles)\n\n return (\n <div style={styles.container}>\n <div style={styles.textContainer}>\n <Typography\n variant=\"b3\"\n lineHeight=\"100%\"\n isLoading={loading}\n fontSize=\"0.625rem\"\n color=\"var(--px-text-secondary)\"\n >\n {captionText}\n </Typography>\n </div>\n </div>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryHighlightStyles(): StyleMap {\n return styled({\n container: {\n width: '100%',\n minHeight: '1rem',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-end',\n\n columnGap: '0.125rem'\n },\n\n iconContainer: {\n display: 'flex',\n alignItems: 'flex-start'\n },\n\n textContainer: {\n flex: '1',\n maxWidth: '8rem',\n\n display: 'flex',\n alignItems: 'flex-start',\n\n __rules: {\n '& > p': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n lineHeight: '1'\n }\n }\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\nimport type { ReactNode } from 'react'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createSummaryHighlightStyles } from './styles'\n\ninterface Props {\n loading?: boolean\n highlightText?: string\n highlightIcon?: ReactNode\n}\n\nexport const SummaryHighlight: React.FC<Props> = ({\n loading,\n highlightText,\n highlightIcon\n}) => {\n // Hooks\n const { styles } = useThemedStyles({}, createSummaryHighlightStyles)\n\n return (\n <div style={styles.container}>\n {highlightIcon ? (\n <div style={styles.iconContainer}>{highlightIcon}</div>\n ) : null}\n\n <div style={styles.textContainer}>\n <Typography\n variant=\"b1\"\n lineHeight=\"100%\"\n fontSize=\"0.875rem\"\n fontWeight=\"regular\"\n isLoading={loading}\n >\n {highlightText}\n </Typography>\n </div>\n </div>\n )\n}\n","// Types\nimport type { SummaryItemProps } from './types'\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createSummaryItemStyles(props: SummaryItemProps): StyleMap {\n return styled({\n container: {\n height: '100%',\n borderRight: props.isLast ? 'none' : '1px solid var(--border-secondary)'\n },\n\n content: {\n minWidth: '8rem',\n height: '100%',\n\n display: 'flex',\n flexDirection: 'column',\n\n rowGap: '0.125rem',\n paddingBlock: '0.5rem',\n paddingInline: '1rem'\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { SummaryHeader } from './components/SummaryHeader'\nimport { SummaryCaption } from './components/SummaryCaption'\nimport { SummaryHighlight } from './components/SummaryHighlight'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { SummaryItemProps } from './types'\n\n// Styles\nimport { createSummaryItemStyles } from './styles'\n\nexport const SummaryItem: React.FC<SummaryItemProps> = props => {\n // Hooks\n const { styles } = useThemedStyles(props, createSummaryItemStyles)\n\n return (\n <li style={styles.container}>\n <article style={styles.content}>\n <SummaryHeader icon={props.item.titleIcon} title={props.item.title} />\n\n <SummaryHighlight\n loading={props.loading}\n highlightText={props.item.highlight}\n highlightIcon={props.item.highlightIcon}\n />\n\n <SummaryCaption\n loading={props.loading}\n captionText={props.item.caption}\n />\n </article>\n </li>\n )\n}\n","// Types\nimport { styled, type StyleMap } from '@hooks/useThemedStyles/types'\n\nexport function createInfoSummaryStyles(): StyleMap {\n return styled({\n section: {\n height: '5rem',\n minHeight: '5rem',\n\n width: 'fit-content',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n\n borderWidth: 1,\n backgroundColor: 'var(--px-bg)',\n borderColor: 'var(--px-border-primary)',\n\n borderRadius: '10px',\n paddingBlock: 'var(--px-space-sm)'\n },\n\n summaryListContainer: {\n width: '100%',\n height: '100%',\n\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start'\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { SummaryItem } from './components/SummaryItem'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { InfoSummaryProps } from './types'\n\n// Styles\nimport { createInfoSummaryStyles } from './styles'\n\nexport * from './types'\n\nexport const InfoSummary: React.FC<InfoSummaryProps> = ({ infos, loading }) => {\n // Hooks\n const { styles } = useThemedStyles({}, createInfoSummaryStyles)\n\n // Functions\n function renderSummaryItems() {\n return (\n <ul style={styles.summaryListContainer}>\n {infos.map((info, index) => (\n <SummaryItem\n item={info}\n key={info.id}\n loading={loading}\n isLast={index === infos.length - 1}\n />\n ))}\n </ul>\n )\n }\n\n return <section style={styles.section}>{renderSummaryItems()}</section>\n}\n"],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { n as styled, t as useThemedStyles } from "./useThemedStyles-MLtE91hE.js";
2
+ import { t as Icon } from "./Icon-61UaAUrM.js";
3
+ import { t as Label } from "./Label-BhqH21lT.js";
4
+ import { forwardRef, useId, useImperativeHandle, useMemo, useRef, useState } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+
7
+ //#region src/components/commons/inputs/Input/hooks/useInput/index.ts
8
+ function useInput({ onChange }) {
9
+ const inputRef = useRef(null);
10
+ const [showPassword, setShowPassword] = useState(false);
11
+ function togglePasswordVisibility() {
12
+ setShowPassword((prev) => !prev);
13
+ }
14
+ function handleRefMethods() {
15
+ return {
16
+ focus: handleFocus,
17
+ blur: handleBlur
18
+ };
19
+ }
20
+ function handleFocus() {
21
+ inputRef.current?.focus();
22
+ }
23
+ function handleBlur() {
24
+ inputRef.current?.blur();
25
+ }
26
+ function handleChange(e) {
27
+ const value = e.target.value;
28
+ onChange?.(value);
29
+ }
30
+ return {
31
+ inputRef,
32
+ showPassword,
33
+ handleChange,
34
+ handleRefMethods,
35
+ togglePasswordVisibility
36
+ };
37
+ }
38
+
39
+ //#endregion
40
+ //#region src/components/commons/inputs/Input/styles.ts
41
+ function createInputStyles(props) {
42
+ return styled({
43
+ container: {
44
+ width: "100%",
45
+ display: "flex",
46
+ flexDirection: "column",
47
+ rowGap: "0.375rem"
48
+ },
49
+ wrapper: {
50
+ width: "100%",
51
+ display: "flex",
52
+ alignItems: "center",
53
+ borderWidth: 1,
54
+ columnGap: "0.25rem",
55
+ borderRadius: "0.5rem",
56
+ padding: "0.625rem 0.875rem",
57
+ opacity: props.disabled ? .5 : 1,
58
+ boxShadow: "0px 1px 2px 0px #0A0D120D",
59
+ borderColor: props.errorMessage ? "var(--px-color-error)" : "var(--px-border-primary)",
60
+ __rules: { "&:focus-within": {
61
+ outlineOffset: "-1px",
62
+ outline: `2px solid var(${props.errorMessage ? "--px-color-error" : "--px-color-primary"})`
63
+ } }
64
+ },
65
+ input: {
66
+ flex: 1,
67
+ fontWeight: 500,
68
+ fontSize: "1rem",
69
+ lineHeight: "1.5rem",
70
+ fontFamily: "inherit",
71
+ color: "var(--px-text-primary)",
72
+ __rules: {
73
+ "&:disabled": { cursor: "not-allowed" },
74
+ "&:focus": { outline: "none" },
75
+ "&::placeholder": {
76
+ fontWeight: 400,
77
+ color: "var(--px-text-secondary)"
78
+ }
79
+ }
80
+ },
81
+ error: {
82
+ display: "block",
83
+ fontWeight: 400,
84
+ lineHeight: "1rem",
85
+ fontSize: "0.75rem",
86
+ fontFamily: "inherit",
87
+ color: "var(--px-text-error)"
88
+ },
89
+ button: {
90
+ display: "flex",
91
+ alignItems: "center",
92
+ justifyContent: "center",
93
+ cursor: "pointer",
94
+ padding: "0.25rem",
95
+ borderRadius: "0.5rem",
96
+ __rules: { "&:focus": { outline: "1px solid var(--px-border-primary)" } }
97
+ }
98
+ });
99
+ }
100
+
101
+ //#endregion
102
+ //#region src/components/commons/inputs/Input/index.tsx
103
+ const Input = forwardRef((props, ref) => {
104
+ const { errorMessage, hideLabel, ...rest } = props;
105
+ const reactId = useId();
106
+ const inputId = useMemo(() => {
107
+ return props.id || `input-${reactId}`;
108
+ }, [props.id, reactId]);
109
+ const { inputRef, showPassword, handleChange, handleRefMethods, togglePasswordVisibility } = useInput(props);
110
+ useImperativeHandle(ref, handleRefMethods);
111
+ const { styles, classes } = useThemedStyles(props, createInputStyles, {
112
+ pick: (p) => [p.disabled, p.errorMessage],
113
+ override: props.styles,
114
+ applyCommonProps: true,
115
+ commonSlot: "input"
116
+ });
117
+ function getType() {
118
+ if (props.type === "password" && showPassword) return "text";
119
+ return props.type;
120
+ }
121
+ function renderEndContent() {
122
+ if (props.type === "password") return /* @__PURE__ */ jsx("button", {
123
+ type: "button",
124
+ style: styles.button,
125
+ className: classes.button,
126
+ onClick: togglePasswordVisibility,
127
+ children: /* @__PURE__ */ jsx(Icon, {
128
+ size: "sm",
129
+ name: showPassword ? "general-eye-off" : "general-eye"
130
+ })
131
+ });
132
+ return props.endIcon ?? null;
133
+ }
134
+ return /* @__PURE__ */ jsxs("div", {
135
+ style: styles.container,
136
+ children: [
137
+ hideLabel ? null : /* @__PURE__ */ jsx(Label, {
138
+ htmlFor: inputId,
139
+ label: props.label,
140
+ required: props.required,
141
+ requiredColor: props.requiredColor,
142
+ ...props.labelConfig
143
+ }),
144
+ /* @__PURE__ */ jsxs("div", {
145
+ style: styles.wrapper,
146
+ className: classes.wrapper,
147
+ children: [
148
+ props.startIcon,
149
+ /* @__PURE__ */ jsx("input", {
150
+ ref: inputRef,
151
+ id: inputId,
152
+ ...rest,
153
+ type: getType(),
154
+ value: props.value,
155
+ style: styles.input,
156
+ className: classes.input,
157
+ "aria-label": !hideLabel ? void 0 : props.label,
158
+ onChange: handleChange
159
+ }),
160
+ renderEndContent()
161
+ ]
162
+ }),
163
+ errorMessage ? /* @__PURE__ */ jsx("span", {
164
+ style: styles.error,
165
+ children: errorMessage
166
+ }) : null
167
+ ]
168
+ });
169
+ });
170
+ Input.displayName = "Input";
171
+
172
+ //#endregion
173
+ export { Input as t };
174
+ //# sourceMappingURL=Input-BFQKSMEQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-BFQKSMEQ.js","names":[],"sources":["../src/components/commons/inputs/Input/hooks/useInput/index.ts","../src/components/commons/inputs/Input/styles.ts","../src/components/commons/inputs/Input/index.tsx"],"sourcesContent":["// External Libraries\nimport { useState, useRef } from 'react'\n\n// Types\nimport type { InputProps } from '../../types'\n\nexport function useInput({ onChange }: InputProps) {\n // Refs\n const inputRef = useRef<HTMLInputElement>(null)\n\n // States\n const [showPassword, setShowPassword] = useState(false)\n\n // Functions\n function togglePasswordVisibility() {\n setShowPassword(prev => !prev)\n }\n\n function handleRefMethods() {\n return { focus: handleFocus, blur: handleBlur }\n }\n\n function handleFocus() {\n inputRef.current?.focus()\n }\n\n function handleBlur() {\n inputRef.current?.blur()\n }\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const value = e.target.value\n onChange?.(value)\n }\n\n return {\n inputRef,\n showPassword,\n handleChange,\n handleRefMethods,\n togglePasswordVisibility\n }\n}\n","// Hooks\nimport { styled } from '@hooks/useThemedStyles/types'\n\n// Types\nimport type { InputProps } from './types'\n\nexport function createInputStyles(props: InputProps) {\n return styled({\n container: {\n width: '100%',\n\n display: 'flex',\n flexDirection: 'column',\n\n rowGap: '0.375rem'\n },\n wrapper: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n\n borderWidth: 1,\n columnGap: '0.25rem',\n borderRadius: '0.5rem',\n padding: '0.625rem 0.875rem',\n\n opacity: props.disabled ? 0.5 : 1,\n boxShadow: '0px 1px 2px 0px #0A0D120D',\n borderColor: props.errorMessage\n ? 'var(--px-color-error)'\n : 'var(--px-border-primary)',\n\n __rules: {\n '&:focus-within': {\n outlineOffset: '-1px',\n outline: `2px solid var(${props.errorMessage ? '--px-color-error' : '--px-color-primary'})`\n }\n }\n },\n\n input: {\n flex: 1,\n\n fontWeight: 500,\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: 'inherit',\n color: 'var(--px-text-primary)',\n\n __rules: {\n '&:disabled': {\n cursor: 'not-allowed'\n },\n\n '&:focus': {\n outline: 'none'\n },\n\n '&::placeholder': {\n fontWeight: 400,\n color: 'var(--px-text-secondary)'\n }\n }\n },\n\n error: {\n display: 'block',\n fontWeight: 400,\n lineHeight: '1rem',\n fontSize: '0.75rem',\n fontFamily: 'inherit',\n color: 'var(--px-text-error)'\n },\n\n button: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n\n cursor: 'pointer',\n padding: '0.25rem',\n borderRadius: '0.5rem',\n\n __rules: {\n '&:focus': {\n outline: '1px solid var(--px-border-primary)'\n }\n }\n }\n })\n}\n","// External Libraries\nimport { forwardRef, useId, useImperativeHandle, useMemo } from 'react'\n\n// Components\nimport { Label } from '../../Label'\nimport { Icon } from '@components/commons/toolkit/Icon'\n\n// Types\nimport type { InputProps, InputMethods } from './types'\n\n// Hooks\nimport { useInput } from './hooks/useInput'\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createInputStyles } from './styles'\n\nexport const Input = forwardRef<InputMethods, InputProps>((props, ref) => {\n const { errorMessage, hideLabel, ...rest } = props\n\n // Constants\n const reactId = useId()\n const inputId = useMemo(() => {\n return props.id || `input-${reactId}`\n }, [props.id, reactId])\n\n // Hooks\n const {\n inputRef,\n showPassword,\n handleChange,\n handleRefMethods,\n togglePasswordVisibility\n } = useInput(props)\n useImperativeHandle(ref, handleRefMethods)\n\n // Hooks\n const { styles, classes } = useThemedStyles(props, createInputStyles, {\n pick: p => [p.disabled, p.errorMessage],\n override: props.styles,\n applyCommonProps: true,\n commonSlot: 'input'\n })\n\n // Functions\n function getType() {\n if (props.type === 'password' && showPassword) return 'text'\n return props.type\n }\n\n function renderEndContent() {\n if (props.type === 'password') {\n return (\n <button\n type=\"button\"\n style={styles.button}\n className={classes.button}\n onClick={togglePasswordVisibility}\n >\n <Icon\n size=\"sm\"\n name={showPassword ? 'general-eye-off' : 'general-eye'}\n />\n </button>\n )\n }\n\n return props.endIcon ?? null\n }\n\n return (\n <div style={styles.container}>\n {hideLabel ? null : (\n <Label\n htmlFor={inputId}\n label={props.label}\n required={props.required}\n requiredColor={props.requiredColor}\n {...props.labelConfig}\n />\n )}\n\n <div style={styles.wrapper} className={classes.wrapper}>\n {props.startIcon}\n\n <input\n ref={inputRef}\n id={inputId}\n {...rest}\n type={getType()}\n value={props.value}\n style={styles.input}\n className={classes.input}\n aria-label={!hideLabel ? undefined : props.label}\n onChange={handleChange}\n />\n\n {renderEndContent()}\n </div>\n\n {errorMessage ? <span style={styles.error}>{errorMessage}</span> : null}\n </div>\n )\n})\n\nInput.displayName = 'Input'\n"],"mappings":";;;;;;;AAMA,SAAgB,SAAS,EAAE,YAAwB;CAEjD,MAAM,WAAW,OAAyB,KAAK;CAG/C,MAAM,CAAC,cAAc,mBAAmB,SAAS,MAAM;CAGvD,SAAS,2BAA2B;AAClC,mBAAgB,SAAQ,CAAC,KAAK;;CAGhC,SAAS,mBAAmB;AAC1B,SAAO;GAAE,OAAO;GAAa,MAAM;GAAY;;CAGjD,SAAS,cAAc;AACrB,WAAS,SAAS,OAAO;;CAG3B,SAAS,aAAa;AACpB,WAAS,SAAS,MAAM;;CAG1B,SAAS,aAAa,GAAwC;EAC5D,MAAM,QAAQ,EAAE,OAAO;AACvB,aAAW,MAAM;;AAGnB,QAAO;EACL;EACA;EACA;EACA;EACA;EACD;;;;;ACnCH,SAAgB,kBAAkB,OAAmB;AACnD,QAAO,OAAO;EACZ,WAAW;GACT,OAAO;GAEP,SAAS;GACT,eAAe;GAEf,QAAQ;GACT;EACD,SAAS;GACP,OAAO;GACP,SAAS;GACT,YAAY;GAEZ,aAAa;GACb,WAAW;GACX,cAAc;GACd,SAAS;GAET,SAAS,MAAM,WAAW,KAAM;GAChC,WAAW;GACX,aAAa,MAAM,eACf,0BACA;GAEJ,SAAS,EACP,kBAAkB;IAChB,eAAe;IACf,SAAS,iBAAiB,MAAM,eAAe,qBAAqB,qBAAqB;IAC1F,EACF;GACF;EAED,OAAO;GACL,MAAM;GAEN,YAAY;GACZ,UAAU;GACV,YAAY;GACZ,YAAY;GACZ,OAAO;GAEP,SAAS;IACP,cAAc,EACZ,QAAQ,eACT;IAED,WAAW,EACT,SAAS,QACV;IAED,kBAAkB;KAChB,YAAY;KACZ,OAAO;KACR;IACF;GACF;EAED,OAAO;GACL,SAAS;GACT,YAAY;GACZ,YAAY;GACZ,UAAU;GACV,YAAY;GACZ,OAAO;GACR;EAED,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,gBAAgB;GAEhB,QAAQ;GACR,SAAS;GACT,cAAc;GAEd,SAAS,EACP,WAAW,EACT,SAAS,sCACV,EACF;GACF;EACF,CAAC;;;;;ACxEJ,MAAa,QAAQ,YAAsC,OAAO,QAAQ;CACxE,MAAM,EAAE,cAAc,WAAW,GAAG,SAAS;CAG7C,MAAM,UAAU,OAAO;CACvB,MAAM,UAAU,cAAc;AAC5B,SAAO,MAAM,MAAM,SAAS;IAC3B,CAAC,MAAM,IAAI,QAAQ,CAAC;CAGvB,MAAM,EACJ,UACA,cACA,cACA,kBACA,6BACE,SAAS,MAAM;AACnB,qBAAoB,KAAK,iBAAiB;CAG1C,MAAM,EAAE,QAAQ,YAAY,gBAAgB,OAAO,mBAAmB;EACpE,OAAM,MAAK,CAAC,EAAE,UAAU,EAAE,aAAa;EACvC,UAAU,MAAM;EAChB,kBAAkB;EAClB,YAAY;EACb,CAAC;CAGF,SAAS,UAAU;AACjB,MAAI,MAAM,SAAS,cAAc,aAAc,QAAO;AACtD,SAAO,MAAM;;CAGf,SAAS,mBAAmB;AAC1B,MAAI,MAAM,SAAS,WACjB,QACE,oBAAC;GACC,MAAK;GACL,OAAO,OAAO;GACd,WAAW,QAAQ;GACnB,SAAS;aAET,oBAAC;IACC,MAAK;IACL,MAAM,eAAe,oBAAoB;KACzC;IACK;AAIb,SAAO,MAAM,WAAW;;AAG1B,QACE,qBAAC;EAAI,OAAO,OAAO;;GAChB,YAAY,OACX,oBAAC;IACC,SAAS;IACT,OAAO,MAAM;IACb,UAAU,MAAM;IAChB,eAAe,MAAM;IACrB,GAAI,MAAM;KACV;GAGJ,qBAAC;IAAI,OAAO,OAAO;IAAS,WAAW,QAAQ;;KAC5C,MAAM;KAEP,oBAAC;MACC,KAAK;MACL,IAAI;MACJ,GAAI;MACJ,MAAM,SAAS;MACf,OAAO,MAAM;MACb,OAAO,OAAO;MACd,WAAW,QAAQ;MACnB,cAAY,CAAC,YAAY,SAAY,MAAM;MAC3C,UAAU;OACV;KAED,kBAAkB;;KACf;GAEL,eAAe,oBAAC;IAAK,OAAO,OAAO;cAAQ;KAAoB,GAAG;;GAC/D;EAER;AAEF,MAAM,cAAc"}
@@ -0,0 +1,25 @@
1
+ import { t as Typography } from "./Typography-j84zoCoZ.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+
4
+ //#region src/components/commons/Label/index.tsx
5
+ const Label = (props) => {
6
+ const { label, color, htmlFor, required, requiredColor, variant = "b2", ...rest } = props;
7
+ return /* @__PURE__ */ jsx("label", {
8
+ htmlFor,
9
+ children: /* @__PURE__ */ jsxs(Typography, {
10
+ variant,
11
+ color: color ?? "var(px-text-primary)",
12
+ ...rest,
13
+ children: [label, required ? /* @__PURE__ */ jsxs(Typography, {
14
+ as: "span",
15
+ variant: "b2",
16
+ color: requiredColor ?? "var(--px-text-error)",
17
+ children: [" ", "*"]
18
+ }) : null]
19
+ })
20
+ });
21
+ };
22
+
23
+ //#endregion
24
+ export { Label as t };
25
+ //# sourceMappingURL=Label-BhqH21lT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label-BhqH21lT.js","names":["Label: React.FC<LabelProps>"],"sources":["../src/components/commons/Label/index.tsx"],"sourcesContent":["// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Types\nimport type { LabelProps } from './types'\n\nexport const Label: React.FC<LabelProps> = props => {\n const {\n label,\n color,\n htmlFor,\n required,\n requiredColor,\n variant = 'b2',\n ...rest\n } = props\n\n return (\n <label htmlFor={htmlFor}>\n <Typography\n variant={variant}\n color={color ?? 'var(px-text-primary)'}\n {...rest}\n >\n {label}\n\n {required ? (\n <Typography\n as=\"span\"\n variant=\"b2\"\n color={requiredColor ?? 'var(--px-text-error)'}\n >\n {' '}\n *\n </Typography>\n ) : null}\n </Typography>\n </label>\n )\n}\n"],"mappings":";;;;AAMA,MAAaA,SAA8B,UAAS;CAClD,MAAM,EACJ,OACA,OACA,SACA,UACA,eACA,UAAU,MACV,GAAG,SACD;AAEJ,QACE,oBAAC;EAAe;YACd,qBAAC;GACU;GACT,OAAO,SAAS;GAChB,GAAI;cAEH,OAEA,WACC,qBAAC;IACC,IAAG;IACH,SAAQ;IACR,OAAO,iBAAiB;eAEvB,KAAI;KAEM,GACX;IACO;GACP"}
@@ -0,0 +1,81 @@
1
+ import { n as styled, t as useThemedStyles } from "./useThemedStyles-MLtE91hE.js";
2
+ import { t as useDismiss } from "./useDismiss-DJ1mh-X3.js";
3
+ import { t as useFloating } from "./useFloating--PcINgSt.js";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { createPortal } from "react-dom";
7
+
8
+ //#region src/components/commons/toolkit/Popover/styles.ts
9
+ function createPopoverStyles(_props) {
10
+ return styled({ popoverNode: {
11
+ position: "fixed",
12
+ left: 0,
13
+ top: 0,
14
+ zIndex: 10,
15
+ padding: "0.25rem",
16
+ boxShadow: "var(--px-ring-1)",
17
+ backgroundColor: "var(--px-bg)",
18
+ borderRadius: "var(--px-radius-xl)"
19
+ } });
20
+ }
21
+
22
+ //#endregion
23
+ //#region src/components/commons/toolkit/Popover/index.tsx
24
+ const Popover = (props) => {
25
+ const { anchorRef, floatingOptions, closeOnEscape = true, open: controlledOpen, closeOnOutsideClick = true, trigger, content, onOpenChange, onMouseEnter, onMouseLeave } = props;
26
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
27
+ const open = controlledOpen ?? uncontrolledOpen;
28
+ const { styles } = useThemedStyles(props, createPopoverStyles, {
29
+ applyCommonProps: true,
30
+ override: props.styles,
31
+ pick: (p) => [p.open, p.content]
32
+ });
33
+ function setOpen(v) {
34
+ onOpenChange?.(v);
35
+ if (controlledOpen === void 0) setUncontrolledOpen(v);
36
+ }
37
+ const close = useCallback(() => setOpen(false), [setOpen]);
38
+ const triggerRef = useRef(null);
39
+ const resolvedAnchorRef = anchorRef ?? triggerRef;
40
+ const popoverRef = useRef(null);
41
+ const { floatingRef, update } = useFloating(resolvedAnchorRef, {
42
+ offsetY: 6,
43
+ strategy: "fixed",
44
+ keepInViewport: true,
45
+ placement: "bottom-start",
46
+ ...floatingOptions
47
+ });
48
+ useDismiss({
49
+ open,
50
+ closeOnEscape,
51
+ closeOnOutsideClick,
52
+ refs: [resolvedAnchorRef, popoverRef],
53
+ onClose: close
54
+ });
55
+ useEffect(() => {
56
+ if (open) requestAnimationFrame(update);
57
+ }, [open, update]);
58
+ const triggerNode = trigger?.({
59
+ "aria-expanded": open,
60
+ ref: triggerRef,
61
+ onClick: () => setOpen(!open)
62
+ }) ?? null;
63
+ const popoverNode = open ? /* @__PURE__ */ jsx("div", {
64
+ ref: (el) => {
65
+ popoverRef.current = el;
66
+ floatingRef(el);
67
+ },
68
+ role: "dialog",
69
+ style: styles.popoverNode,
70
+ onMouseEnter,
71
+ onMouseLeave,
72
+ onMouseDownCapture: (e) => e.stopPropagation(),
73
+ onPointerDownCapture: (e) => e.stopPropagation(),
74
+ children: content({ close })
75
+ }) : null;
76
+ return /* @__PURE__ */ jsxs(Fragment, { children: [triggerNode, typeof document !== "undefined" ? createPortal(popoverNode, document.body) : null] });
77
+ };
78
+
79
+ //#endregion
80
+ export { Popover as t };
81
+ //# sourceMappingURL=Popover-BsDGCJ-f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover-BsDGCJ-f.js","names":["Popover: React.FC<PopoverProps>"],"sources":["../src/components/commons/toolkit/Popover/styles.ts","../src/components/commons/toolkit/Popover/index.tsx"],"sourcesContent":["// Types\nimport type { PopoverProps } from './types'\nimport { styled } from '@hooks/useThemedStyles/types'\n\nexport function createPopoverStyles(_props: PopoverProps) {\n return styled({\n popoverNode: {\n position: 'fixed',\n left: 0,\n top: 0,\n\n zIndex: 10,\n\n padding: '0.25rem',\n\n boxShadow: 'var(--px-ring-1)',\n backgroundColor: 'var(--px-bg)',\n\n borderRadius: 'var(--px-radius-xl)'\n }\n })\n}\n","// External Libraries\n/** biome-ignore-all lint/suspicious/noExplicitAny: <Not needed> */\n/** biome-ignore-all lint/correctness/useExhaustiveDependencies: <Not needed> */\nimport type React from 'react'\nimport { createPortal } from 'react-dom'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\n// Hooks\nimport { useDismiss } from '@hooks/useDismiss'\nimport { useFloating } from '@hooks/useFloating'\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { PopoverProps } from './types'\n\n// Styles\nimport { createPopoverStyles } from './styles'\n\nexport const Popover: React.FC<PopoverProps> = props => {\n const {\n anchorRef,\n floatingOptions,\n closeOnEscape = true,\n open: controlledOpen,\n closeOnOutsideClick = true,\n trigger,\n content,\n onOpenChange,\n onMouseEnter,\n onMouseLeave\n } = props\n\n // States\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false)\n\n const open = controlledOpen ?? uncontrolledOpen\n\n // Hooks\n const { styles } = useThemedStyles(props, createPopoverStyles, {\n applyCommonProps: true,\n override: props.styles,\n pick: p => [p.open, p.content]\n })\n\n // Functions\n function setOpen(v: boolean) {\n onOpenChange?.(v)\n if (controlledOpen === undefined) setUncontrolledOpen(v)\n }\n\n const close = useCallback(() => setOpen(false), [setOpen])\n\n const triggerRef = useRef<HTMLElement | null>(null)\n const resolvedAnchorRef = (anchorRef ?? triggerRef) as any\n\n const popoverRef = useRef<HTMLDivElement | null>(null)\n\n const { floatingRef, update } = useFloating(resolvedAnchorRef, {\n offsetY: 6,\n strategy: 'fixed',\n keepInViewport: true,\n placement: 'bottom-start',\n ...floatingOptions\n })\n\n useDismiss({\n open,\n closeOnEscape,\n closeOnOutsideClick,\n refs: [resolvedAnchorRef, popoverRef],\n onClose: close\n })\n\n useEffect(() => {\n if (open) requestAnimationFrame(update)\n }, [open, update])\n\n const triggerNode =\n trigger?.({\n 'aria-expanded': open,\n ref: triggerRef as any,\n onClick: () => setOpen(!open)\n }) ?? null\n\n const popoverNode = open ? (\n <div\n ref={el => {\n popoverRef.current = el\n floatingRef(el)\n }}\n role=\"dialog\"\n style={styles.popoverNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseDownCapture={e => e.stopPropagation()}\n onPointerDownCapture={e => e.stopPropagation()}\n >\n {content({ close })}\n </div>\n ) : null\n\n return (\n <>\n {triggerNode}\n {typeof document !== 'undefined'\n ? createPortal(popoverNode, document.body)\n : null}\n </>\n )\n}\n"],"mappings":";;;;;;;;AAIA,SAAgB,oBAAoB,QAAsB;AACxD,QAAO,OAAO,EACZ,aAAa;EACX,UAAU;EACV,MAAM;EACN,KAAK;EAEL,QAAQ;EAER,SAAS;EAET,WAAW;EACX,iBAAiB;EAEjB,cAAc;EACf,EACF,CAAC;;;;;ACFJ,MAAaA,WAAkC,UAAS;CACtD,MAAM,EACJ,WACA,iBACA,gBAAgB,MAChB,MAAM,gBACN,sBAAsB,MACtB,SACA,SACA,cACA,cACA,iBACE;CAGJ,MAAM,CAAC,kBAAkB,uBAAuB,SAAS,MAAM;CAE/D,MAAM,OAAO,kBAAkB;CAG/B,MAAM,EAAE,WAAW,gBAAgB,OAAO,qBAAqB;EAC7D,kBAAkB;EAClB,UAAU,MAAM;EAChB,OAAM,MAAK,CAAC,EAAE,MAAM,EAAE,QAAQ;EAC/B,CAAC;CAGF,SAAS,QAAQ,GAAY;AAC3B,iBAAe,EAAE;AACjB,MAAI,mBAAmB,OAAW,qBAAoB,EAAE;;CAG1D,MAAM,QAAQ,kBAAkB,QAAQ,MAAM,EAAE,CAAC,QAAQ,CAAC;CAE1D,MAAM,aAAa,OAA2B,KAAK;CACnD,MAAM,oBAAqB,aAAa;CAExC,MAAM,aAAa,OAA8B,KAAK;CAEtD,MAAM,EAAE,aAAa,WAAW,YAAY,mBAAmB;EAC7D,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,WAAW;EACX,GAAG;EACJ,CAAC;AAEF,YAAW;EACT;EACA;EACA;EACA,MAAM,CAAC,mBAAmB,WAAW;EACrC,SAAS;EACV,CAAC;AAEF,iBAAgB;AACd,MAAI,KAAM,uBAAsB,OAAO;IACtC,CAAC,MAAM,OAAO,CAAC;CAElB,MAAM,cACJ,UAAU;EACR,iBAAiB;EACjB,KAAK;EACL,eAAe,QAAQ,CAAC,KAAK;EAC9B,CAAC,IAAI;CAER,MAAM,cAAc,OAClB,oBAAC;EACC,MAAK,OAAM;AACT,cAAW,UAAU;AACrB,eAAY,GAAG;;EAEjB,MAAK;EACL,OAAO,OAAO;EACA;EACA;EACd,qBAAoB,MAAK,EAAE,iBAAiB;EAC5C,uBAAsB,MAAK,EAAE,iBAAiB;YAE7C,QAAQ,EAAE,OAAO,CAAC;GACf,GACJ;AAEJ,QACE,4CACG,aACA,OAAO,aAAa,cACjB,aAAa,aAAa,SAAS,KAAK,GACxC,QACH"}
@@ -0,0 +1,49 @@
1
+ import { n as styled, t as useThemedStyles } from "./useThemedStyles-MLtE91hE.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+
4
+ //#region src/components/commons/toolkit/Switch/styles.ts
5
+ function createSwitchThumbStyles({ checked, colorActive, colorInactive, colorIndicator }) {
6
+ return styled({
7
+ container: {
8
+ width: "2.5rem",
9
+ height: "1.25rem",
10
+ position: "relative",
11
+ display: "inline-flex",
12
+ alignItems: "center",
13
+ marginLeft: "0.5rem",
14
+ borderRadius: "2rem",
15
+ padding: "0.125rem",
16
+ transition: "background-color 0.5s",
17
+ backgroundColor: checked ? colorActive ?? "var(--px-color-success)" : colorInactive ?? "var(--px-color-disabled)"
18
+ },
19
+ indicator: {
20
+ height: "1rem",
21
+ width: "1rem",
22
+ position: "absolute",
23
+ left: "0.125rem",
24
+ top: "0.125rem",
25
+ borderRadius: "9999px",
26
+ backgroundColor: colorIndicator ?? "var(--px-surface)",
27
+ transition: "transform 0.5s",
28
+ transform: checked ? "translateX(1.25rem)" : "translateX(0)",
29
+ willChange: "transform"
30
+ }
31
+ });
32
+ }
33
+
34
+ //#endregion
35
+ //#region src/components/commons/toolkit/Switch/index.tsx
36
+ const Switch = (props) => {
37
+ const { styles } = useThemedStyles(props, createSwitchThumbStyles, {
38
+ applyCommonProps: true,
39
+ pick: (p) => [p.checked]
40
+ });
41
+ return /* @__PURE__ */ jsx("span", {
42
+ style: styles.container,
43
+ children: /* @__PURE__ */ jsx("span", { style: styles.indicator })
44
+ });
45
+ };
46
+
47
+ //#endregion
48
+ export { Switch as t };
49
+ //# sourceMappingURL=Switch-B4e9qBOu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch-B4e9qBOu.js","names":["Switch: React.FC<SwitchThumbProps>"],"sources":["../src/components/commons/toolkit/Switch/styles.ts","../src/components/commons/toolkit/Switch/index.tsx"],"sourcesContent":["// Types\nimport type { SwitchThumbProps } from './types'\n\n// Styles\nimport { styled } from '@hooks/useThemedStyles/types'\nexport function createSwitchThumbStyles({\n checked,\n colorActive,\n colorInactive,\n colorIndicator\n}: SwitchThumbProps) {\n return styled({\n container: {\n width: '2.5rem',\n height: '1.25rem',\n\n position: 'relative',\n\n display: 'inline-flex',\n alignItems: 'center',\n marginLeft: '0.5rem',\n\n borderRadius: '2rem',\n padding: '0.125rem',\n\n transition: 'background-color 0.5s',\n backgroundColor: checked\n ? (colorActive ?? 'var(--px-color-success)')\n : (colorInactive ?? 'var(--px-color-disabled)')\n },\n\n indicator: {\n height: '1rem',\n width: '1rem',\n\n position: 'absolute',\n left: '0.125rem',\n top: '0.125rem',\n\n borderRadius: '9999px',\n backgroundColor: colorIndicator ?? 'var(--px-surface)',\n\n transition: 'transform 0.5s',\n transform: checked ? 'translateX(1.25rem)' : 'translateX(0)',\n willChange: 'transform'\n }\n })\n}\n","// External Libraries\nimport type React from 'react'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { SwitchThumbProps } from './types'\n\n// Styles\nimport { createSwitchThumbStyles } from './styles'\n\nexport const Switch: React.FC<SwitchThumbProps> = props => {\n // Hooks\n const { styles } = useThemedStyles(props, createSwitchThumbStyles, {\n applyCommonProps: true,\n pick: p => [p.checked]\n })\n\n return (\n <span style={styles.container}>\n <span style={styles.indicator} />\n </span>\n )\n}\n"],"mappings":";;;;AAKA,SAAgB,wBAAwB,EACtC,SACA,aACA,eACA,kBACmB;AACnB,QAAO,OAAO;EACZ,WAAW;GACT,OAAO;GACP,QAAQ;GAER,UAAU;GAEV,SAAS;GACT,YAAY;GACZ,YAAY;GAEZ,cAAc;GACd,SAAS;GAET,YAAY;GACZ,iBAAiB,UACZ,eAAe,4BACf,iBAAiB;GACvB;EAED,WAAW;GACT,QAAQ;GACR,OAAO;GAEP,UAAU;GACV,MAAM;GACN,KAAK;GAEL,cAAc;GACd,iBAAiB,kBAAkB;GAEnC,YAAY;GACZ,WAAW,UAAU,wBAAwB;GAC7C,YAAY;GACb;EACF,CAAC;;;;;AClCJ,MAAaA,UAAqC,UAAS;CAEzD,MAAM,EAAE,WAAW,gBAAgB,OAAO,yBAAyB;EACjE,kBAAkB;EAClB,OAAM,MAAK,CAAC,EAAE,QAAQ;EACvB,CAAC;AAEF,QACE,oBAAC;EAAK,OAAO,OAAO;YAClB,oBAAC,UAAK,OAAO,OAAO,YAAa;GAC5B"}
@@ -1,5 +1,5 @@
1
- import { n as styled, t as useThemedStyles } from "./useThemedStyles-3rUXJYgS.js";
2
- import { t as Typography } from "./Typography-XA7uwbWe.js";
1
+ import { n as styled, t as useThemedStyles } from "./useThemedStyles-MLtE91hE.js";
2
+ import { t as Typography } from "./Typography-j84zoCoZ.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { motion } from "framer-motion";
5
5
 
@@ -85,7 +85,7 @@ function createTabSwitchStyles(props) {
85
85
  alignItems: "center",
86
86
  color: "var(--px-text-primary, #4b5563)",
87
87
  width: fitContent ? "fit-content" : "100%",
88
- borderBottom: "1px solid var(--px-border-primaryder, #e5e7eb)",
88
+ borderBottom: "1px solid var(--px-border-primary, #e5e7eb)",
89
89
  gap: 0,
90
90
  __rules: { "& svg": { zIndex: 1 } }
91
91
  } });
@@ -120,4 +120,4 @@ const TabSwitch = (props) => {
120
120
 
121
121
  //#endregion
122
122
  export { TabSwitch as t };
123
- //# sourceMappingURL=TabSwitch-D6WJc7Bf.js.map
123
+ //# sourceMappingURL=TabSwitch-CvnlK0NZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabSwitch-CvnlK0NZ.js","names":[],"sources":["../src/components/commons/toolkit/TabSwitch/components/TabSwitchItem/styles.ts","../src/components/commons/toolkit/TabSwitch/components/TabSwitchItem/index.tsx","../src/components/commons/toolkit/TabSwitch/styles.ts","../src/components/commons/toolkit/TabSwitch/index.tsx"],"sourcesContent":["// External Libraries\nimport { styled } from '@hooks/useThemedStyles/types'\n\ninterface Params {\n disabled?: boolean\n selected?: boolean\n selectedColor?: string\n variant: 'default' | 'underline'\n}\n\nexport function createTabSwitchItemStyles({\n variant,\n disabled,\n selected,\n selectedColor\n}: Params) {\n const accent = selectedColor ?? 'var(--px-color-primary)'\n\n return styled({\n item: {\n minHeight: '1.25rem',\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 4,\n background: 'transparent',\n border: 0,\n padding: '8px 10px',\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.5 : 1,\n userSelect: 'none',\n whiteSpace: 'nowrap',\n __rules: { '& > p': { zIndex: 1 } }\n },\n\n selectedBg:\n variant === 'default'\n ? {\n position: 'absolute',\n inset: 0,\n borderRadius: 6,\n border: '1px solid var(--px-border-primary)',\n background: selected ? accent : 'transparent'\n }\n : {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: -2,\n height: 2,\n background: selected ? accent : 'transparent'\n }\n })\n}\n","// External Libraries\nimport { motion } from 'framer-motion'\n\n// Components\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { SwitchOption } from '../../types'\n\n// Styles\nimport { createTabSwitchItemStyles } from './styles'\n\ntype Props<T> = {\n option: SwitchOption<T>\n selected: boolean\n layoutId?: string\n disabled?: boolean\n selectedColor?: string\n selectedLabelColor?: string\n variant: 'default' | 'underline'\n onClick: (value: T) => void\n}\n\nexport const SwitchItem = <T,>(props: Props<T>) => {\n const { option, disabled, selected, layoutId, onClick } = props\n\n const { styles, classes } = useThemedStyles(\n props,\n createTabSwitchItemStyles,\n {\n pick: p => [p.variant, p.selectedColor, p.selectedLabelColor, p.selected]\n }\n )\n\n const isDisabled = disabled || option.disabled\n\n return (\n <button\n type=\"button\"\n style={styles.item}\n className={classes.item}\n tabIndex={isDisabled ? -1 : 0}\n onClick={() => !isDisabled && onClick(option.value)}\n >\n {selected ? (\n <motion.div\n layoutId={layoutId || 'pixel-tabswitch-selected'}\n style={styles.selectedBg}\n />\n ) : null}\n\n {option.icon ? (\n <span style={{ display: 'inline-flex' }}>{option.icon}</span>\n ) : null}\n\n <Typography variant=\"b1\" fontWeight=\"bold\">\n {option.label}\n </Typography>\n </button>\n )\n}\n","// Types\nimport type { TabSwitchProps } from './types'\nimport { styled } from '@hooks/useThemedStyles/types'\n\nexport function createTabSwitchStyles<T>(props: TabSwitchProps<T>) {\n const { fitContent } = props\n\n return styled({\n container: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n color: 'var(--px-text-primary, #4b5563)',\n width: fitContent ? 'fit-content' : '100%',\n borderBottom: '1px solid var(--px-border-primary, #e5e7eb)',\n gap: 0,\n __rules: { '& svg': { zIndex: 1 } }\n }\n })\n}\n","// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Components\nimport { SwitchItem } from './components/TabSwitchItem'\n\n// Types\nimport type { TabSwitchProps } from './types'\n\n// Styles\nimport { createTabSwitchStyles } from './styles'\n\nexport * from './types'\n\nexport const TabSwitch = <T,>(props: TabSwitchProps<T>) => {\n {\n const {\n options,\n disabled,\n layoutId,\n currentValue,\n variant = 'default',\n onChange\n } = props\n\n const { styles, classes } = useThemedStyles(props, createTabSwitchStyles, {\n pick: p => [p.disabled, p.currentValue],\n override: props.styles,\n applyCommonProps: true\n })\n\n return (\n <div style={styles.container} className={classes.container}>\n {options.map(opt => (\n <SwitchItem\n key={String(opt.value)}\n option={opt}\n variant={variant}\n layoutId={layoutId}\n disabled={disabled}\n selectedColor={props.selectedColor}\n selected={currentValue === opt.value}\n selectedLabelColor={props.selectedLabelColor}\n onClick={onChange}\n />\n ))}\n </div>\n )\n }\n}\n"],"mappings":";;;;;;AAUA,SAAgB,0BAA0B,EACxC,SACA,UACA,UACA,iBACS;CACT,MAAM,SAAS,iBAAiB;AAEhC,QAAO,OAAO;EACZ,MAAM;GACJ,WAAW;GACX,UAAU;GACV,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,KAAK;GACL,YAAY;GACZ,QAAQ;GACR,SAAS;GACT,QAAQ,WAAW,gBAAgB;GACnC,SAAS,WAAW,KAAM;GAC1B,YAAY;GACZ,YAAY;GACZ,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,EAAE;GACpC;EAED,YACE,YAAY,YACR;GACE,UAAU;GACV,OAAO;GACP,cAAc;GACd,QAAQ;GACR,YAAY,WAAW,SAAS;GACjC,GACD;GACE,UAAU;GACV,MAAM;GACN,OAAO;GACP,QAAQ;GACR,QAAQ;GACR,YAAY,WAAW,SAAS;GACjC;EACR,CAAC;;;;;AC3BJ,MAAa,cAAkB,UAAoB;CACjD,MAAM,EAAE,QAAQ,UAAU,UAAU,UAAU,YAAY;CAE1D,MAAM,EAAE,QAAQ,YAAY,gBAC1B,OACA,2BACA,EACE,OAAM,MAAK;EAAC,EAAE;EAAS,EAAE;EAAe,EAAE;EAAoB,EAAE;EAAS,EAC1E,CACF;CAED,MAAM,aAAa,YAAY,OAAO;AAEtC,QACE,qBAAC;EACC,MAAK;EACL,OAAO,OAAO;EACd,WAAW,QAAQ;EACnB,UAAU,aAAa,KAAK;EAC5B,eAAe,CAAC,cAAc,QAAQ,OAAO,MAAM;;GAElD,WACC,oBAAC,OAAO;IACN,UAAU,YAAY;IACtB,OAAO,OAAO;KACd,GACA;GAEH,OAAO,OACN,oBAAC;IAAK,OAAO,EAAE,SAAS,eAAe;cAAG,OAAO;KAAY,GAC3D;GAEJ,oBAAC;IAAW,SAAQ;IAAK,YAAW;cACjC,OAAO;KACG;;GACN;;;;;ACzDb,SAAgB,sBAAyB,OAA0B;CACjE,MAAM,EAAE,eAAe;AAEvB,QAAO,OAAO,EACZ,WAAW;EACT,SAAS;EACT,eAAe;EACf,YAAY;EACZ,OAAO;EACP,OAAO,aAAa,gBAAgB;EACpC,cAAc;EACd,KAAK;EACL,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,EAAE;EACpC,EACF,CAAC;;;;;ACJJ,MAAa,aAAiB,UAA6B;CACzD;EACE,MAAM,EACJ,SACA,UACA,UACA,cACA,UAAU,WACV,aACE;EAEJ,MAAM,EAAE,QAAQ,YAAY,gBAAgB,OAAO,uBAAuB;GACxE,OAAM,MAAK,CAAC,EAAE,UAAU,EAAE,aAAa;GACvC,UAAU,MAAM;GAChB,kBAAkB;GACnB,CAAC;AAEF,SACE,oBAAC;GAAI,OAAO,OAAO;GAAW,WAAW,QAAQ;aAC9C,QAAQ,KAAI,QACX,oBAAC;IAEC,QAAQ;IACC;IACC;IACA;IACV,eAAe,MAAM;IACrB,UAAU,iBAAiB,IAAI;IAC/B,oBAAoB,MAAM;IAC1B,SAAS;MARJ,OAAO,IAAI,MAAM,CAStB,CACF;IACE"}
@@ -1,7 +1,7 @@
1
- import { t as Icon } from "./Icon-D40nGMJM.js";
2
- import { n as styled, t as useThemedStyles } from "./useThemedStyles-3rUXJYgS.js";
3
- import { t as Typography } from "./Typography-XA7uwbWe.js";
4
- import { t as Label } from "./Label-DXpBz2AN.js";
1
+ import { n as styled, t as useThemedStyles } from "./useThemedStyles-MLtE91hE.js";
2
+ import { t as Icon } from "./Icon-61UaAUrM.js";
3
+ import { t as Typography } from "./Typography-j84zoCoZ.js";
4
+ import { t as Label } from "./Label-BhqH21lT.js";
5
5
  import { useId } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
 
@@ -111,4 +111,4 @@ const TextArea = (props) => {
111
111
 
112
112
  //#endregion
113
113
  export { TextArea as t };
114
- //# sourceMappingURL=TextArea-DY9c18r6.js.map
114
+ //# sourceMappingURL=TextArea-CUrG_9je.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea-CUrG_9je.js","names":[],"sources":["../src/components/commons/inputs/TextArea/styles.ts","../src/components/commons/inputs/TextArea/index.tsx"],"sourcesContent":["// Types\nimport { styled } from '@hooks/useThemedStyles/types'\nimport type { TextAreaProps } from './types'\n\nexport function createTextAreaStyles(props: TextAreaProps) {\n const { height = '8rem', readOnly, startIcon } = props\n\n const focusRingColor = props.focusedRingColor || 'var(--px-color-info)'\n const placeHolderColor =\n props.placeholderColor || 'var(--px-text-placeholder)'\n\n return styled({\n iconContainer: {\n position: 'absolute',\n left: '0.75rem',\n top: '1.375rem',\n transform: 'translateY(-50%)'\n },\n textArea: {\n height,\n width: '100%',\n paddingBlock: '0.75rem',\n paddingInline: '0.875rem',\n borderRadius: '0.5rem',\n resize: 'none',\n\n fontWeight: '400',\n fontSize: '1rem',\n color: 'var(--px-text-primary)',\n\n border: '1px solid red',\n outlineOffset: '-1px',\n\n cursor: readOnly ? 'default' : undefined,\n paddingLeft: startIcon ? '2.5rem' : undefined,\n\n __rules: {\n '&::placeholder': {\n color: `${placeHolderColor}`\n },\n '&:focus': readOnly\n ? { outline: 'none' }\n : { outline: `2px solid ${focusRingColor}` }\n }\n }\n })\n}\n","// External Libraries\nimport { useId } from 'react'\n\n// Types\nimport type { TextAreaProps } from './types'\n\n// Components\nimport { Label } from '@components/commons/Label'\nimport { Icon } from '@components/commons/toolkit/Icon'\nimport { Typography } from '@components/commons/toolkit/Typography'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Styles\nimport { createTextAreaStyles } from './styles'\n\nexport const TextArea = (props: TextAreaProps) => {\n const {\n value,\n disabled,\n readOnly,\n maxLength,\n hideMaxLength,\n textMaxLength,\n placeholder,\n\n label,\n required,\n requiredColor,\n labelColor,\n labelWeight,\n labelVariant,\n\n startIcon,\n iconColor\n } = props\n\n // Hooks\n const inputId = useId()\n\n const { styles, classes } = useThemedStyles(props, createTextAreaStyles, {\n pick: p => [\n p.height,\n p.readOnly,\n p.startIcon,\n p.placeholderColor,\n p.focusedRingColor\n ],\n override: props.styles,\n applyCommonProps: true\n })\n\n // Functions\n function handleChange(e: React.ChangeEvent<HTMLTextAreaElement>) {\n if (disabled || readOnly) return\n props.onChange?.(e.target.value)\n }\n\n function renderLabel() {\n if (!label) return null\n\n return (\n <div className=\"flex items-center gap-3\">\n <Label\n htmlFor={inputId}\n label={label}\n required={required}\n requiredColor={requiredColor}\n labelColor={labelColor}\n labelWeight={labelWeight}\n labelVariant={labelVariant}\n />\n </div>\n )\n }\n\n return (\n <div>\n {renderLabel()}\n\n <div style={{ position: 'relative' }}>\n {startIcon && (\n <div style={styles.iconContainer}>\n <Icon\n name={startIcon}\n color={iconColor ? iconColor : 'var(--px-text-primary)'}\n />\n </div>\n )}\n\n <textarea\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n maxLength={maxLength}\n placeholder={placeholder}\n style={styles.textArea}\n className={classes.textArea}\n onChange={handleChange}\n />\n </div>\n\n {maxLength && !hideMaxLength ? (\n <Typography variant=\"b2\" styles={{ text: { marginLeft: 'auto' } }}>\n {value.length}/{maxLength} {textMaxLength}\n </Typography>\n ) : null}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAIA,SAAgB,qBAAqB,OAAsB;CACzD,MAAM,EAAE,SAAS,QAAQ,UAAU,cAAc;CAEjD,MAAM,iBAAiB,MAAM,oBAAoB;CACjD,MAAM,mBACJ,MAAM,oBAAoB;AAE5B,QAAO,OAAO;EACZ,eAAe;GACb,UAAU;GACV,MAAM;GACN,KAAK;GACL,WAAW;GACZ;EACD,UAAU;GACR;GACA,OAAO;GACP,cAAc;GACd,eAAe;GACf,cAAc;GACd,QAAQ;GAER,YAAY;GACZ,UAAU;GACV,OAAO;GAEP,QAAQ;GACR,eAAe;GAEf,QAAQ,WAAW,YAAY;GAC/B,aAAa,YAAY,WAAW;GAEpC,SAAS;IACP,kBAAkB,EAChB,OAAO,GAAG,oBACX;IACD,WAAW,WACP,EAAE,SAAS,QAAQ,GACnB,EAAE,SAAS,aAAa,kBAAkB;IAC/C;GACF;EACF,CAAC;;;;;AC5BJ,MAAa,YAAY,UAAyB;CAChD,MAAM,EACJ,OACA,UACA,UACA,WACA,eACA,eACA,aAEA,OACA,UACA,eACA,YACA,aACA,cAEA,WACA,cACE;CAGJ,MAAM,UAAU,OAAO;CAEvB,MAAM,EAAE,QAAQ,YAAY,gBAAgB,OAAO,sBAAsB;EACvE,OAAM,MAAK;GACT,EAAE;GACF,EAAE;GACF,EAAE;GACF,EAAE;GACF,EAAE;GACH;EACD,UAAU,MAAM;EAChB,kBAAkB;EACnB,CAAC;CAGF,SAAS,aAAa,GAA2C;AAC/D,MAAI,YAAY,SAAU;AAC1B,QAAM,WAAW,EAAE,OAAO,MAAM;;CAGlC,SAAS,cAAc;AACrB,MAAI,CAAC,MAAO,QAAO;AAEnB,SACE,oBAAC;GAAI,WAAU;aACb,oBAAC;IACC,SAAS;IACF;IACG;IACK;IACH;IACC;IACC;KACd;IACE;;AAIV,QACE,qBAAC;EACE,aAAa;EAEd,qBAAC;GAAI,OAAO,EAAE,UAAU,YAAY;cACjC,aACC,oBAAC;IAAI,OAAO,OAAO;cACjB,oBAAC;KACC,MAAM;KACN,OAAO,YAAY,YAAY;MAC/B;KACE,EAGR,oBAAC;IACQ;IACG;IACA;IACC;IACE;IACb,OAAO,OAAO;IACd,WAAW,QAAQ;IACnB,UAAU;KACV;IACE;EAEL,aAAa,CAAC,gBACb,qBAAC;GAAW,SAAQ;GAAK,QAAQ,EAAE,MAAM,EAAE,YAAY,QAAQ,EAAE;;IAC9D,MAAM;IAAO;IAAE;IAAU;IAAE;;IACjB,GACX;KACA"}
@@ -54,6 +54,7 @@ const COMMON_MAP = {
54
54
  sm: "0.25rem",
55
55
  md: "0.375rem",
56
56
  lg: "0.5rem",
57
+ xl: "0.75rem",
57
58
  full: "9999rem"
58
59
  },
59
60
  fontSize: {
@@ -81,13 +82,15 @@ const defaultThemes = {
81
82
  success: "#0EB24C",
82
83
  warning: "#f59e0b",
83
84
  error: "#ef4444",
85
+ destructive: "#ef4444",
84
86
  invalid: "#f87171",
85
87
  info: "#06b6d4",
86
88
  background: {
87
89
  primary: "#FFFFFF",
88
90
  card: {
89
91
  primary: "#F4F4F4",
90
- secondary: "#F3F6F9"
92
+ secondary: "#F3F6F9",
93
+ hover: "#f2f2f2"
91
94
  }
92
95
  },
93
96
  button: {
@@ -110,7 +113,8 @@ const defaultThemes = {
110
113
  primary: "#222222",
111
114
  secondary: "#6C6C6C",
112
115
  disabled: "#A0A0A0",
113
- inverse: "#FFFFFF"
116
+ inverse: "#FFFFFF",
117
+ error: "#EC3030"
114
118
  }
115
119
  },
116
120
  ...COMMON_MAP,
@@ -120,7 +124,8 @@ const defaultThemes = {
120
124
  md: "0 4px 6px -1px rgba(0, 0, 0, 0.10)",
121
125
  lg: "0 10px 15px -3px rgba(0, 0, 0, 0.10)",
122
126
  xl: "0 20px 25px -5px rgba(0, 0, 0, 0.10)",
123
- "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)"
127
+ "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
128
+ "ring-1": "0 0 0 1px rgba(0, 0, 0, 0.05)"
124
129
  }
125
130
  },
126
131
  dark: {
@@ -132,13 +137,15 @@ const defaultThemes = {
132
137
  success: "#0EB24C",
133
138
  warning: "#f59e0b",
134
139
  error: "#ef4444",
140
+ destructive: "#ef4444",
135
141
  invalid: "#f87171",
136
142
  info: "#06b6d4",
137
143
  background: {
138
144
  primary: "#090909",
139
145
  card: {
140
146
  primary: "#F4F4F4",
141
- secondary: "#202020"
147
+ secondary: "#202020",
148
+ hover: "#e7e7e7"
142
149
  }
143
150
  },
144
151
  button: {
@@ -161,7 +168,8 @@ const defaultThemes = {
161
168
  primary: "#ECECEC",
162
169
  secondary: "#C7CFD8",
163
170
  disabled: "#8B93A0",
164
- inverse: "#090909"
171
+ inverse: "#090909",
172
+ error: "#EC3030"
165
173
  }
166
174
  },
167
175
  ...COMMON_MAP,
@@ -171,7 +179,8 @@ const defaultThemes = {
171
179
  md: "0 4px 6px -1px rgba(0, 0, 0, 0.45)",
172
180
  lg: "0 10px 15px -3px rgba(0, 0, 0, 0.50)",
173
181
  xl: "0 20px 25px -5px rgba(0, 0, 0, 0.55)",
174
- "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.65)"
182
+ "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.65)",
183
+ "ring-1": "0 0 0 1px rgba(0, 0, 0, 0.05)"
175
184
  }
176
185
  }
177
186
  };
@@ -365,6 +374,7 @@ function themeToCssVars(theme) {
365
374
  "--px-color-success": theme.colors.success,
366
375
  "--px-color-warning": theme.colors.warning,
367
376
  "--px-color-error": theme.colors.error,
377
+ "--px-color-destructive": theme.colors.destructive,
368
378
  "--px-color-invalid": theme.colors.invalid,
369
379
  "--px-color-info": theme.colors.info,
370
380
  "--px-color-disabled": theme.colors.disabled,
@@ -373,12 +383,14 @@ function themeToCssVars(theme) {
373
383
  "--px-surface": theme.colors.surface,
374
384
  "--px-background-card-primary": theme.colors.background.card.primary,
375
385
  "--px-background-card-secondary": theme.colors.background.card.secondary,
386
+ "--px-background-card-hover": theme.colors.background.card.hover,
376
387
  "--px-border-primary": theme.colors.border.primary,
377
388
  "--px-border-secondary": theme.colors.border.secondary,
378
389
  "--px-text-primary": theme.colors.text.primary,
379
390
  "--px-text-secondary": theme.colors.text.secondary,
380
391
  "--px-text-disabled": theme.colors.text.disabled,
381
392
  "--px-text-inverse": theme.colors.text.inverse,
393
+ "--px-text-error": theme.colors.text.error,
382
394
  "--px-btn-filled-bg": theme.colors.button.filled.background,
383
395
  "--px-btn-filled-label": theme.colors.button.filled.label,
384
396
  "--px-btn-outlined-border": theme.colors.button.outlined.borderColor,
@@ -394,6 +406,7 @@ function themeToCssVars(theme) {
394
406
  "--px-radius-sm": theme.borderRadius.sm,
395
407
  "--px-radius-md": theme.borderRadius.md,
396
408
  "--px-radius-lg": theme.borderRadius.lg,
409
+ "--px-radius-xl": theme.borderRadius.xl,
397
410
  "--px-radius-full": theme.borderRadius.full,
398
411
  "--px-fs-xs": theme.fontSize.xs,
399
412
  "--px-fs-sm": theme.fontSize.sm,
@@ -410,7 +423,8 @@ function themeToCssVars(theme) {
410
423
  "--px-shadow-md": theme.shadows.md,
411
424
  "--px-shadow-lg": theme.shadows.lg,
412
425
  "--px-shadow-xl": theme.shadows.xl,
413
- "--px-shadow-2xl": theme.shadows["2xl"]
426
+ "--px-shadow-2xl": theme.shadows["2xl"],
427
+ "--px-ring-1": theme.shadows["ring-1"]
414
428
  };
415
429
  }
416
430
 
@@ -522,4 +536,4 @@ function useTheme() {
522
536
 
523
537
  //#endregion
524
538
  export { useTheme as n, ThemeProvider as t };
525
- //# sourceMappingURL=ThemeContext-0pOYSNvl.js.map
539
+ //# sourceMappingURL=ThemeContext-CesN6Ejm.js.map