@fountain-ui/core 3.0.0-alpha.1 → 3.0.0-alpha.2

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 (171) hide show
  1. package/build/commonjs/Accordion/index.js +8 -0
  2. package/build/commonjs/Accordion/index.js.map +1 -1
  3. package/build/commonjs/Accordion/useVariantStyleMap.js +2 -4
  4. package/build/commonjs/Accordion/useVariantStyleMap.js.map +1 -1
  5. package/build/commonjs/AppBar/index.js +8 -0
  6. package/build/commonjs/AppBar/index.js.map +1 -1
  7. package/build/commonjs/Badge/index.js +26 -0
  8. package/build/commonjs/Badge/index.js.map +1 -1
  9. package/build/commonjs/Button/ButtonProps.js +7 -7
  10. package/build/commonjs/Button/ButtonProps.js.map +1 -1
  11. package/build/commonjs/Button/index.js +20 -0
  12. package/build/commonjs/Button/index.js.map +1 -1
  13. package/build/commonjs/Button/useVariantStyleMap.js +2 -6
  14. package/build/commonjs/Button/useVariantStyleMap.js.map +1 -1
  15. package/build/commonjs/Checkbox/Checkbox.js +1 -1
  16. package/build/commonjs/Checkbox/Checkbox.js.map +1 -1
  17. package/build/commonjs/Checkbox/index.js +8 -0
  18. package/build/commonjs/Checkbox/index.js.map +1 -1
  19. package/build/commonjs/Chip/index.js +14 -0
  20. package/build/commonjs/Chip/index.js.map +1 -1
  21. package/build/commonjs/Chip/useChipStyle.js +2 -18
  22. package/build/commonjs/Chip/useChipStyle.js.map +1 -1
  23. package/build/commonjs/Dialog/index.js +8 -0
  24. package/build/commonjs/Dialog/index.js.map +1 -1
  25. package/build/commonjs/DialogContent/DialogContent.js +1 -2
  26. package/build/commonjs/DialogContent/DialogContent.js.map +1 -1
  27. package/build/commonjs/Divider/Divider.js +1 -1
  28. package/build/commonjs/Divider/Divider.js.map +1 -1
  29. package/build/commonjs/Divider/DividerProps.js +3 -3
  30. package/build/commonjs/Divider/DividerProps.js.map +1 -1
  31. package/build/commonjs/Divider/index.js +14 -0
  32. package/build/commonjs/Divider/index.js.map +1 -1
  33. package/build/commonjs/Empty/Empty.js +1 -2
  34. package/build/commonjs/Empty/Empty.js.map +1 -1
  35. package/build/commonjs/IconButton/index.js +8 -0
  36. package/build/commonjs/IconButton/index.js.map +1 -1
  37. package/build/commonjs/Pagination/index.js +8 -0
  38. package/build/commonjs/Pagination/index.js.map +1 -1
  39. package/build/commonjs/Radio/Radio.js +1 -1
  40. package/build/commonjs/Radio/Radio.js.map +1 -1
  41. package/build/commonjs/Snackbar/index.js +8 -0
  42. package/build/commonjs/Snackbar/index.js.map +1 -1
  43. package/build/commonjs/SnackbarContent/SnackbarContent.js +1 -3
  44. package/build/commonjs/SnackbarContent/SnackbarContent.js.map +1 -1
  45. package/build/commonjs/SvgIcon/index.js +14 -0
  46. package/build/commonjs/SvgIcon/index.js.map +1 -1
  47. package/build/commonjs/Tabs/index.js +14 -0
  48. package/build/commonjs/Tabs/index.js.map +1 -1
  49. package/build/commonjs/TextField/index.js +8 -0
  50. package/build/commonjs/TextField/index.js.map +1 -1
  51. package/build/commonjs/Toolbar/index.js +8 -0
  52. package/build/commonjs/Toolbar/index.js.map +1 -1
  53. package/build/commonjs/Tooltip/Tooltip.js +1 -7
  54. package/build/commonjs/Tooltip/Tooltip.js.map +1 -1
  55. package/build/commonjs/Tooltip/index.js +20 -0
  56. package/build/commonjs/Tooltip/index.js.map +1 -1
  57. package/build/commonjs/Typography/index.js +8 -0
  58. package/build/commonjs/Typography/index.js.map +1 -1
  59. package/build/module/Accordion/index.js +1 -0
  60. package/build/module/Accordion/index.js.map +1 -1
  61. package/build/module/Accordion/useVariantStyleMap.js +2 -4
  62. package/build/module/Accordion/useVariantStyleMap.js.map +1 -1
  63. package/build/module/AppBar/index.js +1 -0
  64. package/build/module/AppBar/index.js.map +1 -1
  65. package/build/module/Badge/index.js +1 -0
  66. package/build/module/Badge/index.js.map +1 -1
  67. package/build/module/Button/ButtonProps.js +3 -3
  68. package/build/module/Button/ButtonProps.js.map +1 -1
  69. package/build/module/Button/index.js +1 -0
  70. package/build/module/Button/index.js.map +1 -1
  71. package/build/module/Button/useVariantStyleMap.js +2 -6
  72. package/build/module/Button/useVariantStyleMap.js.map +1 -1
  73. package/build/module/Checkbox/Checkbox.js +1 -1
  74. package/build/module/Checkbox/Checkbox.js.map +1 -1
  75. package/build/module/Checkbox/index.js +1 -0
  76. package/build/module/Checkbox/index.js.map +1 -1
  77. package/build/module/Chip/index.js +1 -0
  78. package/build/module/Chip/index.js.map +1 -1
  79. package/build/module/Chip/useChipStyle.js +2 -17
  80. package/build/module/Chip/useChipStyle.js.map +1 -1
  81. package/build/module/Dialog/index.js +1 -0
  82. package/build/module/Dialog/index.js.map +1 -1
  83. package/build/module/DialogContent/DialogContent.js +1 -2
  84. package/build/module/DialogContent/DialogContent.js.map +1 -1
  85. package/build/module/Divider/Divider.js +1 -1
  86. package/build/module/Divider/Divider.js.map +1 -1
  87. package/build/module/Divider/DividerProps.js +1 -1
  88. package/build/module/Divider/DividerProps.js.map +1 -1
  89. package/build/module/Divider/index.js +1 -0
  90. package/build/module/Divider/index.js.map +1 -1
  91. package/build/module/Empty/Empty.js +1 -2
  92. package/build/module/Empty/Empty.js.map +1 -1
  93. package/build/module/IconButton/index.js +1 -0
  94. package/build/module/IconButton/index.js.map +1 -1
  95. package/build/module/Pagination/index.js +1 -0
  96. package/build/module/Pagination/index.js.map +1 -1
  97. package/build/module/Radio/Radio.js +1 -1
  98. package/build/module/Radio/Radio.js.map +1 -1
  99. package/build/module/Snackbar/index.js +1 -0
  100. package/build/module/Snackbar/index.js.map +1 -1
  101. package/build/module/SnackbarContent/SnackbarContent.js +1 -3
  102. package/build/module/SnackbarContent/SnackbarContent.js.map +1 -1
  103. package/build/module/SvgIcon/index.js +1 -0
  104. package/build/module/SvgIcon/index.js.map +1 -1
  105. package/build/module/Tabs/index.js +1 -0
  106. package/build/module/Tabs/index.js.map +1 -1
  107. package/build/module/TextField/index.js +1 -0
  108. package/build/module/TextField/index.js.map +1 -1
  109. package/build/module/Toolbar/index.js +1 -0
  110. package/build/module/Toolbar/index.js.map +1 -1
  111. package/build/module/Tooltip/Tooltip.js +1 -7
  112. package/build/module/Tooltip/Tooltip.js.map +1 -1
  113. package/build/module/Tooltip/index.js +1 -0
  114. package/build/module/Tooltip/index.js.map +1 -1
  115. package/build/module/Typography/index.js +1 -0
  116. package/build/module/Typography/index.js.map +1 -1
  117. package/build/typescript/Accordion/index.d.ts +1 -0
  118. package/build/typescript/AppBar/index.d.ts +1 -0
  119. package/build/typescript/Badge/index.d.ts +2 -1
  120. package/build/typescript/Button/ButtonProps.d.ts +6 -6
  121. package/build/typescript/Button/index.d.ts +1 -0
  122. package/build/typescript/Checkbox/index.d.ts +1 -0
  123. package/build/typescript/Chip/index.d.ts +1 -0
  124. package/build/typescript/Dialog/index.d.ts +1 -0
  125. package/build/typescript/Divider/DividerProps.d.ts +3 -3
  126. package/build/typescript/Divider/index.d.ts +1 -0
  127. package/build/typescript/IconButton/index.d.ts +1 -0
  128. package/build/typescript/Pagination/index.d.ts +1 -0
  129. package/build/typescript/Snackbar/index.d.ts +1 -0
  130. package/build/typescript/SvgIcon/index.d.ts +1 -0
  131. package/build/typescript/Tabs/index.d.ts +1 -0
  132. package/build/typescript/TextField/index.d.ts +1 -0
  133. package/build/typescript/Toolbar/index.d.ts +1 -0
  134. package/build/typescript/Tooltip/index.d.ts +2 -1
  135. package/build/typescript/Typography/index.d.ts +1 -0
  136. package/package.json +3 -3
  137. package/src/Accordion/index.ts +1 -0
  138. package/src/Accordion/useVariantStyleMap.ts +2 -4
  139. package/src/AppBar/index.ts +1 -0
  140. package/src/Badge/index.ts +12 -1
  141. package/src/Button/ButtonProps.ts +6 -6
  142. package/src/Button/index.ts +1 -0
  143. package/src/Button/useVariantStyleMap.ts +2 -6
  144. package/src/Checkbox/Checkbox.tsx +1 -1
  145. package/src/Checkbox/index.ts +1 -0
  146. package/src/Chip/index.ts +1 -0
  147. package/src/Chip/useChipStyle.ts +2 -17
  148. package/src/Dialog/index.ts +1 -0
  149. package/src/DialogContent/DialogContent.tsx +1 -2
  150. package/src/Divider/Divider.tsx +1 -1
  151. package/src/Divider/DividerProps.ts +3 -3
  152. package/src/Divider/index.ts +1 -0
  153. package/src/Empty/Empty.tsx +1 -2
  154. package/src/IconButton/index.ts +1 -0
  155. package/src/Pagination/index.ts +1 -0
  156. package/src/Radio/Radio.tsx +1 -1
  157. package/src/Snackbar/index.ts +1 -0
  158. package/src/SnackbarContent/SnackbarContent.tsx +1 -3
  159. package/src/SvgIcon/index.ts +1 -0
  160. package/src/Tabs/index.ts +1 -0
  161. package/src/TextField/index.tsx +1 -0
  162. package/src/Toolbar/index.ts +1 -0
  163. package/src/Tooltip/Tooltip.tsx +1 -7
  164. package/src/Tooltip/index.ts +2 -1
  165. package/src/Typography/index.ts +1 -0
  166. package/build/commonjs/TextField/InputLabel.js +0 -163
  167. package/build/commonjs/TextField/InputLabel.js.map +0 -1
  168. package/build/module/TextField/InputLabel.js +0 -149
  169. package/build/module/TextField/InputLabel.js.map +0 -1
  170. package/build/typescript/TextField/InputLabel.d.ts +0 -33
  171. package/src/TextField/InputLabel.tsx +0 -234
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Snackbar';\nexport type { default as SnackbarProps } from './SnackbarProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,YAAxB"}
1
+ {"version":3,"names":["default","snackbarStatus"],"sources":["index.ts"],"sourcesContent":["export { default } from './Snackbar';\nexport type { default as SnackbarProps } from './SnackbarProps';\nexport { snackbarStatus } from './SnackbarProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,YAAxB;AAEA,SAASC,cAAT,QAA+B,iBAA/B"}
@@ -68,9 +68,7 @@ export default function SnackbarContent(props) {
68
68
  fontFamily: 'LexendDeca-SemiBold',
69
69
  letterSpacing: -0.26
70
70
  }),
71
- color: '#0BCC99' // TODO: change color.
72
- // color: theme.palette.text.accent,
73
-
71
+ color: theme.palette.text.accent
74
72
  });
75
73
  const hasActionButton = !!(actionContent && onPress);
76
74
  const rootStyle = css([styles.root, startIcon ? {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","typographyOf","createFontStyle","css","useTheme","ButtonBase","Column","Spacer","Typography","StatusIcon","useStyles","theme","root","flexDirection","alignItems","alignSelf","backgroundColor","palette","surface","accent","borderRadius","maxWidth","paddingBottom","spacing","paddingHorizontal","paddingTop","actionButton","marginLeft","SnackbarContent","props","actionContent","message","title","onPress","style","styleProp","status","startIcon","otherProps","styles","titleFontStyle","selector","_","fontSize","lineHeight","fontFamily","letterSpacing","color","text","strongInverse","messageFontStyle","labelFontStyle","hasActionButton","rootStyle","shape","radius","xl","undefined","width"],"sources":["SnackbarContent.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { typographyOf } from '@fountain-ui/styles';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport ButtonBase from '../ButtonBase/ButtonBase';\nimport Column from '../Column';\nimport Spacer from '../Spacer';\nimport Typography from '../Typography';\nimport type SnackbarContentProps from './SnackbarContentProps';\nimport StatusIcon from './StatusIcon';\n\ntype SnackBarContentStyles = NamedStylesStringUnion<'root' | 'actionButton'>;\n\nconst useStyles: UseStyles<SnackBarContentStyles> = function (): SnackBarContentStyles {\n const theme = useTheme();\n\n return {\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'center',\n backgroundColor: theme.palette.surface.accent,\n borderRadius: 22,\n maxWidth: 400,\n paddingBottom: theme.spacing(2.25),\n paddingHorizontal: theme.spacing(4),\n paddingTop: theme.spacing(2),\n },\n actionButton: {\n marginLeft: theme.spacing(6),\n },\n };\n};\n\nexport default function SnackbarContent(props: SnackbarContentProps) {\n const {\n actionContent,\n message,\n title,\n onPress,\n style: styleProp,\n status = 'info',\n startIcon,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n const theme = useTheme();\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 14,\n lineHeight: 18.2,\n fontFamily: 'Pretendard-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strongInverse,\n });\n\n const messageFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 13,\n lineHeight: 16.9,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strongInverse,\n });\n\n const labelFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 13,\n lineHeight: 16.25,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.26,\n }),\n color: '#0BCC99',\n // TODO: change color.\n // color: theme.palette.text.accent,\n });\n\n const hasActionButton = !!(actionContent && onPress);\n\n const rootStyle = css([\n styles.root,\n startIcon ? { borderRadius: theme.shape.radius.xl } : undefined,\n hasActionButton ? { width: '100%' } : undefined,\n styleProp,\n ]);\n\n return (\n <ButtonBase\n disabled={!onPress}\n onPress={onPress}\n style={rootStyle}\n {...otherProps}\n >\n {startIcon ? (\n <React.Fragment>\n {startIcon}\n\n <Spacer size={3}/>\n </React.Fragment>\n ) : status !== 'info' ? (\n <React.Fragment>\n <StatusIcon status={status}/>\n\n <Spacer size={1.5}/>\n </React.Fragment>\n ) : null}\n\n <Column>\n {title ? (\n <Typography\n children={title}\n style={css([titleFontStyle])}\n />\n ) : null}\n\n <Text\n children={message}\n style={css([messageFontStyle])}\n />\n </Column>\n\n {actionContent ? (\n <React.Fragment>\n <Spacer flex={1}/>\n\n <View style={styles.actionButton}>\n {typeof actionContent === 'string' ? (\n <Text\n children={actionContent}\n style={labelFontStyle}\n />\n ) : (actionContent)}\n </View>\n </React.Fragment>\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","typographyOf","createFontStyle","css","useTheme","ButtonBase","Column","Spacer","Typography","StatusIcon","useStyles","theme","root","flexDirection","alignItems","alignSelf","backgroundColor","palette","surface","accent","borderRadius","maxWidth","paddingBottom","spacing","paddingHorizontal","paddingTop","actionButton","marginLeft","SnackbarContent","props","actionContent","message","title","onPress","style","styleProp","status","startIcon","otherProps","styles","titleFontStyle","selector","_","fontSize","lineHeight","fontFamily","letterSpacing","color","text","strongInverse","messageFontStyle","labelFontStyle","hasActionButton","rootStyle","shape","radius","xl","undefined","width"],"sources":["SnackbarContent.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { typographyOf } from '@fountain-ui/styles';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport ButtonBase from '../ButtonBase/ButtonBase';\nimport Column from '../Column';\nimport Spacer from '../Spacer';\nimport Typography from '../Typography';\nimport type SnackbarContentProps from './SnackbarContentProps';\nimport StatusIcon from './StatusIcon';\n\ntype SnackBarContentStyles = NamedStylesStringUnion<'root' | 'actionButton'>;\n\nconst useStyles: UseStyles<SnackBarContentStyles> = function (): SnackBarContentStyles {\n const theme = useTheme();\n\n return {\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'center',\n backgroundColor: theme.palette.surface.accent,\n borderRadius: 22,\n maxWidth: 400,\n paddingBottom: theme.spacing(2.25),\n paddingHorizontal: theme.spacing(4),\n paddingTop: theme.spacing(2),\n },\n actionButton: {\n marginLeft: theme.spacing(6),\n },\n };\n};\n\nexport default function SnackbarContent(props: SnackbarContentProps) {\n const {\n actionContent,\n message,\n title,\n onPress,\n style: styleProp,\n status = 'info',\n startIcon,\n ...otherProps\n } = props;\n\n const styles = useStyles();\n\n const theme = useTheme();\n\n const titleFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 14,\n lineHeight: 18.2,\n fontFamily: 'Pretendard-SemiBold',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strongInverse,\n });\n\n const messageFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 13,\n lineHeight: 16.9,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strongInverse,\n });\n\n const labelFontStyle = createFontStyle(theme, {\n selector: (_) => typographyOf({\n fontSize: 13,\n lineHeight: 16.25,\n fontFamily: 'LexendDeca-SemiBold',\n letterSpacing: -0.26,\n }),\n color: theme.palette.text.accent,\n });\n\n const hasActionButton = !!(actionContent && onPress);\n\n const rootStyle = css([\n styles.root,\n startIcon ? { borderRadius: theme.shape.radius.xl } : undefined,\n hasActionButton ? { width: '100%' } : undefined,\n styleProp,\n ]);\n\n return (\n <ButtonBase\n disabled={!onPress}\n onPress={onPress}\n style={rootStyle}\n {...otherProps}\n >\n {startIcon ? (\n <React.Fragment>\n {startIcon}\n\n <Spacer size={3}/>\n </React.Fragment>\n ) : status !== 'info' ? (\n <React.Fragment>\n <StatusIcon status={status}/>\n\n <Spacer size={1.5}/>\n </React.Fragment>\n ) : null}\n\n <Column>\n {title ? (\n <Typography\n children={title}\n style={css([titleFontStyle])}\n />\n ) : null}\n\n <Text\n children={message}\n style={css([messageFontStyle])}\n />\n </Column>\n\n {actionContent ? (\n <React.Fragment>\n <Spacer flex={1}/>\n\n <View style={styles.actionButton}>\n {typeof actionContent === 'string' ? (\n <Text\n children={actionContent}\n style={labelFontStyle}\n />\n ) : (actionContent)}\n </View>\n </React.Fragment>\n ) : null}\n </ButtonBase>\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './SvgIcon';
2
+ export { svgIconColors, svgIconSizes } from './SvgIconProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './SvgIcon';\nexport type { default as SvgIconProps } from './SvgIconProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB"}
1
+ {"version":3,"names":["default","svgIconColors","svgIconSizes"],"sources":["index.ts"],"sourcesContent":["export { default } from './SvgIcon';\nexport type { default as SvgIconProps } from './SvgIconProps';\nexport { svgIconColors, svgIconSizes } from './SvgIconProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AAEA,SAASC,aAAT,EAAwBC,YAAxB,QAA4C,gBAA5C"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Tabs';
2
+ export { tabIndicatorSizes, tabsColors } from './TabsProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Tabs';\nexport type { default as TabsProps } from './TabsProps';\nexport type { TabsInstance } from './types';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB"}
1
+ {"version":3,"names":["default","tabIndicatorSizes","tabsColors"],"sources":["index.ts"],"sourcesContent":["export { default } from './Tabs';\nexport type { default as TabsProps } from './TabsProps';\nexport { tabIndicatorSizes, tabsColors } from './TabsProps';\nexport type { TabsInstance } from './types';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB;AAEA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,aAA9C"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './TextField';
2
+ export { textFieldStatus } from './TextFieldProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.tsx"],"sourcesContent":["export { default } from './TextField';\nexport type { default as TextFieldProps } from './TextFieldProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB"}
1
+ {"version":3,"names":["default","textFieldStatus"],"sources":["index.tsx"],"sourcesContent":["export { default } from './TextField';\nexport type { default as TextFieldProps } from './TextFieldProps';\nexport { textFieldStatus } from './TextFieldProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB;AAEA,SAASC,eAAT,QAAgC,kBAAhC"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Toolbar';
2
+ export { toolbarSizes } from './ToolbarProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Toolbar';\nexport type { default as ToolbarProps } from './ToolbarProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB"}
1
+ {"version":3,"names":["default","toolbarSizes"],"sources":["index.ts"],"sourcesContent":["export { default } from './Toolbar';\nexport type { default as ToolbarProps } from './ToolbarProps';\nexport { toolbarSizes } from './ToolbarProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AAEA,SAASC,YAAT,QAA6B,gBAA7B"}
@@ -126,13 +126,7 @@ export default function Tooltip(props) {
126
126
  lineHeight: 19.5,
127
127
  fontFamily: 'Pretendard-Regular',
128
128
  letterSpacing: 0
129
- }) // TODO: change caption2.
130
- : typographyOf({
131
- fontSize: 11,
132
- lineHeight: 15.4,
133
- fontFamily: 'Pretendard-Regular',
134
- letterSpacing: 0
135
- }),
129
+ }) : typo.caption2.regular,
136
130
  color: theme.palette.text.strongInverse
137
131
  });
138
132
  const textStyle = css([fontStyle, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","Platform","Text","View","Animated","useAnimatedStyle","useSharedValue","withTiming","typographyOf","ButtonBase","createFontStyle","css","useTheme","Beak","DEFAULT_BEAK_LAYOUT","offset","placement","INITIAL_LAYOUT","width","height","x","y","ANIMATION_CONFIG","duration","getFlexDirection","useStyles","theme","root","position","zIndex","tooltip","content","backgroundColor","palette","fill","base","paddingHorizontal","spacing","paddingVertical","small","borderRadius","shape","radius","sm","large","paddingBottom","paddingTop","Tooltip","props","beakLayout","children","initialLayout","left","onClose","right","numberOfTitleLines","size","style","title","tooltipStyle","verticalOffset","visible","beakOffset","beakPlacement","styles","layout","setLayout","scale","animatedStyle","transform","value","flexDirection","isVerticalPlacement","totalOffset","tooltipLayoutStyle","alignItems","undefined","overflow","select","web","display","default","contentStyle","flexGrow","flexShrink","nextScaleValue","fontStyle","selector","typo","fontSize","lineHeight","fontFamily","letterSpacing","color","text","strongInverse","textStyle","beakStyle","translateX","translateY","buttonElem","beakElem","event","nativeEvent"],"sources":["Tooltip.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Platform, Text, View, ViewProps } from 'react-native';\nimport type { WithTimingConfig } from 'react-native-reanimated';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type TooltipProps from './TooltipProps';\nimport type { TooltipBeakLayout, TooltipPlacement, TooltipSize } from './TooltipProps';\nimport Beak from './Beaks';\n\nconst DEFAULT_BEAK_LAYOUT: TooltipBeakLayout = {\n offset: 0,\n placement: 'middle',\n};\n\nconst INITIAL_LAYOUT = { width: 0, height: 0, x: 0, y: 0 };\n\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 150 };\n\ntype FlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\n\nconst getFlexDirection = (placement: TooltipPlacement): FlexDirection => {\n switch (placement) {\n case 'right':\n return 'row-reverse';\n case 'bottom':\n return 'column-reverse';\n case 'left':\n return 'row';\n case 'top':\n default:\n return 'column';\n }\n};\n\ntype TooltipStyles = NamedStylesStringUnion<'root' | 'content' | 'small' | 'large'>;\n\nconst useStyles: UseStyles<TooltipStyles> = function (): TooltipStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'absolute',\n zIndex: theme.zIndex.tooltip,\n },\n content: {\n backgroundColor: theme.palette.fill.base,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n small: {\n borderRadius: theme.shape.radius.sm,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n large: {\n borderRadius: 5,\n paddingBottom: theme.spacing(2.5),\n paddingHorizontal: theme.spacing(4),\n paddingTop: theme.spacing(2),\n },\n };\n};\n\nexport default function Tooltip(props: TooltipProps) {\n const {\n beakLayout = DEFAULT_BEAK_LAYOUT,\n children,\n initialLayout = INITIAL_LAYOUT,\n left,\n onClose,\n placement = 'top' as TooltipPlacement,\n right,\n numberOfTitleLines = 1,\n size = 'small' as TooltipSize,\n style,\n title,\n tooltipStyle,\n verticalOffset = 4,\n visible = false,\n } = props;\n\n const {\n offset: beakOffset,\n placement: beakPlacement,\n } = beakLayout;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const [layout, setLayout] = useState(initialLayout);\n\n const scale = useSharedValue(0);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }), []);\n\n const flexDirection = getFlexDirection(placement);\n\n const isVerticalPlacement = placement === 'top' || placement === 'bottom';\n\n const totalOffset = -((isVerticalPlacement ? layout.height : layout.width) + verticalOffset);\n const tooltipLayoutStyle: ViewProps['style'] = {\n alignItems: beakPlacement === 'start'\n ? 'flex-start'\n : beakPlacement === 'end'\n ? 'flex-end'\n : 'center',\n flexDirection,\n left,\n right,\n height: visible ? undefined : 0,\n overflow: visible ? undefined : 'hidden',\n ...Platform.select({\n web: {\n display: visible ? 'flex' : 'none',\n },\n default: {},\n }),\n [placement]: totalOffset,\n };\n\n const contentStyle = css([\n styles.content,\n styles[size],\n isVerticalPlacement\n ? { width: '100%' }\n : { flexGrow: 1, flexShrink: 1 },\n ]);\n\n useEffect(() => {\n const nextScaleValue = visible ? 1 : 0;\n\n scale.value = withTiming(nextScaleValue, ANIMATION_CONFIG);\n }, [visible]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typo) => size === 'large'\n ? typographyOf({\n fontSize: 13,\n lineHeight: 19.5,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n })\n // TODO: change caption2.\n : typographyOf({\n fontSize: 11,\n lineHeight: 15.4,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n }),\n color: theme.palette.text.strongInverse,\n });\n\n const textStyle = css([\n fontStyle,\n { flexShrink: 1 },\n ]);\n\n const beakStyle = css({\n transform: [isVerticalPlacement ? { translateX: beakOffset } : { translateY: beakOffset }],\n });\n\n const buttonElem = (\n <ButtonBase\n pressEffect={'none'}\n onPress={onClose}\n style={contentStyle}\n >\n <Text\n // TODO: Should we provide text prop customization?\n numberOfLines={numberOfTitleLines}\n style={textStyle}\n >\n {title}\n </Text>\n </ButtonBase>\n );\n\n const beakElem = (\n <View style={beakStyle}>\n <Beak\n fill={theme.palette.fill.base}\n placement={placement}\n size={size}\n />\n </View>\n );\n\n return (\n <View style={style}>\n {children}\n\n <Animated.View\n onLayout={(event) => {\n if (event.nativeEvent.layout.height === 0) {\n return;\n }\n\n setLayout(event.nativeEvent.layout);\n }}\n style={[\n styles.root,\n animatedStyle,\n tooltipLayoutStyle,\n tooltipStyle,\n ]}\n >\n {buttonElem}\n\n {beakElem}\n </Animated.View>\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","Platform","Text","View","Animated","useAnimatedStyle","useSharedValue","withTiming","typographyOf","ButtonBase","createFontStyle","css","useTheme","Beak","DEFAULT_BEAK_LAYOUT","offset","placement","INITIAL_LAYOUT","width","height","x","y","ANIMATION_CONFIG","duration","getFlexDirection","useStyles","theme","root","position","zIndex","tooltip","content","backgroundColor","palette","fill","base","paddingHorizontal","spacing","paddingVertical","small","borderRadius","shape","radius","sm","large","paddingBottom","paddingTop","Tooltip","props","beakLayout","children","initialLayout","left","onClose","right","numberOfTitleLines","size","style","title","tooltipStyle","verticalOffset","visible","beakOffset","beakPlacement","styles","layout","setLayout","scale","animatedStyle","transform","value","flexDirection","isVerticalPlacement","totalOffset","tooltipLayoutStyle","alignItems","undefined","overflow","select","web","display","default","contentStyle","flexGrow","flexShrink","nextScaleValue","fontStyle","selector","typo","fontSize","lineHeight","fontFamily","letterSpacing","caption2","regular","color","text","strongInverse","textStyle","beakStyle","translateX","translateY","buttonElem","beakElem","event","nativeEvent"],"sources":["Tooltip.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Platform, Text, View, ViewProps } from 'react-native';\nimport type { WithTimingConfig } from 'react-native-reanimated';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { typographyOf } from '@fountain-ui/styles';\nimport ButtonBase from '../ButtonBase';\nimport { createFontStyle, css, useTheme } from '../styles';\nimport type TooltipProps from './TooltipProps';\nimport type { TooltipBeakLayout, TooltipPlacement, TooltipSize } from './TooltipProps';\nimport Beak from './Beaks';\n\nconst DEFAULT_BEAK_LAYOUT: TooltipBeakLayout = {\n offset: 0,\n placement: 'middle',\n};\n\nconst INITIAL_LAYOUT = { width: 0, height: 0, x: 0, y: 0 };\n\nconst ANIMATION_CONFIG: Readonly<WithTimingConfig> = { duration: 150 };\n\ntype FlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\n\nconst getFlexDirection = (placement: TooltipPlacement): FlexDirection => {\n switch (placement) {\n case 'right':\n return 'row-reverse';\n case 'bottom':\n return 'column-reverse';\n case 'left':\n return 'row';\n case 'top':\n default:\n return 'column';\n }\n};\n\ntype TooltipStyles = NamedStylesStringUnion<'root' | 'content' | 'small' | 'large'>;\n\nconst useStyles: UseStyles<TooltipStyles> = function (): TooltipStyles {\n const theme = useTheme();\n\n return {\n root: {\n position: 'absolute',\n zIndex: theme.zIndex.tooltip,\n },\n content: {\n backgroundColor: theme.palette.fill.base,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n small: {\n borderRadius: theme.shape.radius.sm,\n paddingHorizontal: theme.spacing(2),\n paddingVertical: theme.spacing(1.5),\n },\n large: {\n borderRadius: 5,\n paddingBottom: theme.spacing(2.5),\n paddingHorizontal: theme.spacing(4),\n paddingTop: theme.spacing(2),\n },\n };\n};\n\nexport default function Tooltip(props: TooltipProps) {\n const {\n beakLayout = DEFAULT_BEAK_LAYOUT,\n children,\n initialLayout = INITIAL_LAYOUT,\n left,\n onClose,\n placement = 'top' as TooltipPlacement,\n right,\n numberOfTitleLines = 1,\n size = 'small' as TooltipSize,\n style,\n title,\n tooltipStyle,\n verticalOffset = 4,\n visible = false,\n } = props;\n\n const {\n offset: beakOffset,\n placement: beakPlacement,\n } = beakLayout;\n\n const theme = useTheme();\n\n const styles = useStyles();\n\n const [layout, setLayout] = useState(initialLayout);\n\n const scale = useSharedValue(0);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }), []);\n\n const flexDirection = getFlexDirection(placement);\n\n const isVerticalPlacement = placement === 'top' || placement === 'bottom';\n\n const totalOffset = -((isVerticalPlacement ? layout.height : layout.width) + verticalOffset);\n const tooltipLayoutStyle: ViewProps['style'] = {\n alignItems: beakPlacement === 'start'\n ? 'flex-start'\n : beakPlacement === 'end'\n ? 'flex-end'\n : 'center',\n flexDirection,\n left,\n right,\n height: visible ? undefined : 0,\n overflow: visible ? undefined : 'hidden',\n ...Platform.select({\n web: {\n display: visible ? 'flex' : 'none',\n },\n default: {},\n }),\n [placement]: totalOffset,\n };\n\n const contentStyle = css([\n styles.content,\n styles[size],\n isVerticalPlacement\n ? { width: '100%' }\n : { flexGrow: 1, flexShrink: 1 },\n ]);\n\n useEffect(() => {\n const nextScaleValue = visible ? 1 : 0;\n\n scale.value = withTiming(nextScaleValue, ANIMATION_CONFIG);\n }, [visible]);\n\n const fontStyle = createFontStyle(theme, {\n selector: (typo) => size === 'large'\n ? typographyOf({\n fontSize: 13,\n lineHeight: 19.5,\n fontFamily: 'Pretendard-Regular',\n letterSpacing: 0,\n })\n : typo.caption2.regular,\n color: theme.palette.text.strongInverse,\n });\n\n const textStyle = css([\n fontStyle,\n { flexShrink: 1 },\n ]);\n\n const beakStyle = css({\n transform: [isVerticalPlacement ? { translateX: beakOffset } : { translateY: beakOffset }],\n });\n\n const buttonElem = (\n <ButtonBase\n pressEffect={'none'}\n onPress={onClose}\n style={contentStyle}\n >\n <Text\n // TODO: Should we provide text prop customization?\n numberOfLines={numberOfTitleLines}\n style={textStyle}\n >\n {title}\n </Text>\n </ButtonBase>\n );\n\n const beakElem = (\n <View style={beakStyle}>\n <Beak\n fill={theme.palette.fill.base}\n placement={placement}\n size={size}\n />\n </View>\n );\n\n return (\n <View style={style}>\n {children}\n\n <Animated.View\n onLayout={(event) => {\n if (event.nativeEvent.layout.height === 0) {\n return;\n }\n\n setLayout(event.nativeEvent.layout);\n }}\n style={[\n styles.root,\n animatedStyle,\n tooltipLayoutStyle,\n tooltipStyle,\n ]}\n >\n {buttonElem}\n\n {beakElem}\n </Animated.View>\n </View>\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Tooltip';
2
+ export { tooltipBeakPlacements, tooltipPlacements, tooltipSizes } from './TooltipProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Tooltip';\nexport type { default as TooltipProps } from './TooltipProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB"}
1
+ {"version":3,"names":["default","tooltipBeakPlacements","tooltipPlacements","tooltipSizes"],"sources":["index.ts"],"sourcesContent":["export { default } from './Tooltip';\nexport type { default as TooltipProps, TooltipBeakLayout, TooltipBeakPlacement } from './TooltipProps';\nexport { tooltipBeakPlacements, tooltipPlacements, tooltipSizes } from './TooltipProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AAEA,SAASC,qBAAT,EAAgCC,iBAAhC,EAAmDC,YAAnD,QAAuE,gBAAvE"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Typography';
2
+ export { typographyColors } from './TypographyProps';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './Typography';\nexport type { default as TypographyProps } from './TypographyProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB"}
1
+ {"version":3,"names":["default","typographyColors"],"sources":["index.ts"],"sourcesContent":["export { default } from './Typography';\nexport type { default as TypographyProps } from './TypographyProps';\nexport { typographyColors } from './TypographyProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB;AAEA,SAASC,gBAAT,QAAiC,mBAAjC"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Accordion';
2
2
  export type { default as AccordionProps } from './AccordionProps';
3
+ export { accordionVariants } from './AccordionProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './AppBar';
2
2
  export type { default as AppBarProps } from './AppBarProps';
3
+ export { appBarColors } from './AppBarProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Badge';
2
- export type { default as BadgeProps } from './BadgeProps';
2
+ export type { default as BadgeProps, BadgeHorizontalPosition, BadgePosition, BadgeVerticalPosition, } from './BadgeProps';
3
+ export { badgeColors, badgeHorizontalPositions, badgeSizes, badgeVerticalPositions, } from './BadgeProps';
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
3
  import type { OverridableComponentProps } from '../types';
4
- export declare const ButtonColors: readonly ["accent", "primary", "danger", "disabled", "secondary", "accentAlt"];
5
- export declare type ButtonColor = typeof ButtonColors[number];
6
- export declare const ButtonSizes: readonly ["small", "medium", "large"];
7
- export declare type ButtonSize = typeof ButtonSizes[number];
8
- export declare const ButtonVariants: readonly ["solid", "outlined", "text", "capsuleSolid", "capsuleOutlined"];
9
- export declare type ButtonVariant = typeof ButtonVariants[number];
4
+ export declare const buttonColors: readonly ["accent", "primary", "danger", "disabled", "secondary", "accentAlt"];
5
+ export declare type ButtonColor = typeof buttonColors[number];
6
+ export declare const buttonSizes: readonly ["small", "medium", "large"];
7
+ export declare type ButtonSize = typeof buttonSizes[number];
8
+ export declare const buttonVariants: readonly ["solid", "outlined", "text", "capsuleSolid", "capsuleOutlined"];
9
+ export declare type ButtonVariant = typeof buttonVariants[number];
10
10
  export default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {
11
11
  /**
12
12
  * The content of the button.
@@ -1,2 +1,3 @@
1
1
  export { default } from './Button';
2
2
  export type { default as ButtonProps } from './ButtonProps';
3
+ export { buttonColors, buttonSizes, buttonVariants } from './ButtonProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Checkbox';
2
2
  export type { default as CheckboxProps } from './CheckboxProps';
3
+ export { checkboxVariants } from './CheckboxProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Chip';
2
2
  export type { default as ChipProps } from './ChipProps';
3
+ export { chipSizes, chipStartElementVariants } from './ChipProps';
@@ -1,4 +1,5 @@
1
1
  export { default } from './Dialog';
2
2
  export type { default as DialogProps } from './DialogProps';
3
+ export { dialogSizes } from './DialogProps';
3
4
  export { DialogProvider, useDialogContext } from './DialogContext';
4
5
  export { default as useDialogSectionStyle } from './useDialogSectionStyle';
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { ViewProps } from 'react-native';
3
3
  import type { OverridableComponentProps } from '../types';
4
- export declare const elementAligns: readonly ["start", "center", "end"];
5
- export declare type ElementAlign = typeof elementAligns[number];
4
+ export declare const dividerElementAligns: readonly ["start", "center", "end"];
5
+ export declare type DividerElementAlign = typeof dividerElementAligns[number];
6
6
  export declare const dividerVariants: readonly ["base", "strong"];
7
7
  export declare type DividerVariant = typeof dividerVariants[number];
8
8
  export default interface DividerProps extends OverridableComponentProps<ViewProps, {
@@ -34,7 +34,7 @@ export default interface DividerProps extends OverridableComponentProps<ViewProp
34
34
  * Set position of children.
35
35
  * @default center
36
36
  */
37
- elementAlign?: ElementAlign;
37
+ elementAlign?: DividerElementAlign;
38
38
  /**
39
39
  * Select the style of the divider based on this value.
40
40
  * @default base
@@ -1,2 +1,3 @@
1
1
  export { default } from './Divider';
2
2
  export type { default as DividerProps } from './DividerProps';
3
+ export { dividerVariants, dividerElementAligns } from './DividerProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './IconButton';
2
2
  export type { default as IconButtonProps } from './IconButtonProps';
3
+ export { iconButtonColors } from './IconButtonProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Pagination';
2
2
  export type { default as PaginationProps } from './PaginationProps';
3
+ export { paginationVariants } from './PaginationProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Snackbar';
2
2
  export type { default as SnackbarProps } from './SnackbarProps';
3
+ export { snackbarStatus } from './SnackbarProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './SvgIcon';
2
2
  export type { default as SvgIconProps } from './SvgIconProps';
3
+ export { svgIconColors, svgIconSizes } from './SvgIconProps';
@@ -1,3 +1,4 @@
1
1
  export { default } from './Tabs';
2
2
  export type { default as TabsProps } from './TabsProps';
3
+ export { tabIndicatorSizes, tabsColors } from './TabsProps';
3
4
  export type { TabsInstance } from './types';
@@ -1,2 +1,3 @@
1
1
  export { default } from './TextField';
2
2
  export type { default as TextFieldProps } from './TextFieldProps';
3
+ export { textFieldStatus } from './TextFieldProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Toolbar';
2
2
  export type { default as ToolbarProps } from './ToolbarProps';
3
+ export { toolbarSizes } from './ToolbarProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Tooltip';
2
- export type { default as TooltipProps } from './TooltipProps';
2
+ export type { default as TooltipProps, TooltipBeakLayout, TooltipBeakPlacement } from './TooltipProps';
3
+ export { tooltipBeakPlacements, tooltipPlacements, tooltipSizes } from './TooltipProps';
@@ -1,2 +1,3 @@
1
1
  export { default } from './Typography';
2
2
  export type { default as TypographyProps } from './TypographyProps';
3
+ export { typographyColors } from './TypographyProps';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fountain-ui/core",
3
- "version": "3.0.0-alpha.1",
3
+ "version": "3.0.0-alpha.2",
4
4
  "author": "Fountain-UI Team",
5
5
  "description": "React components that implement Tappytoon's Fountain Design.",
6
6
  "license": "MIT",
@@ -14,7 +14,7 @@
14
14
  "prepare": "bob build"
15
15
  },
16
16
  "dependencies": {
17
- "@fountain-ui/styles": "^3.0.0-alpha.1",
17
+ "@fountain-ui/styles": "^3.0.0-alpha.2",
18
18
  "@fountain-ui/utils": "^3.0.0-alpha.1"
19
19
  },
20
20
  "peerDependencies": {
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "access": "public"
69
69
  },
70
- "gitHead": "88b0532dcdf185877d95cd713f9d9076728abe12"
70
+ "gitHead": "28005225fc7de910f1946bf35cab98be3f53094c"
71
71
  }
@@ -1,2 +1,3 @@
1
1
  export { default } from './Accordion';
2
2
  export type { default as AccordionProps } from './AccordionProps';
3
+ export { accordionVariants } from './AccordionProps';
@@ -39,8 +39,7 @@ export default function useVariantStyleMap(variant: AccordionVariant): VariantSt
39
39
  color: theme.palette.text.base,
40
40
  }),
41
41
  subTitleFont: createFontStyle(theme, {
42
- // TODO: select typography.
43
- // selector: (typography) => typography.caption1.regular,
42
+ selector: (typography) => typography.caption1.regular,
44
43
  color: theme.palette.text.base,
45
44
  }),
46
45
  title: {
@@ -75,8 +74,7 @@ export default function useVariantStyleMap(variant: AccordionVariant): VariantSt
75
74
  position: 'absolute',
76
75
  },
77
76
  contentFont: createFontStyle(theme, {
78
- // TODO: select typography.
79
- // selector: typography => typography.caption2.regular,
77
+ selector: (typography) => typography.caption2.regular,
80
78
  color: theme.palette.text.base,
81
79
  }),
82
80
  title: {
@@ -1,2 +1,3 @@
1
1
  export { default } from './AppBar';
2
2
  export type { default as AppBarProps } from './AppBarProps';
3
+ export { appBarColors } from './AppBarProps';
@@ -1,2 +1,13 @@
1
1
  export { default } from './Badge';
2
- export type { default as BadgeProps } from './BadgeProps';
2
+ export type {
3
+ default as BadgeProps,
4
+ BadgeHorizontalPosition,
5
+ BadgePosition,
6
+ BadgeVerticalPosition,
7
+ } from './BadgeProps';
8
+ export {
9
+ badgeColors,
10
+ badgeHorizontalPositions,
11
+ badgeSizes,
12
+ badgeVerticalPositions,
13
+ } from './BadgeProps';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { ButtonBaseProps } from '../ButtonBase';
3
3
  import type { OverridableComponentProps } from '../types';
4
4
 
5
- export const ButtonColors = [
5
+ export const buttonColors = [
6
6
  'accent',
7
7
  'primary',
8
8
  'danger',
@@ -10,23 +10,23 @@ export const ButtonColors = [
10
10
  'secondary',
11
11
  'accentAlt',
12
12
  ] as const;
13
- export type ButtonColor = typeof ButtonColors[number];
13
+ export type ButtonColor = typeof buttonColors[number];
14
14
 
15
- export const ButtonSizes = [
15
+ export const buttonSizes = [
16
16
  'small',
17
17
  'medium',
18
18
  'large',
19
19
  ] as const;
20
- export type ButtonSize = typeof ButtonSizes[number];
20
+ export type ButtonSize = typeof buttonSizes[number];
21
21
 
22
- export const ButtonVariants = [
22
+ export const buttonVariants = [
23
23
  'solid',
24
24
  'outlined',
25
25
  'text',
26
26
  'capsuleSolid',
27
27
  'capsuleOutlined',
28
28
  ] as const;
29
- export type ButtonVariant = typeof ButtonVariants[number];
29
+ export type ButtonVariant = typeof buttonVariants[number];
30
30
 
31
31
  export default interface ButtonProps extends OverridableComponentProps<ButtonBaseProps, {
32
32
  /**
@@ -1,2 +1,3 @@
1
1
  export { default } from './Button';
2
2
  export type { default as ButtonProps } from './ButtonProps';
3
+ export { buttonColors, buttonSizes, buttonVariants } from './ButtonProps';
@@ -59,9 +59,7 @@ export default function useVariantStyleMap(variant: ButtonVariant, color: Button
59
59
  borderColor: palette.border.accent,
60
60
  borderWidth: 1,
61
61
  },
62
- labelColor: '#0BCC99',
63
- // TODO: change color.
64
- // labelColor: palette.text.accent,
62
+ labelColor: palette.text.accent,
65
63
  iconColor: palette.icon.accent,
66
64
  },
67
65
  primary: {
@@ -91,9 +89,7 @@ export default function useVariantStyleMap(variant: ButtonVariant, color: Button
91
89
  iconColor: palette.icon.base,
92
90
  },
93
91
  accent: {
94
- labelColor: '#0BCC99',
95
- // TODO: change color.
96
- // labelColor: palette.text.accent,
92
+ labelColor: palette.text.accent,
97
93
  iconColor: palette.icon.accent,
98
94
  },
99
95
  accentAlt: {
@@ -33,7 +33,7 @@ export default function Checkbox(props: CheckboxProps) {
33
33
  ]);
34
34
 
35
35
  const fontStyle = createFontStyle(theme, {
36
- // TODO: apply typo select.
36
+ selector: (typography) => typography.body2.regular,
37
37
  color: theme.palette.text.strong,
38
38
  });
39
39
 
@@ -1,2 +1,3 @@
1
1
  export { default } from './Checkbox';
2
2
  export type { default as CheckboxProps } from './CheckboxProps';
3
+ export { checkboxVariants } from './CheckboxProps';
package/src/Chip/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { default } from './Chip';
2
2
  export type { default as ChipProps } from './ChipProps';
3
+ export { chipSizes, chipStartElementVariants } from './ChipProps';
@@ -3,7 +3,6 @@ import type { TextStyle } from 'react-native';
3
3
  import type { FountainUiStyle } from '@fountain-ui/styles';
4
4
  import { createFontStyle, useTheme } from '../styles';
5
5
  import type { ChipSize, ChipStartElementVariant } from './ChipProps';
6
- import { typographyOf } from '@fountain-ui/styles';
7
6
 
8
7
  interface ChipStyle {
9
8
  container: FountainUiStyle;
@@ -25,25 +24,11 @@ export default function useChipStyle(
25
24
  return useMemo<ChipStyle>(() => {
26
25
  const fontStyleMap: Record<ChipSize, TextStyle> = {
27
26
  small: createFontStyle(theme, {
28
- // TODO: select typography.
29
- // selector: (typography) => typography.caption1.medium,
30
- selector: (_) => typographyOf({
31
- fontSize: 12,
32
- lineHeight: 16.8,
33
- fontFamily: 'Pretendard-Medium',
34
- letterSpacing: 0,
35
- }),
27
+ selector: (typography) => typography.caption1.medium,
36
28
  color: theme.palette.text.strong,
37
29
  }),
38
30
  large: createFontStyle(theme, {
39
- // TODO: select typography.
40
- // selector: (typography) => typography.body2.medium,
41
- selector: (_) => typographyOf({
42
- fontSize: 14,
43
- lineHeight: 21,
44
- fontFamily: 'Pretendard-Medium',
45
- letterSpacing: 0,
46
- }),
31
+ selector: (typography) => typography.body2.medium,
47
32
  color: theme.palette.text.strong,
48
33
  }),
49
34
  };
@@ -1,4 +1,5 @@
1
1
  export { default } from './Dialog';
2
2
  export type { default as DialogProps } from './DialogProps';
3
+ export { dialogSizes } from './DialogProps';
3
4
  export { DialogProvider, useDialogContext } from './DialogContext';
4
5
  export { default as useDialogSectionStyle } from './useDialogSectionStyle';
@@ -40,8 +40,7 @@ export default function DialogContent(props: DialogContentProps) {
40
40
  ]);
41
41
 
42
42
  const contentFontStyle = createFontStyle(theme, {
43
- // TODO: select typography.
44
- // selector: (typography) => typography.body2.regular,
43
+ selector: (typography) => typography.body2.regular,
45
44
  color: theme.palette.text.base,
46
45
  });
47
46
 
@@ -96,7 +96,7 @@ export default function Divider(props: DividerProps) {
96
96
  };
97
97
 
98
98
  const fontStyle = createFontStyle(theme, {
99
- selector: (typo) => typo.caption2,
99
+ selector: (typo) => typo.caption2.medium,
100
100
  color: fontColor,
101
101
  });
102
102
 
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import type { ViewProps } from 'react-native';
3
3
  import type { OverridableComponentProps } from '../types';
4
4
 
5
- export const elementAligns = ['start', 'center', 'end'] as const;
6
- export type ElementAlign = typeof elementAligns[number];
5
+ export const dividerElementAligns = ['start', 'center', 'end'] as const;
6
+ export type DividerElementAlign = typeof dividerElementAligns[number];
7
7
 
8
8
  export const dividerVariants = ['base', 'strong'] as const;
9
9
  export type DividerVariant = typeof dividerVariants[number];
@@ -42,7 +42,7 @@ export default interface DividerProps extends OverridableComponentProps<ViewProp
42
42
  * Set position of children.
43
43
  * @default center
44
44
  */
45
- elementAlign?: ElementAlign;
45
+ elementAlign?: DividerElementAlign;
46
46
 
47
47
  /**
48
48
  * Select the style of the divider based on this value.
@@ -1,2 +1,3 @@
1
1
  export { default } from './Divider';
2
2
  export type { default as DividerProps } from './DividerProps';
3
+ export { dividerVariants, dividerElementAligns } from './DividerProps';
@@ -55,8 +55,7 @@ export default function Empty(props: EmptyProps) {
55
55
  });
56
56
 
57
57
  const descriptionFontStyle = createFontStyle(theme, {
58
- // TODO: select typography.
59
- // selector: (typography) => typography.body2.regular,
58
+ selector: (typography) => typography.body2.regular,
60
59
  color: theme.palette.text.base,
61
60
  });
62
61