oxy-uni-ui 2.1.4 → 2.1.5

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 (94) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/abstracts/variable.scss +364 -5
  3. package/components/oxy-action-sheet/index.scss +21 -13
  4. package/components/oxy-backtop/index.scss +1 -1
  5. package/components/oxy-badge/index.scss +1 -1
  6. package/components/oxy-button/index.scss +13 -10
  7. package/components/oxy-calendar/index.scss +32 -8
  8. package/components/oxy-calendar-view/month/index.scss +3 -3
  9. package/components/oxy-calendar-view/monthPanel/index.scss +4 -4
  10. package/components/oxy-calendar-view/year/index.scss +3 -3
  11. package/components/oxy-calendar-view/yearPanel/index.scss +1 -1
  12. package/components/oxy-card/index.scss +5 -5
  13. package/components/oxy-cell/index.scss +9 -9
  14. package/components/oxy-cell-group/index.scss +10 -10
  15. package/components/oxy-checkbox/index.scss +47 -6
  16. package/components/oxy-checkbox-group/index.scss +1 -1
  17. package/components/oxy-col-picker/index.scss +7 -7
  18. package/components/oxy-collapse/index.scss +7 -3
  19. package/components/oxy-collapse-item/index.scss +9 -5
  20. package/components/oxy-config-provider/oxy-config-provider.vue +49 -10
  21. package/components/oxy-config-provider/types.ts +856 -1
  22. package/components/oxy-corner/index.scss +1 -1
  23. package/components/oxy-count-down/index.scss +2 -2
  24. package/components/oxy-curtain/index.scss +1 -1
  25. package/components/oxy-date-strip-item/index.scss +1 -1
  26. package/components/oxy-datetime-picker/index.scss +12 -8
  27. package/components/oxy-divider/index.scss +3 -3
  28. package/components/oxy-drop-menu/index.scss +3 -3
  29. package/components/oxy-drop-menu-item/index.scss +10 -2
  30. package/components/oxy-drop-menu-item/oxy-drop-menu-item.vue +1 -1
  31. package/components/oxy-fab/index.scss +25 -0
  32. package/components/oxy-file-list/index.scss +3 -3
  33. package/components/oxy-floating-panel/index.scss +10 -2
  34. package/components/oxy-footer/index.scss +6 -0
  35. package/components/oxy-gap/index.scss +3 -1
  36. package/components/oxy-gap/oxy-gap.vue +2 -2
  37. package/components/oxy-gap/types.ts +1 -1
  38. package/components/oxy-grid-item/index.scss +7 -4
  39. package/components/oxy-grid-item/oxy-grid-item.vue +4 -3
  40. package/components/oxy-index-anchor/index.scss +4 -4
  41. package/components/oxy-index-bar/index.scss +8 -3
  42. package/components/oxy-index-bar/oxy-index-bar.vue +14 -1
  43. package/components/oxy-index-bar/types.ts +2 -1
  44. package/components/oxy-input/index.scss +14 -14
  45. package/components/oxy-input/placeholder.scss +1 -1
  46. package/components/oxy-input-number/index.scss +16 -6
  47. package/components/oxy-keyboard/index.scss +11 -3
  48. package/components/oxy-keyboard/key/index.scss +4 -4
  49. package/components/oxy-keyboard/oxy-keyboard.vue +1 -0
  50. package/components/oxy-loadmore/index.scss +1 -1
  51. package/components/oxy-message-box/index.scss +5 -5
  52. package/components/oxy-message-box/oxy-message-box.vue +5 -1
  53. package/components/oxy-navbar/index.scss +9 -5
  54. package/components/oxy-navbar-capsule/index.scss +5 -5
  55. package/components/oxy-overlay/index.scss +2 -0
  56. package/components/oxy-pagination/index.scss +47 -9
  57. package/components/oxy-password-input/index.scss +7 -7
  58. package/components/oxy-picker/index.scss +43 -6
  59. package/components/oxy-picker-view/index.scss +12 -4
  60. package/components/oxy-popover/index.scss +2 -2
  61. package/components/oxy-popup/index.scss +2 -2
  62. package/components/oxy-progress/index.scss +1 -1
  63. package/components/oxy-radio/index.scss +17 -16
  64. package/components/oxy-radio-group/index.scss +1 -1
  65. package/components/oxy-rich-text/index.scss +27 -4
  66. package/components/oxy-rich-text/mp-html/mp-html.vue +4 -0
  67. package/components/oxy-rich-text/oxy-rich-text.vue +4 -15
  68. package/components/oxy-rich-text/types.ts +11 -0
  69. package/components/oxy-search/index.scss +14 -11
  70. package/components/oxy-segmented/index.scss +6 -6
  71. package/components/oxy-select/index.scss +22 -22
  72. package/components/oxy-select-picker/index.scss +24 -4
  73. package/components/oxy-sidebar/index.scss +5 -5
  74. package/components/oxy-sidebar-item/index.scss +8 -7
  75. package/components/oxy-skeleton/index.scss +1 -1
  76. package/components/oxy-slider/index.scss +3 -3
  77. package/components/oxy-sort-button/index.scss +1 -1
  78. package/components/oxy-splitter-panel/index.scss +7 -7
  79. package/components/oxy-status-tip/index.scss +3 -2
  80. package/components/oxy-step/index.scss +10 -10
  81. package/components/oxy-tabbar/index.scss +7 -3
  82. package/components/oxy-tabbar-item/index.scss +2 -2
  83. package/components/oxy-table/index.scss +7 -7
  84. package/components/oxy-tabs/index.scss +30 -18
  85. package/components/oxy-tag/index.scss +19 -7
  86. package/components/oxy-textarea/index.scss +17 -17
  87. package/components/oxy-textarea/placeholder.scss +2 -2
  88. package/components/oxy-tooltip/index.scss +2 -2
  89. package/components/oxy-tree/index.scss +1 -1
  90. package/components/oxy-upload/index.scss +10 -10
  91. package/components/oxy-voice-player/index.scss +4 -0
  92. package/package.json +1 -1
  93. package/tags.json +1 -1
  94. package/web-types.json +1 -1
@@ -20,7 +20,7 @@ export default {
20
20
  <script lang="ts" setup>
21
21
  import { computed } from 'vue'
22
22
  import { configProviderProps } from './types'
23
- import { objToStyle } from '../common/util'
23
+ import { kebabCase, objToStyle } from '../common/util'
24
24
 
25
25
  const props = defineProps(configProviderProps)
26
26
 
@@ -33,14 +33,53 @@ const themeStyle = computed(() => {
33
33
  return styleObj ? `${objToStyle(styleObj)}${props.customStyle}` : props.customStyle
34
34
  })
35
35
 
36
- /**
37
- * 驼峰命名转短横线命名。
38
- * @param str 驼峰字符串
39
- * @returns kebab-case 字符串
40
- */
41
- const kebabCase = (str: string): string => {
42
- str = str.replace(str.charAt(0), str.charAt(0).toLocaleLowerCase())
43
- return str.replace(/([a-z])([A-Z])/g, (_, p1, p2) => p1 + '-' + p2.toLowerCase())
36
+ const themeVarAliases: Record<string, string> = {
37
+ colorGray1: 'color-gray-1',
38
+ colorGray2: 'color-gray-2',
39
+ colorGray3: 'color-gray-3',
40
+ colorGray4: 'color-gray-4',
41
+ colorGray5: 'color-gray-5',
42
+ colorGray6: 'color-gray-6',
43
+ colorGray7: 'color-gray-7',
44
+ colorGray8: 'color-gray-8',
45
+ fontGray1: 'font-gray-1',
46
+ fontGray2: 'font-gray-2',
47
+ fontGray3: 'font-gray-3',
48
+ fontGray4: 'font-gray-4',
49
+ fontWhite1: 'font-white-1',
50
+ fontWhite2: 'font-white-2',
51
+ fontWhite3: 'font-white-3',
52
+ fontWhite4: 'font-white-4',
53
+ radius2xl: 'radius-2xl',
54
+ radius3xl: 'radius-3xl',
55
+ spacing4: 'spacing-4',
56
+ spacing8: 'spacing-8',
57
+ spacing12: 'spacing-12',
58
+ spacing16: 'spacing-16',
59
+ spacing20: 'spacing-20',
60
+ spacing24: 'spacing-24',
61
+ spacing32: 'spacing-32',
62
+ spacing40: 'spacing-40',
63
+ spacing48: 'spacing-48',
64
+ size32: 'size-32',
65
+ size48: 'size-48',
66
+ size64: 'size-64',
67
+ size80: 'size-80',
68
+ paginationNavSeparatorPadding: 'pagination-nav-sepatator-padding',
69
+ segmentedItemActiveBg: 'segmented-item-acitve-bg',
70
+ calendarRangeSeparatorColorDark: 'calendar-range-sperator-color-dark',
71
+ sideBarDisabledColor: 'side-bar-disabled-color',
72
+ sideBarDisabledColorDark: 'side-bar-disabled-color-dark',
73
+ sidebarDisabledColor: 'side-bar-disabled-color',
74
+ sidebarDisabledColorDark: 'side-bar-disabled-color-dark',
75
+ passwordBorderColor: 'password-border-color',
76
+ passwordBorderColorDark: 'password-border-color-dark',
77
+ passwordInputBorderColor: 'password-border-color',
78
+ passwordInputBorderColorDark: 'password-border-color-dark'
79
+ }
80
+
81
+ const resolveThemeVarName = (key: string): string => {
82
+ return themeVarAliases[key] || kebabCase(key)
44
83
  }
45
84
  /**
46
85
  * 十六进制颜色转 RGB 数组。
@@ -81,7 +120,7 @@ const mapThemeVarsToCSSVars = (themeVars: Record<string, string>) => {
81
120
  if (!themeVars) return
82
121
  const cssVars: Record<string, string> = {}
83
122
  Object.keys(themeVars).forEach((key) => {
84
- cssVars[`--oxy-${kebabCase(key)}`] = themeVars[key]
123
+ cssVars[`--oxy-${resolveThemeVarName(key)}`] = themeVars[key]
85
124
  })
86
125
 
87
126
  return cssVars