@contember/utilities 1.3.0-alpha.9 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/development/deprecate/deprecate.cjs +11 -0
  2. package/dist/development/deprecate/deprecate.cjs.map +1 -1
  3. package/dist/development/deprecate/deprecate.js +11 -0
  4. package/dist/development/deprecate/deprecate.js.map +1 -1
  5. package/dist/development/events/isSpecialLinkClick.cjs +5 -0
  6. package/dist/development/events/isSpecialLinkClick.cjs.map +1 -0
  7. package/dist/development/events/isSpecialLinkClick.js +5 -0
  8. package/dist/development/events/isSpecialLinkClick.js.map +1 -0
  9. package/dist/development/index.cjs +2 -18
  10. package/dist/development/index.cjs.map +1 -1
  11. package/dist/development/index.js +2 -18
  12. package/dist/development/index.js.map +1 -1
  13. package/dist/production/events/isSpecialLinkClick.cjs +5 -0
  14. package/dist/production/events/isSpecialLinkClick.cjs.map +1 -0
  15. package/dist/production/events/isSpecialLinkClick.js +5 -0
  16. package/dist/production/events/isSpecialLinkClick.js.map +1 -0
  17. package/dist/production/index.cjs +2 -18
  18. package/dist/production/index.cjs.map +1 -1
  19. package/dist/production/index.js +2 -18
  20. package/dist/production/index.js.map +1 -1
  21. package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts +1 -1
  22. package/dist/types/data-utilities/dateToStringWithoutTimezone.d.ts.map +1 -1
  23. package/dist/types/events/index.d.ts +2 -0
  24. package/dist/types/events/index.d.ts.map +1 -0
  25. package/dist/types/events/isSpecialLinkClick.d.ts +2 -0
  26. package/dist/types/events/isSpecialLinkClick.d.ts.map +1 -0
  27. package/dist/types/index.d.ts +1 -1
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/dist/types/tsconfig.tsbuildinfo +1 -1
  30. package/dist/types/types/Partial.d.ts +3 -0
  31. package/dist/types/types/Partial.d.ts.map +1 -0
  32. package/dist/types/types/index.d.ts +1 -0
  33. package/dist/types/types/index.d.ts.map +1 -1
  34. package/package.json +3 -3
  35. package/src/events/index.ts +1 -0
  36. package/src/events/isSpecialLinkClick.ts +1 -0
  37. package/src/index.ts +1 -1
  38. package/src/types/Partial.ts +2 -0
  39. package/src/types/index.ts +1 -0
  40. package/dist/development/class-name/colorSchemeClassName.cjs +0 -12
  41. package/dist/development/class-name/colorSchemeClassName.cjs.map +0 -1
  42. package/dist/development/class-name/colorSchemeClassName.js +0 -12
  43. package/dist/development/class-name/colorSchemeClassName.js.map +0 -1
  44. package/dist/development/class-name/constants.cjs +0 -7
  45. package/dist/development/class-name/constants.cjs.map +0 -1
  46. package/dist/development/class-name/constants.js +0 -7
  47. package/dist/development/class-name/constants.js.map +0 -1
  48. package/dist/development/class-name/deduplicateClassName.cjs +0 -7
  49. package/dist/development/class-name/deduplicateClassName.cjs.map +0 -1
  50. package/dist/development/class-name/deduplicateClassName.js +0 -7
  51. package/dist/development/class-name/deduplicateClassName.js.map +0 -1
  52. package/dist/development/class-name/filterThemedClassName.cjs +0 -46
  53. package/dist/development/class-name/filterThemedClassName.cjs.map +0 -1
  54. package/dist/development/class-name/filterThemedClassName.js +0 -46
  55. package/dist/development/class-name/filterThemedClassName.js.map +0 -1
  56. package/dist/development/class-name/flatClassNameList.cjs +0 -16
  57. package/dist/development/class-name/flatClassNameList.cjs.map +0 -1
  58. package/dist/development/class-name/flatClassNameList.js +0 -16
  59. package/dist/development/class-name/flatClassNameList.js.map +0 -1
  60. package/dist/development/class-name/listClassName.cjs +0 -9
  61. package/dist/development/class-name/listClassName.cjs.map +0 -1
  62. package/dist/development/class-name/listClassName.js +0 -9
  63. package/dist/development/class-name/listClassName.js.map +0 -1
  64. package/dist/development/class-name/themeClassName.cjs +0 -18
  65. package/dist/development/class-name/themeClassName.cjs.map +0 -1
  66. package/dist/development/class-name/themeClassName.js +0 -18
  67. package/dist/development/class-name/themeClassName.js.map +0 -1
  68. package/dist/production/class-name/colorSchemeClassName.cjs +0 -12
  69. package/dist/production/class-name/colorSchemeClassName.cjs.map +0 -1
  70. package/dist/production/class-name/colorSchemeClassName.js +0 -12
  71. package/dist/production/class-name/colorSchemeClassName.js.map +0 -1
  72. package/dist/production/class-name/constants.cjs +0 -7
  73. package/dist/production/class-name/constants.cjs.map +0 -1
  74. package/dist/production/class-name/constants.js +0 -7
  75. package/dist/production/class-name/constants.js.map +0 -1
  76. package/dist/production/class-name/deduplicateClassName.cjs +0 -7
  77. package/dist/production/class-name/deduplicateClassName.cjs.map +0 -1
  78. package/dist/production/class-name/deduplicateClassName.js +0 -7
  79. package/dist/production/class-name/deduplicateClassName.js.map +0 -1
  80. package/dist/production/class-name/filterThemedClassName.cjs +0 -46
  81. package/dist/production/class-name/filterThemedClassName.cjs.map +0 -1
  82. package/dist/production/class-name/filterThemedClassName.js +0 -46
  83. package/dist/production/class-name/filterThemedClassName.js.map +0 -1
  84. package/dist/production/class-name/flatClassNameList.cjs +0 -16
  85. package/dist/production/class-name/flatClassNameList.cjs.map +0 -1
  86. package/dist/production/class-name/flatClassNameList.js +0 -16
  87. package/dist/production/class-name/flatClassNameList.js.map +0 -1
  88. package/dist/production/class-name/listClassName.cjs +0 -9
  89. package/dist/production/class-name/listClassName.cjs.map +0 -1
  90. package/dist/production/class-name/listClassName.js +0 -9
  91. package/dist/production/class-name/listClassName.js.map +0 -1
  92. package/dist/production/class-name/themeClassName.cjs +0 -18
  93. package/dist/production/class-name/themeClassName.cjs.map +0 -1
  94. package/dist/production/class-name/themeClassName.js +0 -18
  95. package/dist/production/class-name/themeClassName.js.map +0 -1
  96. package/dist/types/class-name/colorSchemeClassName.d.ts +0 -32
  97. package/dist/types/class-name/colorSchemeClassName.d.ts.map +0 -1
  98. package/dist/types/class-name/constants.d.ts +0 -24
  99. package/dist/types/class-name/constants.d.ts.map +0 -1
  100. package/dist/types/class-name/deduplicateClassName.d.ts +0 -2
  101. package/dist/types/class-name/deduplicateClassName.d.ts.map +0 -1
  102. package/dist/types/class-name/filterThemedClassName.d.ts +0 -7
  103. package/dist/types/class-name/filterThemedClassName.d.ts.map +0 -1
  104. package/dist/types/class-name/flatClassNameList.d.ts +0 -3
  105. package/dist/types/class-name/flatClassNameList.d.ts.map +0 -1
  106. package/dist/types/class-name/index.d.ts +0 -9
  107. package/dist/types/class-name/index.d.ts.map +0 -1
  108. package/dist/types/class-name/listClassName.d.ts +0 -9
  109. package/dist/types/class-name/listClassName.d.ts.map +0 -1
  110. package/dist/types/class-name/themeClassName.d.ts +0 -78
  111. package/dist/types/class-name/themeClassName.d.ts.map +0 -1
  112. package/dist/types/class-name/types.d.ts +0 -9
  113. package/dist/types/class-name/types.d.ts.map +0 -1
  114. package/src/class-name/colorSchemeClassName.ts +0 -39
  115. package/src/class-name/constants.ts +0 -25
  116. package/src/class-name/deduplicateClassName.ts +0 -3
  117. package/src/class-name/filterThemedClassName.ts +0 -59
  118. package/src/class-name/flatClassNameList.ts +0 -18
  119. package/src/class-name/index.ts +0 -8
  120. package/src/class-name/listClassName.ts +0 -13
  121. package/src/class-name/themeClassName.ts +0 -90
  122. package/src/class-name/types.ts +0 -7
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function contentThemeClassName(theme) {
4
- return theme ? `theme-${theme}-content` : void 0;
5
- }
6
- function controlsThemeClassName(theme) {
7
- return theme ? `theme-${theme}-controls` : void 0;
8
- }
9
- function themeClassName(theme) {
10
- return [
11
- contentThemeClassName(theme),
12
- controlsThemeClassName(theme)
13
- ];
14
- }
15
- exports.contentThemeClassName = contentThemeClassName;
16
- exports.controlsThemeClassName = controlsThemeClassName;
17
- exports.themeClassName = themeClassName;
18
- //# sourceMappingURL=themeClassName.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeClassName.cjs","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["/**\n * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content\n * @returns A content theme class name\n *\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function contentThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-content` : undefined\n}\n\n/**\n * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for controls\n * @returns A controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function controlsThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-controls` : undefined\n}\n\n/**\n * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content and controls\n * @returns A tuple with a content theme class name and a controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const errorTheme = themeClassName('danger').join(' ')\n * // ^ 'theme-danger-content theme-danger-controls'\n *\n * return (\n * \t<div className={`${colorScheme} ${errorTheme}`}>File not found</div>\n * )\n * ```\n */\nexport function themeClassName(\n\ttheme: string | null | undefined,\n) {\n\treturn [\n\t\tcontentThemeClassName(theme),\n\t\tcontrolsThemeClassName(theme),\n\t] as const\n}\n"],"names":[],"mappings":";;AAyBO,SAAS,sBAAsB,OAAsD;AACpF,SAAA,QAAQ,SAAS,KAAK,aAAa;AAC3C;AA2BO,SAAS,uBAAuB,OAAsD;AACrF,SAAA,QAAQ,SAAS,KAAK,cAAc;AAC5C;AA0BO,SAAS,eACf,OACC;AACM,SAAA;AAAA,IACN,sBAAsB,KAAK;AAAA,IAC3B,uBAAuB,KAAK;AAAA,EAAA;AAE9B;;;;"}
@@ -1,18 +0,0 @@
1
- function contentThemeClassName(theme) {
2
- return theme ? `theme-${theme}-content` : void 0;
3
- }
4
- function controlsThemeClassName(theme) {
5
- return theme ? `theme-${theme}-controls` : void 0;
6
- }
7
- function themeClassName(theme) {
8
- return [
9
- contentThemeClassName(theme),
10
- controlsThemeClassName(theme)
11
- ];
12
- }
13
- export {
14
- contentThemeClassName,
15
- controlsThemeClassName,
16
- themeClassName
17
- };
18
- //# sourceMappingURL=themeClassName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeClassName.js","sources":["../../../src/class-name/themeClassName.ts"],"sourcesContent":["/**\n * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content\n * @returns A content theme class name\n *\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function contentThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-content` : undefined\n}\n\n/**\n * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for controls\n * @returns A controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const contentThemeClassName = contentThemeClassName('default')\n * // ^ 'theme-default-content'\n *\n * return (\n * \t<div className={`${colorScheme} ${contentThemeClassName}`}>\n * \t\t<button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>\n * \t</div>\n * )\n * ```\n */\nexport function controlsThemeClassName(theme: string | null | undefined): string | undefined {\n\treturn theme ? `theme-${theme}-controls` : undefined\n}\n\n/**\n * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively\n *\n * IMPORTANT: Make sure to use color scheme class in combination with theme class names.\n *\n * @param theme - Theme name basis for content and controls\n * @returns A tuple with a content theme class name and a controls theme class name\n *\n * @see {@link contentThemeClassName}\n * @see {@link controlsThemeClassName}\n * @see {@link (colorSchemeClassName:3)}\n *\n * @example\n * ```tsx\n * const colorScheme = colorSchemeClassName('system')\n * // ^ 'scheme-system'\n * const errorTheme = themeClassName('danger').join(' ')\n * // ^ 'theme-danger-content theme-danger-controls'\n *\n * return (\n * \t<div className={`${colorScheme} ${errorTheme}`}>File not found</div>\n * )\n * ```\n */\nexport function themeClassName(\n\ttheme: string | null | undefined,\n) {\n\treturn [\n\t\tcontentThemeClassName(theme),\n\t\tcontrolsThemeClassName(theme),\n\t] as const\n}\n"],"names":[],"mappings":"AAyBO,SAAS,sBAAsB,OAAsD;AACpF,SAAA,QAAQ,SAAS,KAAK,aAAa;AAC3C;AA2BO,SAAS,uBAAuB,OAAsD;AACrF,SAAA,QAAQ,SAAS,KAAK,cAAc;AAC5C;AA0BO,SAAS,eACf,OACC;AACM,SAAA;AAAA,IACN,sBAAsB,KAAK;AAAA,IAC3B,uBAAuB,KAAK;AAAA,EAAA;AAE9B;"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Returns a string with a color scheme class name, prefixed with `scheme-`
3
- *
4
- * @param scheme - Color scheme name
5
- * @returns A color scheme class name
6
- *
7
- * @example
8
- * ```tsx
9
- * const colorScheme = colorSchemeClassName('system')
10
- * // ^ 'scheme-system'
11
- *
12
- * return (
13
- * <div className={colorScheme}>
14
- * <button className={controlsThemeClassName}>Click me</button>
15
- * </div>
16
- *
17
- * // renders:
18
- * // <div class="scheme-system">
19
- * // <button class="scheme-system theme-default-controls theme-danger-controls:hover">Click me</button>
20
- * // </div>
21
- * ```
22
- */
23
- export declare function colorSchemeClassName(scheme: string): string;
24
- export declare function colorSchemeClassName(scheme: string | null | undefined): string | undefined;
25
- /**
26
- * Tests if a string is a color scheme CSS class
27
- * @param value - String to test
28
- * @returns `true` if the string is a color scheme CSS class
29
- * @internal
30
- */
31
- export declare function isColorSchemeClassName(value: string): boolean;
32
- //# sourceMappingURL=colorSchemeClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colorSchemeClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/colorSchemeClassName.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;AAC5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAK3F;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,WAEnD"}
@@ -1,24 +0,0 @@
1
- /**
2
- * RegExp that matches theme class names
3
- *
4
- * @internal
5
- *
6
- * If theme is `default` then it will match:
7
- *
8
- * - theme-default
9
- * - theme-default-content
10
- * - theme-default-controls
11
- *
12
- * If theme is `brand-color` then it will match:
13
- *
14
- * - theme-brand-color
15
- * - theme-brand-color-content
16
- * - theme-brand-color-controls
17
- */
18
- export declare const THEME_CLASS_NAME_REG_EXP: RegExp;
19
- /**
20
- * Regular expression for testing if a string is a color scheme CSS class
21
- * @internal
22
- */
23
- export declare const COLOR_SCHEME_CLASS_NAME_REG_EXP: RegExp;
24
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/class-name/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,wBAAwB,QAA6D,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,+BAA+B,QAA4D,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare function deduplicateClassName(classNameArray: string[]): string[];
2
- //# sourceMappingURL=deduplicateClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deduplicateClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/deduplicateClassName.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE"}
@@ -1,7 +0,0 @@
1
- import { NestedClassName } from './types';
2
- export type ThemeConfig = {
3
- content: string | undefined;
4
- controls: string | undefined;
5
- };
6
- export declare function filterThemedClassName(nestedClassName: NestedClassName, defaultColorSchemeContext: string): string[];
7
- //# sourceMappingURL=filterThemedClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterThemedClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/filterThemedClassName.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEvF,wBAAgB,qBAAqB,CACpC,eAAe,EAAE,eAAe,EAChC,yBAAyB,EAAE,MAAM,YAgDjC"}
@@ -1,3 +0,0 @@
1
- import { NestedClassName } from './types';
2
- export declare function flatClassNameList(className: NestedClassName): string[];
3
- //# sourceMappingURL=flatClassNameList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatClassNameList.d.ts","sourceRoot":"","sources":["../../../src/class-name/flatClassNameList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,EAAE,CActE"}
@@ -1,9 +0,0 @@
1
- export * from './colorSchemeClassName';
2
- export * from './constants';
3
- export * from './deduplicateClassName';
4
- export * from './filterThemedClassName';
5
- export * from './flatClassNameList';
6
- export * from './listClassName';
7
- export * from './themeClassName';
8
- export * from './types';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/class-name/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
@@ -1,9 +0,0 @@
1
- import { NestedClassName } from './types';
2
- /**
3
- * Combines a list of class names into a single string, even nested
4
- *
5
- * @param list - List of class names
6
- * @returns Combined class names as string
7
- */
8
- export declare function listClassName(list: NestedClassName): string;
9
- //# sourceMappingURL=listClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/listClassName.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,UAElD"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`
3
- *
4
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
5
- *
6
- * @param theme - Theme name basis for content
7
- * @returns A content theme class name
8
- *
9
- * @see {@link controlsThemeClassName}
10
- * @see {@link (colorSchemeClassName:3)}
11
- *
12
- * @example
13
- * ```tsx
14
- * const colorScheme = colorSchemeClassName('system')
15
- * // ^ 'scheme-system'
16
- * const contentThemeClassName = contentThemeClassName('default')
17
- * // ^ 'theme-default-content'
18
- *
19
- * return (
20
- * <div className={`${colorScheme} ${contentThemeClassName}`}>
21
- * <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
22
- * </div>
23
- * )
24
- * ```
25
- */
26
- export declare function contentThemeClassName(theme: string | null | undefined): string | undefined;
27
- /**
28
- * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`
29
- *
30
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
31
- *
32
- * @param theme - Theme name basis for controls
33
- * @returns A controls theme class name
34
- *
35
- * @see {@link contentThemeClassName}
36
- * @see {@link (colorSchemeClassName:3)}
37
- *
38
- * @example
39
- * ```tsx
40
- * const colorScheme = colorSchemeClassName('system')
41
- * // ^ 'scheme-system'
42
- * const contentThemeClassName = contentThemeClassName('default')
43
- * // ^ 'theme-default-content'
44
- *
45
- * return (
46
- * <div className={`${colorScheme} ${contentThemeClassName}`}>
47
- * <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
48
- * </div>
49
- * )
50
- * ```
51
- */
52
- export declare function controlsThemeClassName(theme: string | null | undefined): string | undefined;
53
- /**
54
- * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively
55
- *
56
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
57
- *
58
- * @param theme - Theme name basis for content and controls
59
- * @returns A tuple with a content theme class name and a controls theme class name
60
- *
61
- * @see {@link contentThemeClassName}
62
- * @see {@link controlsThemeClassName}
63
- * @see {@link (colorSchemeClassName:3)}
64
- *
65
- * @example
66
- * ```tsx
67
- * const colorScheme = colorSchemeClassName('system')
68
- * // ^ 'scheme-system'
69
- * const errorTheme = themeClassName('danger').join(' ')
70
- * // ^ 'theme-danger-content theme-danger-controls'
71
- *
72
- * return (
73
- * <div className={`${colorScheme} ${errorTheme}`}>File not found</div>
74
- * )
75
- * ```
76
- */
77
- export declare function themeClassName(theme: string | null | undefined): readonly [string | undefined, string | undefined];
78
- //# sourceMappingURL=themeClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/themeClassName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,qDAMhC"}
@@ -1,9 +0,0 @@
1
- export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[];
2
- export type ClassNameStateMap = {
3
- [key: string]: string | number | boolean | null | undefined;
4
- };
5
- export interface ComponentClassNameProps {
6
- className?: NestedClassName;
7
- componentClassName?: string | string[];
8
- }
9
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/class-name/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,eAAe,EAAE,CAAA;AAC3H,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAA;AAE/F,MAAM,WAAW,uBAAuB;IACvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACvC"}
@@ -1,39 +0,0 @@
1
- import { COLOR_SCHEME_CLASS_NAME_REG_EXP } from './constants'
2
-
3
- /**
4
- * Returns a string with a color scheme class name, prefixed with `scheme-`
5
- *
6
- * @param scheme - Color scheme name
7
- * @returns A color scheme class name
8
- *
9
- * @example
10
- * ```tsx
11
- * const colorScheme = colorSchemeClassName('system')
12
- * // ^ 'scheme-system'
13
- *
14
- * return (
15
- * <div className={colorScheme}>
16
- * <button className={controlsThemeClassName}>Click me</button>
17
- * </div>
18
- *
19
- * // renders:
20
- * // <div class="scheme-system">
21
- * // <button class="scheme-system theme-default-controls theme-danger-controls:hover">Click me</button>
22
- * // </div>
23
- * ```
24
- */
25
- export function colorSchemeClassName(scheme: string): string
26
- export function colorSchemeClassName(scheme: string | null | undefined): string | undefined
27
- export function colorSchemeClassName(scheme: string | null | undefined): string | undefined {
28
- return typeof scheme === 'string' ? `scheme-${scheme}` : undefined
29
- }
30
-
31
- /**
32
- * Tests if a string is a color scheme CSS class
33
- * @param value - String to test
34
- * @returns `true` if the string is a color scheme CSS class
35
- * @internal
36
- */
37
- export function isColorSchemeClassName(value: string) {
38
- return COLOR_SCHEME_CLASS_NAME_REG_EXP.test(value)
39
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * RegExp that matches theme class names
3
- *
4
- * @internal
5
- *
6
- * If theme is `default` then it will match:
7
- *
8
- * - theme-default
9
- * - theme-default-content
10
- * - theme-default-controls
11
- *
12
- * If theme is `brand-color` then it will match:
13
- *
14
- * - theme-brand-color
15
- * - theme-brand-color-content
16
- * - theme-brand-color-controls
17
- */
18
-
19
- export const THEME_CLASS_NAME_REG_EXP = /^theme-(?<name>[\w-]+?)(?:-(?<scope>content|controls))?$/
20
-
21
- /**
22
- * Regular expression for testing if a string is a color scheme CSS class
23
- * @internal
24
- */
25
- export const COLOR_SCHEME_CLASS_NAME_REG_EXP = /^scheme-(?<colorScheme>[a-z0-9]|[a-z0-9]+[a-z-]+[a-z])$/
@@ -1,3 +0,0 @@
1
- export function deduplicateClassName(classNameArray: string[]): string[] {
2
- return [...new Set(classNameArray)]
3
- }
@@ -1,59 +0,0 @@
1
- import { isColorSchemeClassName } from './colorSchemeClassName'
2
- import { THEME_CLASS_NAME_REG_EXP } from './constants'
3
- import { flatClassNameList } from './flatClassNameList'
4
- import { contentThemeClassName, controlsThemeClassName } from './themeClassName'
5
- import { NestedClassName } from './types'
6
-
7
- export type ThemeConfig = { content: string | undefined, controls: string | undefined }
8
-
9
- export function filterThemedClassName(
10
- nestedClassName: NestedClassName,
11
- defaultColorSchemeContext: string,
12
- ) {
13
- const theme: ThemeConfig = { content: undefined, controls: undefined }
14
- let colorScheme: string | undefined = undefined
15
-
16
- const flatClassName = flatClassNameList(nestedClassName).map(className => {
17
- if (isColorSchemeClassName(className)) {
18
- colorScheme = className
19
- return undefined
20
- }
21
-
22
- const match = className.match(THEME_CLASS_NAME_REG_EXP)
23
-
24
- if (match) {
25
- const name = match.groups!.name
26
- const scope = match.groups!.scope
27
-
28
- if (!scope) {
29
- theme.content = name
30
- theme.controls = name
31
- } else if (scope === 'content') {
32
- theme.content = name
33
- } else if (scope === 'controls') {
34
- theme.controls = name
35
- } else {
36
- throw new Error(`Unknown theme scope: ${scope}`)
37
- }
38
-
39
- return undefined
40
- } else {
41
- return className
42
- }
43
- }).filter(Boolean) as string[]
44
-
45
- const themeClassNames: (string | undefined)[] = []
46
-
47
- const content = contentThemeClassName(theme.content)
48
- const controls = controlsThemeClassName(theme.controls)
49
-
50
- themeClassNames.push(content, controls)
51
-
52
- const flatThemedClassName = flatClassNameList(themeClassNames)
53
-
54
- if (flatThemedClassName.length > 0 || colorScheme) {
55
- return [colorScheme ?? defaultColorSchemeContext, ...flatThemedClassName, ...flatClassName]
56
- } else {
57
- return flatClassName
58
- }
59
- }
@@ -1,18 +0,0 @@
1
- import { assertNever } from '../assert-types'
2
- import { NestedClassName } from './types'
3
-
4
- export function flatClassNameList(className: NestedClassName): string[] {
5
- if (!className) {
6
- return []
7
- } else if (typeof className === 'string') {
8
- return className.split(' ').filter(Boolean)
9
- } else if (Array.isArray(className)) {
10
- return className.flatMap(flatClassNameList)
11
- } else {
12
- if (import.meta.env.DEV) {
13
- console.error(`Unexpected className: ${JSON.stringify(className)}`)
14
- }
15
-
16
- assertNever(className)
17
- }
18
- }
@@ -1,8 +0,0 @@
1
- export * from './colorSchemeClassName'
2
- export * from './constants'
3
- export * from './deduplicateClassName'
4
- export * from './filterThemedClassName'
5
- export * from './flatClassNameList'
6
- export * from './listClassName'
7
- export * from './themeClassName'
8
- export * from './types'
@@ -1,13 +0,0 @@
1
- import { deduplicateClassName } from './deduplicateClassName'
2
- import { flatClassNameList } from './flatClassNameList'
3
- import { NestedClassName } from './types'
4
-
5
- /**
6
- * Combines a list of class names into a single string, even nested
7
- *
8
- * @param list - List of class names
9
- * @returns Combined class names as string
10
- */
11
- export function listClassName(list: NestedClassName) {
12
- return deduplicateClassName(flatClassNameList(list)).join(' ')
13
- }
@@ -1,90 +0,0 @@
1
- /**
2
- * Returns a string with a content theme class name, prefixed with `theme-` and suffixed with `-content`
3
- *
4
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
5
- *
6
- * @param theme - Theme name basis for content
7
- * @returns A content theme class name
8
- *
9
- * @see {@link controlsThemeClassName}
10
- * @see {@link (colorSchemeClassName:3)}
11
- *
12
- * @example
13
- * ```tsx
14
- * const colorScheme = colorSchemeClassName('system')
15
- * // ^ 'scheme-system'
16
- * const contentThemeClassName = contentThemeClassName('default')
17
- * // ^ 'theme-default-content'
18
- *
19
- * return (
20
- * <div className={`${colorScheme} ${contentThemeClassName}`}>
21
- * <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
22
- * </div>
23
- * )
24
- * ```
25
- */
26
- export function contentThemeClassName(theme: string | null | undefined): string | undefined {
27
- return theme ? `theme-${theme}-content` : undefined
28
- }
29
-
30
- /**
31
- * Returns a string with a controls theme class name, prefixed with `theme-` and suffixed with `-controls`
32
- *
33
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
34
- *
35
- * @param theme - Theme name basis for controls
36
- * @returns A controls theme class name
37
- *
38
- * @see {@link contentThemeClassName}
39
- * @see {@link (colorSchemeClassName:3)}
40
- *
41
- * @example
42
- * ```tsx
43
- * const colorScheme = colorSchemeClassName('system')
44
- * // ^ 'scheme-system'
45
- * const contentThemeClassName = contentThemeClassName('default')
46
- * // ^ 'theme-default-content'
47
- *
48
- * return (
49
- * <div className={`${colorScheme} ${contentThemeClassName}`}>
50
- * <button className={`${colorScheme} ${dangerOnMouseOverTheme}`}>Delete</button>
51
- * </div>
52
- * )
53
- * ```
54
- */
55
- export function controlsThemeClassName(theme: string | null | undefined): string | undefined {
56
- return theme ? `theme-${theme}-controls` : undefined
57
- }
58
-
59
- /**
60
- * Returns a tuple with a content theme class name and a controls theme class name, prefixed with `theme-` and suffixed with `-content` and `-controls` respectively
61
- *
62
- * IMPORTANT: Make sure to use color scheme class in combination with theme class names.
63
- *
64
- * @param theme - Theme name basis for content and controls
65
- * @returns A tuple with a content theme class name and a controls theme class name
66
- *
67
- * @see {@link contentThemeClassName}
68
- * @see {@link controlsThemeClassName}
69
- * @see {@link (colorSchemeClassName:3)}
70
- *
71
- * @example
72
- * ```tsx
73
- * const colorScheme = colorSchemeClassName('system')
74
- * // ^ 'scheme-system'
75
- * const errorTheme = themeClassName('danger').join(' ')
76
- * // ^ 'theme-danger-content theme-danger-controls'
77
- *
78
- * return (
79
- * <div className={`${colorScheme} ${errorTheme}`}>File not found</div>
80
- * )
81
- * ```
82
- */
83
- export function themeClassName(
84
- theme: string | null | undefined,
85
- ) {
86
- return [
87
- contentThemeClassName(theme),
88
- controlsThemeClassName(theme),
89
- ] as const
90
- }
@@ -1,7 +0,0 @@
1
- export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[]
2
- export type ClassNameStateMap = { [key: string]: string | number | boolean | null | undefined }
3
-
4
- export interface ComponentClassNameProps {
5
- className?: NestedClassName;
6
- componentClassName?: string | string[];
7
- }