Blame view

天文台pc/tianwentai-ui/node_modules/class-variance-authority/dist/index.mjs 2.98 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  /**
   * Copyright 2022 Joe Bell. All rights reserved.
   *
   * This file is licensed to you under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with the
   * License. You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the
   * License for the specific language governing permissions and limitations under
   * the License.
   */ import { clsx } from "clsx";
  const falsyToString = (value)=>typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
  export const cx = clsx;
  export const cva = (base, config)=>(props)=>{
          var _config_compoundVariants;
          if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
          const { variants, defaultVariants } = config;
          const getVariantClassNames = Object.keys(variants).map((variant)=>{
              const variantProp = props === null || props === void 0 ? void 0 : props[variant];
              const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
              if (variantProp === null) return null;
              const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
              return variants[variant][variantKey];
          });
          const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{
              let [key, value] = param;
              if (value === undefined) {
                  return acc;
              }
              acc[key] = value;
              return acc;
          }, {});
          const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{
              let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;
              return Object.entries(compoundVariantOptions).every((param)=>{
                  let [key, value] = param;
                  return Array.isArray(value) ? value.includes({
                      ...defaultVariants,
                      ...propsWithoutUndefined
                  }[key]) : ({
                      ...defaultVariants,
                      ...propsWithoutUndefined
                  })[key] === value;
              }) ? [
                  ...acc,
                  cvClass,
                  cvClassName
              ] : acc;
          }, []);
          return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
      };