@dynamic-framework/ui-react 1.6.0 → 1.7.0

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 (222) hide show
  1. package/LICENSE +223 -21
  2. package/README.md +3 -15
  3. package/dist/css/dynamic-ui.css +3888 -1310
  4. package/dist/css/dynamic-ui.min.css +1 -1
  5. package/dist/index.esm.js +887 -555
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +941 -604
  8. package/dist/index.js.map +1 -1
  9. package/dist/types/components/DAlert.d.ts +16 -0
  10. package/dist/types/components/DBadge.d.ts +11 -0
  11. package/dist/types/components/DBoxFile.d.ts +3 -4
  12. package/dist/types/components/DButton.d.ts +21 -0
  13. package/dist/types/components/DCard.d.ts +2 -2
  14. package/dist/types/components/DCardAccount.d.ts +3 -3
  15. package/dist/types/components/DCardBody.d.ts +2 -2
  16. package/dist/types/components/DCardFooter.d.ts +2 -2
  17. package/dist/types/components/DCardHeader.d.ts +2 -2
  18. package/dist/types/components/DCarousel.d.ts +3 -3
  19. package/dist/types/components/DCarouselSlide.d.ts +1 -1
  20. package/dist/types/components/DChip.d.ts +10 -0
  21. package/dist/types/components/DCollapse.d.ts +4 -4
  22. package/dist/types/components/DCollapseIconText.d.ts +3 -4
  23. package/dist/types/components/DCurrencyText.d.ts +1 -1
  24. package/dist/types/components/DDatePicker.d.ts +5 -5
  25. package/dist/types/components/DDatePickerHeader.d.ts +4 -4
  26. package/dist/types/components/DDatePickerInput.d.ts +7 -7
  27. package/dist/types/components/DDatePickerTime.d.ts +6 -6
  28. package/dist/types/components/DFormikInput.d.ts +2 -2
  29. package/dist/types/components/DFormikInputCurrency.d.ts +1 -1
  30. package/dist/types/components/DFormikInputSelect.d.ts +3 -6
  31. package/dist/types/components/DIcon.d.ts +16 -0
  32. package/dist/types/components/DInput.d.ts +32 -0
  33. package/dist/types/components/DInputCheck.d.ts +15 -0
  34. package/dist/types/components/DInputCounter.d.ts +22 -0
  35. package/dist/types/components/DInputCurrency.d.ts +4 -8
  36. package/dist/types/components/DInputCurrencyBase.d.ts +24 -0
  37. package/dist/types/components/DInputPassword.d.ts +17 -0
  38. package/dist/types/components/DInputPin.d.ts +19 -0
  39. package/dist/types/components/DInputSearch.d.ts +19 -0
  40. package/dist/types/components/DInputSelect.d.ts +23 -0
  41. package/dist/types/components/DInputSwitch.d.ts +11 -0
  42. package/dist/types/components/DList.d.ts +4 -3
  43. package/dist/types/components/DListItem.d.ts +4 -4
  44. package/dist/types/components/DListItemMovement.d.ts +2 -2
  45. package/dist/types/components/DModal.d.ts +14 -0
  46. package/dist/types/components/DModalBody.d.ts +6 -0
  47. package/dist/types/components/DModalFooter.d.ts +6 -0
  48. package/dist/types/components/DModalHeader.d.ts +7 -0
  49. package/dist/types/components/DMonthPicker.d.ts +4 -4
  50. package/dist/types/components/DOffcanvas.d.ts +10 -0
  51. package/dist/types/components/DOffcanvasBody.d.ts +6 -0
  52. package/dist/types/components/DOffcanvasFooter.d.ts +6 -0
  53. package/dist/types/components/DOffcanvasHeader.d.ts +7 -0
  54. package/dist/types/components/DPaginator.d.ts +4 -4
  55. package/dist/types/components/DPopover.d.ts +3 -2
  56. package/dist/types/components/DProgress.d.ts +9 -0
  57. package/dist/types/components/DQuickActionButton.d.ts +22 -0
  58. package/dist/types/components/DQuickActionCheck.d.ts +13 -0
  59. package/dist/types/components/DQuickActionSelect.d.ts +12 -0
  60. package/dist/types/components/DQuickActionSwitch.d.ts +11 -0
  61. package/dist/types/components/DSkeleton.d.ts +2 -2
  62. package/dist/types/components/DStepper.d.ts +3 -3
  63. package/dist/types/components/DStepperDesktop.d.ts +2 -2
  64. package/dist/types/components/DStepperMobile.d.ts +2 -2
  65. package/dist/types/components/DTabContent.d.ts +1 -1
  66. package/dist/types/components/DTabs.d.ts +5 -5
  67. package/dist/types/components/DToastContainer.d.ts +2 -3
  68. package/dist/types/components/DTooltip.d.ts +2 -2
  69. package/dist/types/components/banking/{MPermissionGroup.d.ts → DPermissionGroup.d.ts} +2 -2
  70. package/dist/types/components/banking/DPermissionItem.d.ts +1 -1
  71. package/dist/types/components/banking/{MSummaryCard.d.ts → DSummaryCard.d.ts} +2 -2
  72. package/dist/types/components/banking/index.d.ts +2 -2
  73. package/dist/types/components/banking/interface.d.ts +1 -1
  74. package/dist/types/components/config.d.ts +5 -0
  75. package/dist/types/components/index.d.ts +46 -20
  76. package/dist/types/components/interface.d.ts +44 -0
  77. package/dist/types/contexts/ModalContext.d.ts +12 -12
  78. package/dist/types/contexts/OffcanvasContext.d.ts +12 -12
  79. package/dist/types/hooks/useScreenshot.d.ts +1 -1
  80. package/dist/types/hooks/useToast.d.ts +3 -3
  81. package/dist/types/stories/components/DBadge.stories.d.ts +1 -1
  82. package/dist/types/stories/components/DBoxFile.stories.d.ts +1 -1
  83. package/dist/types/stories/components/DButton.stories.d.ts +1 -1
  84. package/dist/types/stories/components/DChip.stories.d.ts +1 -1
  85. package/dist/types/stories/components/DCurrencyText.stories.d.ts +1 -1
  86. package/dist/types/stories/components/DDatePicker.stories.d.ts +1 -1
  87. package/dist/types/stories/components/DFormikInput.stories.d.ts +1 -1
  88. package/dist/types/stories/components/DFormikInputCurrency.stories.d.ts +1 -1
  89. package/dist/types/stories/components/DFormikInputSelect.stories.d.ts +1 -1
  90. package/dist/types/stories/components/DIcon.stories.d.ts +1 -1
  91. package/dist/types/stories/components/DInput.stories.d.ts +1 -1
  92. package/dist/types/stories/components/DInputCheck.stories.d.ts +1 -1
  93. package/dist/types/stories/components/DInputCounter.stories.d.ts +1 -1
  94. package/dist/types/stories/components/DInputCurrency.stories.d.ts +1 -1
  95. package/dist/types/stories/components/DInputCurrencyBase.stories.d.ts +1 -1
  96. package/dist/types/stories/components/DInputPassword.stories.d.ts +1 -1
  97. package/dist/types/stories/components/DInputPin.stories.d.ts +1 -1
  98. package/dist/types/stories/components/DInputSearch.stories.d.ts +1 -1
  99. package/dist/types/stories/components/DInputSelect.stories.d.ts +7 -3
  100. package/dist/types/stories/components/DInputSwitch.stories.d.ts +1 -1
  101. package/dist/types/stories/components/DList.stories.d.ts +1 -1
  102. package/dist/types/stories/components/DListItem.stories.d.ts +1 -1
  103. package/dist/types/stories/components/DListItemMovement.stories.d.ts +1 -1
  104. package/dist/types/stories/components/DPaginator.stories.d.ts +1 -1
  105. package/dist/types/stories/components/DProgress.stories.d.ts +1 -1
  106. package/dist/types/stories/components/DQuickActionButton.stories.d.ts +1 -1
  107. package/dist/types/stories/components/DQuickActionCheck.stories.d.ts +1 -1
  108. package/dist/types/stories/components/DQuickActionSelect.stories.d.ts +1 -1
  109. package/dist/types/stories/components/DQuickActionSwitch.stories.d.ts +1 -1
  110. package/dist/types/stories/components/DSkeleton.stories.d.ts +1 -1
  111. package/dist/types/stories/components/DStepper.stories.d.ts +1 -1
  112. package/dist/types/stories/components/DStepperDesktop.stories.d.ts +1 -1
  113. package/dist/types/stories/components/DStepperMobile.stories.d.ts +1 -1
  114. package/dist/types/stories/components/DTooltip.stories.d.ts +1 -1
  115. package/dist/types/stories/hooks/useFormatCurrency.stories.d.ts +1 -1
  116. package/dist/types/stories/hooks/useModalContext.stories.d.ts +1 -1
  117. package/dist/types/stories/hooks/useOffcanvasContext.stories.d.ts +1 -1
  118. package/dist/types/stories/hooks/useToast.stories.d.ts +2 -2
  119. package/dist/types/stories/patterns/DAlert.stories.d.ts +1 -1
  120. package/dist/types/stories/{components → patterns}/DCard.stories.d.ts +1 -1
  121. package/dist/types/stories/{components → patterns}/DCardAccount.stories.d.ts +1 -1
  122. package/dist/types/stories/patterns/DCarousel.stories.d.ts +1 -1
  123. package/dist/types/stories/patterns/DCollapse.stories.d.ts +1 -1
  124. package/dist/types/stories/patterns/DCollapseIconText.stories.d.ts +1 -1
  125. package/dist/types/stories/patterns/DModal.stories.d.ts +1 -1
  126. package/dist/types/stories/patterns/DOffcanvas.stories.d.ts +1 -1
  127. package/dist/types/stories/patterns/DPopover.stories.d.ts +2 -1
  128. package/dist/types/stories/patterns/DTabs.stories.d.ts +1 -1
  129. package/dist/types/utils/format-currency.d.ts +2 -0
  130. package/dist/types/utils/index.d.ts +2 -1
  131. package/dist/types/utils/liquid-parser.d.ts +20 -0
  132. package/package.json +62 -49
  133. package/src/style/_shame.scss +4 -0
  134. package/src/style/abstracts/_+import.scss +14 -2
  135. package/src/style/abstracts/_funcions.scss +55 -0
  136. package/src/style/abstracts/_maps.scss +1 -0
  137. package/src/style/abstracts/_mixins.scss +133 -0
  138. package/src/style/abstracts/_utilities.scss +78 -0
  139. package/src/style/abstracts/variables/_+import.scss +159 -0
  140. package/src/style/abstracts/variables/_accordion.scss +35 -0
  141. package/src/style/abstracts/variables/_alerts.scss +27 -0
  142. package/src/style/abstracts/variables/_badges.scss +15 -0
  143. package/src/style/abstracts/variables/_body.scss +52 -0
  144. package/src/style/abstracts/variables/_border.scss +29 -0
  145. package/src/style/abstracts/variables/_box-shadow.scss +6 -0
  146. package/src/style/abstracts/variables/_breadcrumb.scss +15 -0
  147. package/src/style/abstracts/variables/_buttons.scss +55 -0
  148. package/src/style/abstracts/variables/_cards.scss +23 -0
  149. package/src/style/abstracts/variables/_carousel.scss +37 -0
  150. package/src/style/abstracts/variables/_chips.scss +13 -0
  151. package/src/style/abstracts/variables/_close.scss +16 -0
  152. package/src/style/abstracts/variables/_code.scss +16 -0
  153. package/src/style/abstracts/variables/_colors.scss +515 -0
  154. package/src/style/abstracts/variables/_cursors.scss +32 -0
  155. package/src/style/abstracts/variables/_dropdowns.scss +54 -0
  156. package/src/style/abstracts/variables/_figures.scss +6 -0
  157. package/src/style/abstracts/variables/_forms.scss +313 -0
  158. package/src/style/abstracts/variables/_grid.scss +41 -0
  159. package/src/style/abstracts/variables/_list-group.scss +43 -0
  160. package/src/style/abstracts/variables/_modals.scss +58 -0
  161. package/src/style/abstracts/variables/_navbar.scss +43 -0
  162. package/src/style/abstracts/variables/_navs.scss +44 -0
  163. package/src/style/abstracts/variables/_offcanvas.scss +20 -0
  164. package/src/style/abstracts/variables/_options.scss +24 -0
  165. package/src/style/abstracts/variables/_pagination.scss +41 -0
  166. package/src/style/abstracts/variables/_popovers.scss +31 -0
  167. package/src/style/abstracts/variables/_progress.scss +17 -0
  168. package/src/style/abstracts/variables/_quick-action-button.scss +31 -0
  169. package/src/style/abstracts/variables/_quick-action-check.scss +22 -0
  170. package/src/style/abstracts/variables/_quick-action-select.scss +16 -0
  171. package/src/style/abstracts/variables/_quick-action-switch.scss +21 -0
  172. package/src/style/abstracts/variables/_spacers.scss +28 -0
  173. package/src/style/abstracts/variables/_spinners.scss +13 -0
  174. package/src/style/abstracts/variables/_tables.scss +57 -0
  175. package/src/style/abstracts/variables/_thumbnails.scss +10 -0
  176. package/src/style/abstracts/variables/_toasts.scss +19 -0
  177. package/src/style/abstracts/variables/_tooltips.scss +29 -0
  178. package/src/style/abstracts/variables/_typography.scss +122 -0
  179. package/src/style/abstracts/variables/_z-index.scss +28 -0
  180. package/src/style/base/_+import.scss +15 -0
  181. package/src/style/base/_root.scss +248 -0
  182. package/src/style/base/_tables.scss +171 -0
  183. package/src/style/components/_+import.scss +44 -0
  184. package/src/style/components/_d-alert.scss +45 -0
  185. package/src/style/components/_d-badge.scss +26 -0
  186. package/src/style/components/_d-button.scss +191 -0
  187. package/src/style/components/_d-card-account.scss +1 -1
  188. package/src/style/components/_d-chip.scss +52 -0
  189. package/src/style/components/_d-icon.scss +32 -0
  190. package/src/style/components/_d-input-check.scss +20 -0
  191. package/src/style/components/_d-input-pin.scss +121 -0
  192. package/src/style/components/_d-input-select.scss +20 -0
  193. package/src/style/components/_d-input-switch.scss +58 -0
  194. package/src/style/components/_d-input.scss +168 -0
  195. package/src/style/components/_d-modal.scss +55 -0
  196. package/src/style/components/_d-offcanvas.scss +45 -0
  197. package/src/style/components/_d-popover.scss +4 -1
  198. package/src/style/components/_d-progress.scss +9 -0
  199. package/src/style/components/_d-quick-action-button.scss +111 -0
  200. package/src/style/components/_d-quick-action-check.scss +74 -0
  201. package/src/style/components/_d-quick-action-select.scss +56 -0
  202. package/src/style/components/_d-quick-action-switch.scss +71 -0
  203. package/src/style/dynamic-root.scss +5 -1
  204. package/src/style/dynamic-ui.scss +13 -1
  205. package/src/style/helpers/_+import.scss +13 -0
  206. package/src/style/helpers/_color-bg.scss +7 -0
  207. package/dist/css/dynamic-ui-all.css +0 -16620
  208. package/dist/css/dynamic-ui-all.min.css +0 -1
  209. package/dist/css/dynamic-ui-react.css +0 -1919
  210. package/dist/css/dynamic-ui-react.min.css +0 -1
  211. package/dist/types/components/proxies.d.ts +0 -23
  212. package/dist/types/components/react-component-lib/createComponent.d.ts +0 -10
  213. package/dist/types/components/react-component-lib/createOverlayComponent.d.ts +0 -21
  214. package/dist/types/components/react-component-lib/index.d.ts +0 -2
  215. package/dist/types/components/react-component-lib/interfaces.d.ts +0 -29
  216. package/dist/types/components/react-component-lib/utils/attachProps.d.ts +0 -16
  217. package/dist/types/components/react-component-lib/utils/case.d.ts +0 -2
  218. package/dist/types/components/react-component-lib/utils/dev.d.ts +0 -2
  219. package/dist/types/components/react-component-lib/utils/index.d.ts +0 -10
  220. package/src/style/dynamic-ui-all.scss +0 -3
  221. package/src/style/dynamic-ui-react.scss +0 -7
  222. /package/dist/types/stories/{constants.d.ts → config/constants.d.ts} +0 -0
@@ -0,0 +1,191 @@
1
+ .btn {
2
+ --#{$prefix}btn-padding-x: #{$btn-padding-x};
3
+ --#{$prefix}btn-padding-y: #{$btn-padding-y};
4
+ --#{$prefix}btn-font-family: #{$btn-font-family};
5
+ @include rfs($btn-font-size, --#{$prefix}btn-font-size);
6
+ --#{$prefix}btn-font-weight: #{$btn-font-weight};
7
+ --#{$prefix}btn-line-height: #{$btn-line-height};
8
+ --#{$prefix}btn-color: #{$btn-color};
9
+ --#{$prefix}btn-bg: transparent;
10
+ --#{$prefix}btn-border-width: #{$btn-border-width};
11
+ --#{$prefix}btn-border-color: transparent;
12
+ --#{$prefix}btn-border-radius: var(--#{$prefix}btn-component-border-radius, #{$btn-border-radius});
13
+ --#{$prefix}btn-hover-border-color: transparent;
14
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
15
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
16
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
17
+
18
+ --#{$prefix}btn-link-padding-y: #{$btn-link-padding-y};
19
+ --#{$prefix}btn-link-padding-x: #{$btn-link-padding-x};
20
+ @include rfs($btn-link-font-size-sm, --#{$prefix}btn-link-font-size-sm);
21
+
22
+ --#{$prefix}btn-lg-padding-y: #{$btn-padding-y-lg};
23
+ --#{$prefix}btn-lg-padding-x: #{$btn-padding-x-lg};
24
+ --#{$prefix}btn-lg-font-size: #{$btn-font-size-lg};
25
+ --#{$prefix}btn-lg-border-radius: var(--#{$prefix}btn-component-lg-border-radius, #{$btn-border-radius-lg});
26
+
27
+ --#{$prefix}btn-sm-padding-y: #{$btn-padding-y-sm};
28
+ --#{$prefix}btn-sm-padding-x: #{$btn-padding-x-sm};
29
+ --#{$prefix}btn-sm-font-size: #{$btn-font-size-sm};
30
+ --#{$prefix}btn-sm-border-radius: var(--#{$prefix}btn-component-sm-border-radius, #{$btn-border-radius-sm});
31
+
32
+
33
+ display: flex;
34
+ flex-direction: row;
35
+ gap: var(--#{$prefix}btn-gap, $spacer-2);
36
+ align-items: center;
37
+ justify-content: center;
38
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
39
+ font-family: var(--#{$prefix}btn-font-family);
40
+ @include font-size(var(--#{$prefix}btn-font-size));
41
+ font-weight: var(--#{$prefix}btn-font-weight);
42
+ line-height: var(--#{$prefix}btn-line-height);
43
+ color: var(--#{$prefix}btn-color);
44
+ text-align: center;
45
+ text-decoration: if($link-decoration == none, null, none);
46
+ white-space: $btn-white-space;
47
+ vertical-align: middle;
48
+ cursor: if($enable-button-pointers, pointer, null);
49
+ user-select: none;
50
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
51
+ @include border-radius(var(--#{$prefix}btn-border-radius));
52
+ @include gradient-bg(var(--#{$prefix}btn-bg));
53
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
54
+ @include transition($btn-transition);
55
+
56
+ // hover selectors
57
+ &:hover,
58
+ &.hover {
59
+ color: var(--#{$prefix}btn-hover-color);
60
+ text-decoration: if($link-hover-decoration == underline, none, null);
61
+ background-color: var(--#{$prefix}btn-hover-bg);
62
+ border-color: var(--#{$prefix}btn-hover-border-color);
63
+ }
64
+
65
+ .btn-check + &:hover {
66
+ // override for the checkbox/radio buttons
67
+ color: var(--#{$prefix}btn-color);
68
+ background-color: var(--#{$prefix}btn-bg);
69
+ border-color: var(--#{$prefix}btn-border-color);
70
+ }
71
+
72
+ // focus selectors
73
+ .btn-check:focus-visible + &,
74
+ &:focus-visible,
75
+ &.focus-visible {
76
+ // copy of .btn:focus bootstrap + focus var
77
+ color: var(var(--#{$prefix}btn-focus-color), var(--#{$prefix}btn-hover-color));
78
+ @include gradient-bg(var(var(--#{$prefix}btn-focus-bg), var(--#{$prefix}btn-hover-bg)));
79
+ border-color: var(var(--#{$prefix}btn-focus-border-color), var(--#{$prefix}btn-hover-border-color));
80
+ // end copy
81
+
82
+ outline: var(--#{$prefix}btn-focus-border-width, var(--#{$prefix}btn-border-width)) solid var(--#{$prefix}btn-focus-outline-color, var(--#{$prefix}focus-ring-color));
83
+ outline-offset: var(--#{$prefix}btn-focus-outline-offset, var(--#{$prefix}btn-border-width));
84
+ }
85
+
86
+ .btn-check:checked + &,
87
+ :not(.btn-check) + &:active,
88
+ &:first-child:active,
89
+ &.active,
90
+ &.show {
91
+ color: var(--#{$prefix}btn-active-color);
92
+ background-color: var(--#{$prefix}btn-active-bg);
93
+ // Remove CSS gradients if they're enabled
94
+ background-image: if($enable-gradients, none, null);
95
+ border-color: var(--#{$prefix}btn-active-border-color);
96
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
97
+
98
+ &:focus-visible {
99
+ // Avoid using mixin so we can pass custom focus shadow properly
100
+ @if $enable-shadows {
101
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
102
+ } @else {
103
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
104
+ }
105
+ }
106
+ }
107
+
108
+ &:disabled,
109
+ &.disabled,
110
+ fieldset:disabled & {
111
+ color: var(--#{$prefix}btn-disabled-color);
112
+ pointer-events: none;
113
+ background-color: var(--#{$prefix}btn-disabled-bg);
114
+ background-image: if($enable-gradients, none, null);
115
+ border-color: var(--#{$prefix}btn-disabled-border-color);
116
+ opacity: var(--#{$prefix}btn-disabled-opacity);
117
+ @include box-shadow(none);
118
+ }
119
+
120
+ .d-icon {
121
+ --#{$prefix}icon-size: var(--#{$prefix}btn-font-size);
122
+ }
123
+ }
124
+
125
+ @each $color, $value in map-remove($theme-colors, "light", "dark") {
126
+ .btn-#{$color} {
127
+ @include df-button-variant($color);
128
+ }
129
+
130
+ .btn-outline-#{$color} {
131
+ @include df-button-outline-variant($color);
132
+ }
133
+ }
134
+
135
+ @each $color, $value in $theme-colors {
136
+ .btn-link-#{$color} {
137
+ @if $color == "light" {
138
+ @include df-button-link-variant(
139
+ $color,
140
+ $text-color-100: var(--#{$prefix}light),
141
+ $text-color-500: var(--#{$prefix}light),
142
+ $text-color-700: var(--#{$prefix}light),
143
+ $text-color-900: var(--#{$prefix}light),
144
+ );
145
+ } @else if $color == "dark" {
146
+ @include df-button-link-variant(
147
+ $color,
148
+ $text-color-100: var(--#{$prefix}dark),
149
+ $text-color-500: var(--#{$prefix}dark),
150
+ $text-color-700: var(--#{$prefix}dark),
151
+ $text-color-900: var(--#{$prefix}dark),
152
+ );
153
+ } @else {
154
+ @include df-button-link-variant($color);
155
+ }
156
+ }
157
+ }
158
+
159
+ .btn-lg {
160
+ @include button-size(
161
+ var(--#{$prefix}btn-lg-padding-y),
162
+ var(--#{$prefix}btn-lg-padding-x),
163
+ var(--#{$prefix}btn-lg-font-size),
164
+ var(--#{$prefix}btn-lg-border-radius),
165
+ );
166
+ }
167
+
168
+ .btn-sm {
169
+ @include button-size(
170
+ var(--#{$prefix}btn-sm-padding-y),
171
+ var(--#{$prefix}btn-sm-padding-x),
172
+ var(--#{$prefix}btn-sm-font-size),
173
+ var(--#{$prefix}btn-sm-border-radius),
174
+ );
175
+ }
176
+
177
+ [class^="btn-link"] {
178
+ text-decoration: var(--#{$prefix}link-decoration);
179
+
180
+ > span {
181
+ text-decoration: var(--#{$prefix}link-decoration);
182
+ }
183
+
184
+ &.btn-sm {
185
+ @include font-size(var(--#{$prefix}btn-link-font-size-sm));
186
+ }
187
+
188
+ @if $enable-gradients {
189
+ background-image: none;
190
+ }
191
+ }
@@ -1,6 +1,6 @@
1
1
  .d-card-account {
2
2
  // Card
3
- --#{$prefix}card-border-width: 0px;
3
+ --#{$prefix}card-border-width: 0;
4
4
  --#{$prefix}card-spacer-y: var(--#{$prefix}ref-spacer-3);
5
5
  --#{$prefix}card-spacer-x: var(--#{$prefix}ref-spacer-3);
6
6
  --#{$prefix}card-color: var(--#{$prefix}body-color);
@@ -0,0 +1,52 @@
1
+ .d-chip {
2
+ --#{$prefix}chip-bg: #{$chip-bg};
3
+ --#{$prefix}chip-gap: #{$chip-gap};
4
+ --#{$prefix}chip-color: #{$chip-color};
5
+ --#{$prefix}chip-border-radius: #{$chip-border-radius};
6
+ --#{$prefix}chip-padding-x: #{$chip-padding-x};
7
+ --#{$prefix}chip-padding-y: #{$chip-padding-y};
8
+ --#{$prefix}chip-font-size: #{$chip-font-size};
9
+ --#{$prefix}chip-font-weight: #{$chip-font-weight};
10
+ --#{$prefix}chip-line-height: #{$chip-line-height};
11
+
12
+ display: flex;
13
+ flex-direction: row;
14
+ gap: var(--#{$prefix}chip-gap);
15
+ align-items: center;
16
+ padding: var(--#{$prefix}chip-padding-y) var(--#{$prefix}chip-padding-x);
17
+ font-size: var(--#{$prefix}chip-font-size);
18
+ font-weight: var(--#{$prefix}chip-font-weight);
19
+ line-height: var(--#{$prefix}chip-line-height);
20
+ color: var(--#{$prefix}chip-color);
21
+ background-color: var(--#{$prefix}chip-bg);
22
+ border-radius: var(--#{$prefix}chip-border-radius);
23
+
24
+ .d-icon {
25
+ --#{$prefix}icon-size: var(--#{$prefix}chip-font-size);
26
+ }
27
+
28
+ .d-chip-icon-container {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ width: var(--#{$prefix}chip-line-height);
33
+ height: var(--#{$prefix}chip-line-height);
34
+ padding: 0;
35
+ margin: 0;
36
+ background: transparent;
37
+ border: 0;
38
+ }
39
+
40
+ @each $theme, $value in map-remove($theme-colors, "light", "dark") {
41
+ $color: color-contrast($value);
42
+ &.d-chip-#{$theme} {
43
+ --#{$prefix}chip-color: var(--#{$prefix}#{$theme}-700);
44
+ --#{$prefix}chip-bg: var(--#{$prefix}#{$theme}-100);
45
+ }
46
+ }
47
+
48
+ &.d-chip-light {
49
+ --#{$prefix}chip-color: var(--#{$prefix}gray);
50
+ --#{$prefix}chip-bg: var(--#{$prefix}gray-100);
51
+ }
52
+ }
@@ -0,0 +1,32 @@
1
+ .d-icon {
2
+ --#{$prefix}icon-color: var(--#{$prefix}icon-component-color, inherit);
3
+ --#{$prefix}icon-bg-color: var(--#{$prefix}icon-component-bg-color, inherit);
4
+ --#{$prefix}icon-size: var(--#{$prefix}icon-component-size, 1.5rem);
5
+ --#{$prefix}icon-padding: var(--#{$prefix}icon-component-padding, 0);
6
+ --#{$prefix}icon-loading-duration: var(--#{$prefix}icon-component-loading-duration, 1.8);
7
+
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ width: var(--#{$prefix}icon-size);
12
+ height: var(--#{$prefix}icon-size);
13
+ padding: var(--#{$prefix}icon-padding);
14
+ font-size: var(--#{$prefix}icon-size);
15
+ color: var(--#{$prefix}icon-color);
16
+ background-color: var(--#{$prefix}icon-bg-color);
17
+ border-radius: var(--#{$prefix}icon-padding);
18
+ }
19
+
20
+ .d-icon-loading {
21
+ animation: loading-icon var(--#{$prefix}icon-loading-duration) infinite linear;
22
+ }
23
+
24
+ @keyframes loading-icon {
25
+ from {
26
+ transform: rotate(0deg);
27
+ }
28
+
29
+ to {
30
+ transform: rotate(360deg);
31
+ }
32
+ }
@@ -0,0 +1,20 @@
1
+ .form-check-input {
2
+ &:hover {
3
+ border-color: $form-check-input-hover-border-color;
4
+ }
5
+
6
+ &:focus {
7
+ border-color: $form-check-input-focus-border-color;
8
+ outline: $form-check-input-focus-outline;
9
+ outline-offset: $form-check-input-focus-outline-offset;
10
+ }
11
+
12
+ &:checked {
13
+ border-color: $form-check-input-checked-border-color;
14
+ }
15
+
16
+ &:disabled {
17
+ background-color: $form-check-input-disabled-bg;
18
+ border-color: $form-check-input-disabled-border-color;
19
+ }
20
+ }
@@ -0,0 +1,121 @@
1
+ .d-input-pin {
2
+ --#{$prefix}input-pin-gap: #{$spacer-2};
3
+
4
+ --#{$prefix}input-pin-label-gap: #{$form-label-gap};
5
+ --#{$prefix}input-pin-label-focus-color: #{$input-group-focus-border-color};
6
+ --#{$prefix}input-pin-label-padding-x: #{$form-label-padding-x};
7
+ --#{$prefix}input-pin-label-padding-y: #{$form-label-padding-y};
8
+ --#{$prefix}input-pin-label-font-weight: #{$form-label-font-weight};
9
+ --#{$prefix}input-pin-label-font-size: #{$form-label-font-size};
10
+ --#{$prefix}input-pin-label-color: #{$form-label-color};
11
+
12
+ --#{$prefix}input-pin-form-control-gap: #{$spacer-1};
13
+ --#{$prefix}input-pin-form-control-width: 4rem;
14
+ --#{$prefix}input-pin-form-control-height: 4rem;
15
+ --#{$prefix}input-pin-form-control-border-color: #{$input-group-hover-border-color};
16
+
17
+ --#{$prefix}input-pin-form-control-focus-border-color: #{$input-group-focus-border-color};
18
+ --#{$prefix}input-pin-form-control-focus-box-shadow: #{$input-group-focus-box-shadow};
19
+
20
+ --#{$prefix}input-pin-form-control-hover-border-color: #{$input-group-hover-border-color};
21
+
22
+ --#{$prefix}input-pin-form-text-padding: #{$form-control-padding-y} #{$form-control-padding-x};
23
+ --#{$prefix}input-pin-form-text-gap: #{$form-control-gap};
24
+ --#{$prefix}input-pin-form-text-color: #{$form-control-color};
25
+
26
+ display: flex;
27
+ flex-direction: column;
28
+ gap: var(--#{$prefix}input-pin-gap);
29
+ align-items: flex-start;
30
+
31
+ label {
32
+ display: inline-flex;
33
+ flex-direction: row;
34
+ gap: var(--#{$prefix}input-pin-label-gap);
35
+ align-items: center;
36
+ padding: var(--#{$prefix}input-pin-label-padding-y) var(--#{$prefix}input-pin-label-padding-x);
37
+ font-size: var(--#{$prefix}input-pin-label-font-size);
38
+ font-weight: var(--#{$prefix}input-pin-label-font-weight);
39
+ color: var(--#{$prefix}input-pin-label-color);
40
+
41
+ .d-input-pin-icon {
42
+ .d-icon {
43
+ --#{$prefix}icon-color: var(--#{$prefix}focus-ring-color);
44
+ }
45
+ }
46
+ }
47
+
48
+ .d-input-pin-controls {
49
+ display: flex;
50
+ flex-direction: row;
51
+ gap: var(--#{$prefix}input-pin-form-control-gap);
52
+ width: 100%;
53
+ }
54
+
55
+ .form-control {
56
+ width: var(--#{$prefix}input-pin-form-control-width);
57
+ height: var(--#{$prefix}input-pin-form-control-height);
58
+ text-align: center;
59
+ box-shadow: none;
60
+ }
61
+
62
+ .form-control::-webkit-inner-spin-button,
63
+ .form-control::-webkit-outer-spin-button {
64
+ margin: 0;
65
+ appearance: none;
66
+ }
67
+
68
+ .form-control:not(:placeholder-shown) {
69
+ border-color: var(--#{$prefix}input-pin-form-control-border-color);
70
+ }
71
+
72
+ &:has(.form-control:hover) .form-control:not(:disabled) {
73
+ border-color: var(--#{$prefix}input-pin-form-control-hover-border-color);
74
+ }
75
+
76
+ &:focus-within {
77
+ .form-control {
78
+ border-color: var(--#{$prefix}input-pin-form-control-focus-border-color);
79
+ box-shadow: var(--#{$prefix}input-pin-form-control-focus-box-shadow);
80
+ }
81
+
82
+ &:has(.form-control:hover) .form-control {
83
+ border-color: var(--#{$prefix}input-pin-form-control-focus-border-color);
84
+ }
85
+ }
86
+
87
+ // validation states
88
+ @each $state, $data in $form-validation-states {
89
+ $border-color: map-get($data, "border-color");
90
+ $tooltip-bg-color: map-get($data, "tooltip-bg-color");
91
+
92
+ &:has(.form-control.is-#{$state}){
93
+ .form-control {
94
+ border-color: $tooltip-bg-color;
95
+ }
96
+
97
+ .form-text {
98
+ color: $border-color;
99
+ }
100
+
101
+ .d-input-pin-validation-icon {
102
+ .d-icon {
103
+ --#{$prefix}icon-color: #{$tooltip-bg-color};
104
+ }
105
+ }
106
+ }
107
+ }
108
+
109
+ .input-group-text {
110
+ padding-left: var(--#{$prefix}input-pin-form-control-gap);
111
+ }
112
+
113
+ .form-text {
114
+ display: inline-flex;
115
+ flex-direction: row;
116
+ gap: var(--#{$prefix}input-pin-form-text-gap);
117
+ align-items: center;
118
+ padding: var(--#{$prefix}input-pin-form-text-padding);
119
+ color: var(--#{$prefix}input-pin-form-text-color);
120
+ }
121
+ }
@@ -0,0 +1,20 @@
1
+ .d-input {
2
+ &:has(.form-select:not(:disabled)) {
3
+ --#{$prefix}input-group-border-color: var(--#{$prefix}input-group-hover-border-color);
4
+ }
5
+
6
+ .form-select {
7
+ text-align: var(--#{$prefix}input-form-control-text-align);
8
+ border-width: 0;
9
+ box-shadow: none;
10
+
11
+ &:not(:last-child) {
12
+ padding-right: $form-select-padding-x * 2;
13
+ background-position: right center;
14
+ }
15
+
16
+ &:not(:first-child) {
17
+ padding-left: 0;
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,58 @@
1
+ .form-switch {
2
+ --#{$prefix}input-switch-bg: var(--#{$prefix}gray-300);
3
+ --#{$prefix}input-switch-border-color: var(--#{$prefix}gray-500);
4
+ --#{$prefix}input-switch-dot: #{escape-svg($form-switch-bg-image)};
5
+ --#{$prefix}input-switch-hover-border-color: var(--#{$prefix}focus-ring-color);
6
+ --#{$prefix}input-switch-focus-outline-color: var(--#{$prefix}focus-ring-color);
7
+ --#{$prefix}input-switch-active-border-color: var(--#{$prefix}focus-ring-color);
8
+ --#{$prefix}input-switch-active-bg: var(--#{$prefix}focus-ring-color);
9
+ --#{$prefix}input-switch-disabled-border-color: var(--#{$prefix}gray-300);
10
+ --#{$prefix}input-switch-disabled-bg: var(--#{$prefix}gray-100);
11
+ --#{$prefix}input-switch-disabled-dot: #{escape-svg($form-switch-disabled-bg-image)};
12
+ --#{$prefix}input-switch-label-color: #{$form-switch-label-color};
13
+ --#{$prefix}input-switch-active-label-color: #{$form-switch-active-label-color};
14
+
15
+ .form-check-label {
16
+ color: var(--#{$prefix}input-switch-label-color);
17
+ }
18
+
19
+ .form-check-input:checked ~ .form-check-label {
20
+ color: var(--#{$prefix}input-switch-active-label-color);
21
+ }
22
+
23
+ .form-check-input {
24
+ background-color: var(--#{$prefix}input-switch-bg);
25
+ background-image: var(--#{$prefix}input-switch-dot);
26
+ border: 1px solid var(--#{$prefix}input-switch-border-color);
27
+
28
+ &:checked {
29
+ background-color: var(--#{$prefix}input-switch-active-bg);
30
+ border-color: var(--#{$prefix}input-switch-active-border-color);
31
+ }
32
+
33
+ &[disabled]:not(:checked),
34
+ &:disabled:not(:checked) {
35
+ background-color: var(--#{$prefix}input-switch-disabled-bg);
36
+ background-image: var(--#{$prefix}input-switch-disabled-dot);
37
+ border-color: var(--#{$prefix}input-switch-disabled-border-color);
38
+ }
39
+ }
40
+
41
+ &:hover {
42
+ &.form-switch {
43
+ .form-check-input:not([disabled]),
44
+ .form-check-input:not(:disabled) {
45
+ border-color: var(--#{$prefix}input-switch-hover-border-color);
46
+ }
47
+ }
48
+ }
49
+
50
+ &:focus-within {
51
+ &.form-switch {
52
+ .form-check-input {
53
+ outline: 2px solid var(--#{$prefix}input-switch-focus-outline-color);
54
+ outline-offset: 2px;
55
+ }
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,168 @@
1
+ .d-input {
2
+ --#{$prefix}input-gap: #{$spacer-2};
3
+ // label
4
+ --#{$prefix}input-label-color: #{$form-label-color};
5
+ --#{$prefix}input-label-font-weight: #{$form-label-font-weight};
6
+ --#{$prefix}input-label-font-size: #{$form-label-font-size};
7
+ --#{$prefix}input-label-padding-x: #{$form-label-padding-x};
8
+ --#{$prefix}input-label-padding-y: #{$form-label-padding-y};
9
+ --#{$prefix}input-label-gap: #{$form-label-gap};
10
+ // label if input has value
11
+ --#{$prefix}input-label-has-value-color: #{$form-label-has-value-color};
12
+
13
+ // input group
14
+ --#{$prefix}input-group-border-color: #{$input-group-border-color};
15
+ --#{$prefix}input-group-border-width: #{$input-group-border-width};
16
+ --#{$prefix}input-group-border-radius: #{$input-group-border-radius};
17
+ // input group hover
18
+ --#{$prefix}input-group-hover-border-color: #{$input-group-hover-border-color};
19
+ // input group focus
20
+ --#{$prefix}input-group-focus-border-color: #{$input-group-focus-border-color};
21
+ --#{$prefix}input-group-focus-box-shadow: #{$input-group-focus-box-shadow};
22
+
23
+ // input
24
+ --#{$prefix}input-form-control-text-align: var(--#{$prefix}input-component-form-control-text-align, "left");
25
+
26
+ // hint
27
+ --#{$prefix}input-form-text-padding: #{$form-control-padding-y} #{$form-control-padding-x};
28
+ --#{$prefix}input-form-text-gap: #{$form-control-gap};
29
+ --#{$prefix}input-form-text-color: #{$form-control-color};
30
+
31
+ // input disabled
32
+ --#{$prefix}input-group-disabled-border-color: #{$input-disabled-border-color};
33
+ --#{$prefix}input-group-disabled-bg: #{$input-disabled-bg};
34
+ --#{$prefix}input-group-disabled-color: #{$input-disabled-color};
35
+
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: var(--#{$prefix}input-gap);
39
+ align-items: flex-start;
40
+
41
+ // focus
42
+ &:focus-within {
43
+ .input-group {
44
+ border-color: var(--#{$prefix}input-group-focus-border-color);
45
+ box-shadow: var(--#{$prefix}input-group-focus-box-shadow);
46
+
47
+ &:hover:has(.form-control:not(:placeholder-shown:disabled)),
48
+ &:hover {
49
+ border-color: var(--#{$prefix}input-group-focus-border-color);
50
+ }
51
+ }
52
+ }
53
+
54
+ // form-control container
55
+ .d-input-control {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: var(--#{$prefix}input-gap);
59
+ width: 100%;
60
+ }
61
+
62
+ label {
63
+ display: inline-flex;
64
+ flex-direction: row;
65
+ gap: var(--#{$prefix}input-label-gap);
66
+ align-items: center;
67
+ padding: var(--#{$prefix}input-label-padding-y) var(--#{$prefix}input-label-padding-x);
68
+ font-size: var(--#{$prefix}input-label-font-size);
69
+ font-weight: var(--#{$prefix}input-label-font-weight);
70
+ color: var(--#{$prefix}input-label-color);
71
+
72
+ .d-input-icon {
73
+ .d-icon {
74
+ --#{$prefix}icon-color: var(--#{$prefix}focus-ring-color);
75
+ }
76
+ }
77
+ }
78
+
79
+ // input with elements
80
+ .input-group {
81
+ border: var(--#{$prefix}input-group-border-width) solid var(--#{$prefix}input-group-border-color);
82
+ border-radius: var(--#{$prefix}input-group-border-radius);
83
+ }
84
+
85
+ // validation states
86
+ @each $state, $data in $form-validation-states {
87
+ $border-color: map-get($data, "border-color");
88
+ $tooltip-bg-color: map-get($data, "tooltip-bg-color");
89
+
90
+ &:has(.form-control.is-#{$state}){
91
+ .input-group {
92
+ border-color: $border-color;
93
+ }
94
+
95
+ .input-group ~ .form-text {
96
+ color: $border-color;
97
+ }
98
+
99
+ .d-input-validation-icon {
100
+ .d-icon {
101
+ --#{$prefix}icon-color: #{$tooltip-bg-color};
102
+ }
103
+ }
104
+ }
105
+ }
106
+
107
+ // input hint
108
+ .input-group ~ .form-text {
109
+ display: inline-flex;
110
+ flex-direction: row;
111
+ gap: var(--#{$prefix}input-form-text-gap);
112
+ align-items: center;
113
+ padding: var(--#{$prefix}input-form-text-padding);
114
+ color: var(--#{$prefix}input-form-text-color);
115
+ }
116
+
117
+ // input element
118
+ .form-control {
119
+ text-align: var(--#{$prefix}input-form-control-text-align);
120
+ border-width: 0;
121
+ box-shadow: none;
122
+
123
+ &:not(:last-child) {
124
+ padding-right: 0;
125
+ }
126
+
127
+ &:not(:first-child) {
128
+ padding-left: 0;
129
+ }
130
+ }
131
+
132
+ .form-control::-webkit-inner-spin-button,
133
+ .form-control::-webkit-outer-spin-button {
134
+ margin: 0;
135
+ appearance: none;
136
+ }
137
+
138
+ // input addons
139
+ .input-group-text {
140
+ border: 0;
141
+ outline: 0;
142
+ }
143
+
144
+ // input disabled
145
+ .form-control:disabled {
146
+ background: var(--#{$prefix}input-group-disabled-bg);
147
+ }
148
+
149
+
150
+ &:has(.form-control:disabled) {
151
+ // input addons disabled
152
+ .input-group-text {
153
+ background: var(--#{$prefix}input-group-disabled-bg);
154
+ }
155
+
156
+ // icon disabled
157
+ .d-input-icon {
158
+ .d-icon {
159
+ color: var(--#{$prefix}input-group-disabled-color);
160
+ }
161
+ }
162
+
163
+ // input with elements disabled
164
+ .input-group {
165
+ border-color: var(--#{$prefix}input-group-disabled-border-color);
166
+ }
167
+ }
168
+ }