{"version":3,"file":"DrawerList.jsx","names":["stylex","memo","color","controlWeight","font","fontSize","size","ToggleSliderInput","CAN_HOVER","styles","create","list","width","padding","margin","display","flexDirection","noBorder","borderStyle","item","backgroundColor","gray500","borderBottomWidth","default","borderBottomStyle","borderBottomColor","gray400","text","px4","heading","transparent","critical","red150","stack","gap","labelContent","flex","buttonColumns","buttonBase","fontFamily","main","body","fontWeight","button","alignItems","cursor","icon","columnButton","largeIcon","disabled","DrawerList","t0","$","_c","children","t1","Symbol","for","props","t2","DrawerListItem","DrawerListTextItem","DrawerListButtonItem","type","role","onClick","t3","t4","DrawerStack","DrawerButtonColumn","DrawerButton","DrawerListToggleSwitchItem","DrawerListToggleItem","label","name","defaultChecked","value","onChange","t5","t6"],"sources":["../src/DrawerList.tsx"],"sourcesContent":["import * as stylex from \"@stylexjs/stylex\";\nimport {\n\ttype ButtonHTMLAttributes,\n\ttype DetailedHTMLProps,\n\ttype PropsWithChildren,\n\ttype ReactElement,\n\tmemo,\n} from \"react\";\n\nimport { color, controlWeight, font, fontSize, size } from \"./tokens.stylex\";\n\nimport ToggleSliderInput from \"./ToggleSliderInput\";\n\nconst CAN_HOVER = \"@media (hover: hover)\";\n\nconst styles = stylex.create({\n\tlist: {\n\t\twidth: \"100%\",\n\t\tpadding: \"0\",\n\t\tmargin: \"0\",\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t},\n\n\tnoBorder: {\n\t\tborderStyle: \"none\",\n\t},\n\n\titem: {\n\t\tbackgroundColor: color.gray500,\n\t\tborderBottomWidth: {\n\t\t\tdefault: \"0px\",\n\t\t\t\":not(:last-child)\": \"1px\",\n\t\t},\n\t\tborderBottomStyle: {\n\t\t\tdefault: \"none\",\n\t\t\t\":not(:last-child)\": \"solid\",\n\t\t},\n\t\tborderBottomColor: {\n\t\t\tdefault: \"transparent\",\n\t\t\t\":not(:last-child)\": color.gray400,\n\t\t},\n\t},\n\n\ttext: {\n\t\tpadding: size.px4,\n\t},\n\n\theading: {\n\t\tbackgroundColor: color.transparent,\n\t},\n\n\tcritical: {\n\t\tcolor: color.red150,\n\t},\n\n\tstack: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tgap: size.px4,\n\t\twidth: \"100%\",\n\t},\n\n\tlabelContent: {\n\t\tflex: \"1\",\n\t},\n\n\tbuttonColumns: {\n\t\tdisplay: \"flex\",\n\t\tgap: size.px4,\n\t\twidth: \"100%\",\n\t},\n\n\tbuttonBase: {\n\t\tfontFamily: font.main,\n\t\tfontSize: fontSize.body,\n\t\tfontWeight: controlWeight.button,\n\t\t// TODO: color\n\n\t\tpadding: size.px4,\n\n\t\tdisplay: \"flex\",\n\t\talignItems: \"center\",\n\t\tgap: size.px4,\n\n\t\tcursor: \"pointer\",\n\n\t\tbackgroundColor: {\n\t\t\tdefault: color.gray500,\n\t\t\t\":active\": color.gray400,\n\t\t\t[CAN_HOVER]: {\n\t\t\t\t\":hover\": color.gray400,\n\t\t\t},\n\t\t},\n\t},\n\n\ticon: {\n\t\tdisplay: \"flex\",\n\t\tfontSize: \"120%\", // TODO: ASK-UX proportional icon size?\n\t},\n\n\tcolumnButton: {\n\t\tflexDirection: \"column\",\n\t\tflex: \"1\",\n\n\t\tcursor: \"pointer\",\n\n\t\tbackgroundColor: {\n\t\t\tdefault: color.gray500,\n\t\t\t\":active\": color.gray400,\n\t\t\t[CAN_HOVER]: {\n\t\t\t\t\":hover\": color.gray400,\n\t\t\t},\n\t\t},\n\t},\n\n\tlargeIcon: {\n\t\tdisplay: \"flex\",\n\t\tfontSize: \"150%\", // TODO: ASK-UX proportional icon size?\n\t},\n\n\tdisabled: {},\n});\n\nexport type DrawerListProps = PropsWithChildren;\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerList = memo(function DrawerList({\n\tchildren,\n}: DrawerListProps) {\n\treturn <div {...stylex.props(styles.list)}>{children}</div>;\n});\n\nexport type DrawerListItemProps = PropsWithChildren;\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerListItem = memo(function DrawerListItem({\n\tchildren,\n}: DrawerListItemProps) {\n\treturn (\n\t\t<div {...stylex.props(styles.noBorder, styles.item)}>{children}</div>\n\t);\n});\n\nexport interface DrawerListTextItemProps extends PropsWithChildren {\n\theading?: boolean;\n}\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerListTextItem = memo(function DrawerListTextItem({\n\theading,\n\tchildren,\n}: DrawerListTextItemProps) {\n\treturn (\n\t\t<div\n\t\t\t{...stylex.props(\n\t\t\t\tstyles.noBorder,\n\t\t\t\tstyles.item,\n\t\t\t\tstyles.text,\n\t\t\t\theading && styles.heading,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n});\n\ntype NativeButtonProps = DetailedHTMLProps<\n\tButtonHTMLAttributes<HTMLButtonElement>,\n\tHTMLButtonElement\n>;\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport interface DrawerListButtonItemProps extends PropsWithChildren {\n\ttype?: NativeButtonProps[\"type\"];\n\trole?: NativeButtonProps[\"role\"];\n\ticon?: ReactElement<unknown>;\n\tonClick?: () => void;\n\tcritical?: boolean;\n\t// TODO:\n\t// disabled\n\t// title\n}\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerListButtonItem = memo(function DrawerListTextItem({\n\ttype,\n\trole,\n\ticon,\n\tonClick,\n\tcritical,\n\tchildren,\n}: DrawerListButtonItemProps) {\n\treturn (\n\t\t<button\n\t\t\ttype={type ?? \"button\"}\n\t\t\trole={role}\n\t\t\t{...stylex.props(\n\t\t\t\tstyles.noBorder,\n\t\t\t\tstyles.item,\n\t\t\t\tstyles.buttonBase,\n\t\t\t\tcritical && styles.critical,\n\t\t\t)}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{icon && <span {...stylex.props(styles.icon)}>{icon}</span>}\n\t\t\t{children}\n\t\t</button>\n\t);\n});\n\nexport type DrawerStackProps = PropsWithChildren;\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerStack = memo(function DrawerStack({\n\tchildren,\n}: DrawerStackProps) {\n\treturn <div {...stylex.props(styles.stack)}>{children}</div>;\n});\n\nexport type DrawerButtonColumnProps = PropsWithChildren;\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerButtonColumn = memo(function DrawerButtonColumn({\n\tchildren,\n}: DrawerButtonColumnProps) {\n\treturn <div {...stylex.props(styles.buttonColumns)}>{children}</div>;\n});\n\nexport interface DrawerButtonProps {\n\ticon?: ReactElement<unknown>;\n\ttype?: NativeButtonProps[\"type\"];\n\trole?: NativeButtonProps[\"role\"];\n\tonClick?: () => void;\n\tcritical?: boolean;\n\ttext: string;\n}\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerButton = memo(function DrawerButton({\n\ticon,\n\ttype,\n\trole,\n\tonClick,\n\tcritical,\n\ttext,\n}: DrawerButtonProps) {\n\treturn (\n\t\t<button\n\t\t\ttype={type ?? \"button\"}\n\t\t\trole={role}\n\t\t\tonClick={onClick}\n\t\t\t{...stylex.props(\n\t\t\t\tstyles.noBorder,\n\t\t\t\tstyles.buttonBase,\n\t\t\t\tstyles.columnButton,\n\t\t\t\tcritical && styles.critical,\n\t\t\t)}\n\t\t>\n\t\t\t{icon && <span {...stylex.props(styles.largeIcon)}>{icon}</span>}\n\t\t\t{text}\n\t\t</button>\n\t);\n});\n\ntype NativeInputProps = DetailedHTMLProps<\n\tButtonHTMLAttributes<HTMLInputElement>,\n\tHTMLInputElement\n>;\n\nexport interface DrawerListToggleSwitchItemProps {\n\tlabel: string;\n\tname?: NativeInputProps[\"name\"];\n\ticon?: ReactElement<unknown>;\n\tdisabled?: NativeInputProps[\"disabled\"];\n\tdefaultChecked?: boolean;\n\n\t/** `value` and `onChange` are optional because we want to be able to use the control in an uncontrolled manner as well (for example, in forms) */\n\tvalue?: boolean;\n\tonChange?: (value: boolean) => void;\n}\n\n/**\n * @remarks The drawer components are meant to be used in a <BottomDrawer /> for mobile only.\n * \t\t\tDo not use them in other contexts. Especially not on desktop.\n */\nexport const DrawerListToggleSwitchItem = memo(function DrawerListToggleItem({\n\tlabel,\n\tname,\n\ticon,\n\tdisabled,\n\tdefaultChecked,\n\tvalue,\n\tonChange,\n}: DrawerListToggleSwitchItemProps) {\n\treturn (\n\t\t// biome-ignore lint/a11y/noLabelWithoutControl: <input> is inside ToggleSliderInput\n\t\t<label\n\t\t\t{...stylex.props(\n\t\t\t\tstyles.noBorder,\n\t\t\t\tstyles.item,\n\t\t\t\tstyles.buttonBase,\n\t\t\t\tdisabled && styles.disabled,\n\t\t\t)}\n\t\t>\n\t\t\t{icon && <span {...stylex.props(styles.icon)}>{icon}</span>}\n\t\t\t<span {...stylex.props(styles.labelContent)}>{label}</span>\n\t\t\t<ToggleSliderInput\n\t\t\t\tdefaultChecked={defaultChecked}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tname={name}\n\t\t\t\tonChange={onChange}\n\t\t\t\tvalue={value}\n\t\t\t\ttitle={label}\n\t\t\t/>\n\t\t</label>\n\t);\n});\n"],"mappings":"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","ignoreList":[]}