当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript merge-styles.Stylesheet类代码示例

本文整理汇总了TypeScript中@uifabric/merge-styles.Stylesheet的典型用法代码示例。如果您正苦于以下问题:TypeScript Stylesheet类的具体用法?TypeScript Stylesheet怎么用?TypeScript Stylesheet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Stylesheet类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: print

export function print(
  val: string,
  serialize: () => string,
  indent: (val: string) => string
): string {
  const classNames = [];
  const rules = [];
  const parts = val.split(' ');

  for (const part of parts) {
    const ruleSet = Stylesheet.getInstance().insertedRulesFromClassName(part);

    if (ruleSet) {
      rules.push(_serializeRules(ruleSet, indent));
    } else {
      classNames.push(part);
    }
  }

  return (
    [
      ``,
      `${classNames.map((cn: string) => indent(cn)).join('\n')}`,
      `${rules.join('\n')}`
    ].join('\n')
  );
}
开发者ID:zoarif,项目名称:office-ui-fabric-react,代码行数:27,代码来源:index.ts

示例2: _serializeRules

/**
 * Given a ruleSet (an array of doubles (selector and insertedRules string)), and an indent,
 * produce a serialized version of the rules.
 */
function _serializeRules(rules: string[], indent: (val: string) => string): string {
  const ruleStrings: string[] = [];
  const stylesheet = Stylesheet.getInstance();

  for (let i = 0; i < rules.length; i += 2) {
    const selector = rules[i];
    const insertedRules = rules[i + 1];

    if (insertedRules) {
      // Keyframes should not be parsed like other selector/rule mappings.
      if (selector !== 'keyframes') {
        ruleStrings.push(indent((i === 0 ? '' : selector + ' ') + `{`));
        insertedRules
          .split(';')
          .sort()
          .forEach((rule: string) => {
            if (rule) {
              const [name, value] = rule.split(':');
              let delimiter: string | RegExp = ' ';

              if (name === 'animation-name') {
                delimiter = /[ ,]+/;
              }

              let result: string[] = [];

              if (value) {
                const valueParts = value.split(delimiter);

                for (const part of valueParts) {
                  const ruleSet = stylesheet.insertedRulesFromClassName(part);

                  if (ruleSet) {
                    result = result.concat(ruleSet);
                  } else {
                    result.push(part);
                  }
                }
              }

              ruleStrings.push(indent(`  ${name}: ${result.join(' ')};`));
            }
          });

        ruleStrings.push(indent('}'));
      }
    }
  }

  return ruleStrings.join('\n');
}
开发者ID:OfficeDev,项目名称:office-ui-fabric-react,代码行数:55,代码来源:index.ts

示例3:

  <T>(classNames: GlobalClassNames<T>, disableGlobalClassNames?: boolean): Partial<GlobalClassNames<T>> => {
    const styleSheet = Stylesheet.getInstance();

    if (disableGlobalClassNames) {
      // disable global classnames
      return Object.keys(classNames).reduce((acc: {}, className: string) => {
        acc[className] = styleSheet.getClassName(classNames[className]);
        return acc;
      }, {});
    }

    // use global classnames
    return classNames;
  }
开发者ID:OfficeDev,项目名称:office-ui-fabric-react,代码行数:14,代码来源:getGlobalClassNames.ts

示例4: print

export function print(val: string, serialize: () => string, indent: (val: string) => string): string {
  const classNames = [];
  const rules = [];
  const parts = val.split(' ');

  // Iterate through all class names in the value, and for each, determine if merge-styles
  // has a ruleset registered for the class. If so, serialize it to an expanded string. If not
  // add it to the static classNames array, as it's likely a global class name.
  for (const part of parts) {
    const ruleSet = Stylesheet.getInstance().insertedRulesFromClassName(part);

    if (ruleSet) {
      rules.push(_serializeRules(ruleSet, indent));
    } else {
      classNames.push(part);
    }
  }

  return [``, `${classNames.map((cn: string) => indent(cn)).join('\n')}`, `${rules.join('\n')}`].join('\n');
}
开发者ID:OfficeDev,项目名称:office-ui-fabric-react,代码行数:20,代码来源:index.ts

示例5: _serializeRules

function _serializeRules(rules: string[], indent: (val: string) => string): string {
  const ruleStrings: string[] = [];
  const stylesheet = Stylesheet.getInstance();

  for (let i = 0; i < rules.length; i += 2) {
    const selector = rules[i];
    const insertedRules = rules[i + 1];

    if (insertedRules) {
      ruleStrings.push(indent((i === 0 ? '' : selector + ' ') + `{`));

      insertedRules.split(';').sort().forEach((rule: string) => {
        if (rule) {
          const [name, value] = rule.split(':');
          const valueParts = value.split(' ');
          let result: string[] = [];

          for (const part of valueParts) {
            const ruleSet = stylesheet.insertedRulesFromClassName(part);

            if (ruleSet) {
              result = result.concat(ruleSet);
            } else {
              result.push(part);
            }
          }

          ruleStrings.push(indent(`  ${name}: ${result.join(' ')};`));
        }
      });

      ruleStrings.push(indent('}'));
    }
  }

  return ruleStrings.join('\n');
}
开发者ID:zoarif,项目名称:office-ui-fabric-react,代码行数:37,代码来源:index.ts

示例6:

  __remapped: { [key: string]: string };
  [key: string]: IIconRecord | {};
}

const ICON_SETTING_NAME = 'icons';

const _iconSettings = GlobalSettings.getValue<IIconRecords>(ICON_SETTING_NAME, {
  __options: {
    disableWarnings: false,
    warnOnMissingIcons: true
  },
  __remapped: {}
});

// Reset icon registration on stylesheet resets.
const stylesheet = Stylesheet.getInstance();

if (stylesheet && stylesheet.onReset) {
  stylesheet.onReset(() => {
    for (const name in _iconSettings) {
      if (_iconSettings.hasOwnProperty(name) && !!(_iconSettings[name] as IIconRecord).subset) {
        (_iconSettings[name] as IIconRecord).subset.className = undefined;
      }
    }
  });
}

/**
 * Registers a given subset of icons.
 *
 * @param iconSubset - the icon subset definition.
开发者ID:mikewheaton,项目名称:office-ui-fabric-react,代码行数:31,代码来源:icons.ts

示例7:

 return parts.some((part: string): boolean => !!Stylesheet.getInstance().insertedRulesFromClassName(part));
开发者ID:zoarif,项目名称:office-ui-fabric-react,代码行数:1,代码来源:index.ts

示例8: get

import { Stylesheet } from '@uifabric/merge-styles';

const stylesheet = Stylesheet.getInstance();

if (stylesheet && stylesheet.onReset) {
  Stylesheet.getInstance().onReset(resetMemoizations);
}

// tslint:disable:no-any
declare class WeakMap {
  public get(key: any): any;
  public set(key: any, value: any): void;
  public has(key: any): boolean;
}

let _resetCounter = 0;
const _emptyObject = { empty: true };
const _dictionary: any = {};
let _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;

interface IMemoizeNode {
  map: WeakMap | null;
  value?: any;
}

/**
 *  Test utility for providing a custom weakmap.
 *
 * @internal
 * */
export function setMemoizeWeakMap(weakMap: any): void {
开发者ID:magellantoo,项目名称:office-ui-fabric-react,代码行数:31,代码来源:memoize.ts


注:本文中的@uifabric/merge-styles.Stylesheet类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。