diff --git a/packages/html/src/scrollview/index.ts b/packages/html/src/scrollview/index.ts new file mode 100644 index 00000000000..f8f03014918 --- /dev/null +++ b/packages/html/src/scrollview/index.ts @@ -0,0 +1 @@ +export * from './scrollview-spec'; diff --git a/packages/html/src/scrollview/scrollview-spec.tsx b/packages/html/src/scrollview/scrollview-spec.tsx new file mode 100644 index 00000000000..d23c86ab446 --- /dev/null +++ b/packages/html/src/scrollview/scrollview-spec.tsx @@ -0,0 +1,134 @@ +import { classNames } from '../misc'; +import { Icon } from '../icon'; + +const SCROLLVIEW_CLASSNAME = 'k-scrollview'; + +const states = []; + +const options = {}; + +export type KendoScrollViewProps = { + mode?: "light" | "normal" | "dark"; + views?: number; + animate?: boolean; + arrows?: boolean; + pager?: boolean; + rtl?: boolean; +}; + +const defaultProps = { + mode: "normal", + views: 9, + animate: true, + arrows: true, + pager: true, + rtl: false +}; + +export const ScrollView = ( + props: KendoScrollViewProps + & React.HtmlHTMLAttributes +) => { + const { + mode = defaultProps.mode, + views = defaultProps.views, + animate = defaultProps.animate, + arrows = defaultProps.arrows, + pager = defaultProps.pager, + rtl = defaultProps.rtl, + ...other + } = props; + + const scrollviewViews: JSX.Element | JSX.Element[] = []; + + const iconPrev = rtl ? 'chevron-right' : 'chevron-left'; + const iconNext = rtl ? 'chevron-left' : 'chevron-right'; + + for ( let i = 0; i < views; i++ ) { + scrollviewViews.push( +
+ ); + } + + return ( +
+
+ {scrollviewViews} +
+
+ { arrows && + <> + + + + + + + + } + { pager && +
+
+ { mode === "light" && + <> + + + + + + + } + { + mode === 'normal' && + <> + + + + + + + + + + + } + { + mode === "dark" && + <> + + + + + + + + + } +
+
+ } +
+
+ ); +}; + +ScrollView.states = states; +ScrollView.options = options; +ScrollView.className = SCROLLVIEW_CLASSNAME; +ScrollView.defaultProps = defaultProps; + +export default ScrollView;