UNPKG

tdesign-vue-next

Version:
1 lines 7.06 kB
{"version":3,"file":"color-picker.mjs","sources":["../../../components/color-picker/color-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs } from 'vue';\nimport { useVModel, useDefaultValue, useTNodeDefault } from '@tdesign/hooks';\n\nimport props from './props';\nimport { Popup as TPopup } from '../popup';\nimport ColorPanel from './components/panel';\nimport DefaultTrigger from './components/trigger';\nimport { useBaseClassName } from './hooks';\n\nexport default defineComponent({\n name: 'TColorPicker',\n props,\n setup(props) {\n const baseClassName = useBaseClassName();\n const renderTNodeJSXDefault = useTNodeDefault();\n const visible = ref(false);\n const setVisible = (value: boolean) => (visible.value = value);\n\n const { value: inputValue, modelValue, recentColors } = toRefs(props);\n const [innerValue, setInnerValue] = useVModel(inputValue, modelValue, props.defaultValue, props.onChange);\n const [innerRecentColors, setInnerRecentColors] = useDefaultValue(\n recentColors,\n props.defaultRecentColors,\n props.onRecentColorsChange,\n 'recentColors',\n );\n\n const refTrigger = ref<HTMLElement>();\n\n const handleClear = (context: { e: MouseEvent }) => props.onClear?.(context);\n\n const renderPopupContent = () => {\n if (props.disabled) {\n return null;\n }\n\n return (\n <ColorPanel\n {...{\n ...props,\n onChange: setInnerValue,\n onRecentColorsChange: setInnerRecentColors,\n }}\n value={innerValue.value}\n recentColors={innerRecentColors.value}\n />\n );\n };\n\n return () => {\n const popProps = {\n placement: 'bottom-left',\n ...((props.popupProps as any) || {}),\n trigger: 'click',\n attach: 'body',\n overlayClassName: [baseClassName.value],\n visible: visible.value,\n overlayInnerStyle: {\n padding: 0,\n },\n onVisibleChange: (\n visible: boolean,\n context: {\n trigger: string;\n },\n ) => {\n if (context.trigger === 'document') {\n setVisible(false);\n }\n },\n };\n return (\n <TPopup {...popProps} content={renderPopupContent}>\n <div class={`${baseClassName.value}__trigger`} onClick={() => setVisible(!visible.value)} ref={refTrigger}>\n {renderTNodeJSXDefault(\n 'default',\n <DefaultTrigger\n borderless={props.borderless}\n color={innerValue.value}\n disabled={props.disabled}\n clearable={props.clearable}\n input-props={props.inputProps}\n onTriggerChange={setInnerValue}\n onTriggerClear={handleClear}\n size={props.size}\n />,\n )}\n </div>\n </TPopup>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","baseClassName","useBaseClassName","renderTNodeJSXDefault","useTNodeDefault","visible","ref","setVisible","value","_toRefs","toRefs","inputValue","modelValue","recentColors","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","_useDefaultValue","useDefaultValue","defaultRecentColors","onRecentColorsChange","_useDefaultValue2","innerRecentColors","setInnerRecentColors","refTrigger","handleClear","context","onClear","renderPopupContent","disabled","_createVNode","ColorPanel","_mergeProps","_objectSpread","popProps","placement","popupProps","trigger","attach","overlayClassName","overlayInnerStyle","padding","onVisibleChange","TPopup","_default","concat","onClick","DefaultTrigger","borderless","clearable","inputProps","size"],"mappings":"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"}