Blame view

天文台pc/tianwentai-ui/node_modules/class-variance-authority/dist/index.js 3.31 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  /**
   * 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.
   */ "use strict";
  Object.defineProperty(exports, "__esModule", {
      value: true
  });
  function _export(target, all) {
      for(var name in all)Object.defineProperty(target, name, {
          enumerable: true,
          get: all[name]
      });
  }
  _export(exports, {
      cva: function() {
          return cva;
      },
      cx: function() {
          return cx;
      }
  });
  const _clsx = require("clsx");
  const falsyToString = (value)=>typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
  const cx = _clsx.clsx;
  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);
      };