@dynamic-framework/ui-react 2.7.0 → 2.9.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 (58) hide show
  1. package/dist/css/dynamic-ui.css +276 -22
  2. package/dist/css/dynamic-ui.min.css +2 -2
  3. package/dist/index.esm.js +677 -298
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +683 -297
  6. package/dist/index.js.map +1 -1
  7. package/dist/types/components/DDropdown/DDropdown.d.ts +10 -2
  8. package/dist/types/components/DInputCheck/DInputCheck.d.ts +1 -0
  9. package/dist/types/components/DInputSwitch/DInputSwitch.d.ts +2 -1
  10. package/dist/types/components/DModal/components/DModalHeader.d.ts +5 -1
  11. package/dist/types/components/DOffcanvas/components/DOffcanvasHeader.d.ts +5 -1
  12. package/dist/types/components/DOtp/DOtp.d.ts +1 -0
  13. package/dist/types/components/DOtp/components/OtpCountdown.d.ts +3 -2
  14. package/dist/types/components/DTooltip/DTooltip.d.ts +38 -3
  15. package/dist/types/components/DVoucher/DVoucher.d.ts +3 -1
  16. package/dist/types/components/DVoucher/hooks/useScreenshotDownload.d.ts +1 -1
  17. package/dist/types/components/DVoucher/hooks/useScreenshotDownload.spec.d.ts +1 -0
  18. package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.d.ts +1 -1
  19. package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.spec.d.ts +1 -0
  20. package/dist/types/components/DVoucher/index.d.ts +3 -0
  21. package/dist/types/components/index.d.ts +1 -1
  22. package/dist/types/hooks/index.d.ts +3 -0
  23. package/dist/types/hooks/tests/useCountdown.spec.d.ts +1 -0
  24. package/dist/types/hooks/useCountdown.d.ts +14 -0
  25. package/dist/types/hooks/useInputCurrency.d.ts +1 -6
  26. package/dist/types/hooks/useOtp.d.ts +98 -0
  27. package/dist/types/utils/buildUrl.d.ts +32 -0
  28. package/dist/types/utils/index.d.ts +2 -0
  29. package/dist/types/utils/sanitizeHref.d.ts +37 -0
  30. package/dist/types/utils/tests/buildUrl.spec.d.ts +1 -0
  31. package/dist/types/utils/tests/sanitizeHref.spec.d.ts +1 -0
  32. package/package.json +9 -6
  33. package/src/style/_shame.scss +1 -5
  34. package/src/style/abstracts/variables/_+import.scss +2 -0
  35. package/src/style/abstracts/variables/_box.scss +7 -0
  36. package/src/style/abstracts/variables/_forms.scss +1 -3
  37. package/src/style/abstracts/variables/_input-currency.scss +1 -0
  38. package/src/style/abstracts/variables/_shadow.scss +12 -1
  39. package/src/style/base/_+import.scss +0 -1
  40. package/src/style/base/_form-check.scss +4 -2
  41. package/src/style/components/_+import.scss +7 -0
  42. package/src/style/components/_d-box-file.scss +5 -0
  43. package/src/style/components/_d-box.scss +5 -5
  44. package/src/style/components/_d-close.scss +1 -0
  45. package/src/style/components/_d-confirm-modal.scss +17 -0
  46. package/src/style/components/_d-data-state-wrapper.scss +47 -0
  47. package/src/style/components/_d-datepicker.scss +11 -0
  48. package/src/style/components/_d-error-boundary.scss +7 -0
  49. package/src/style/components/_d-input-currency.scss +5 -0
  50. package/src/style/components/_d-otp.scss +54 -0
  51. package/src/style/components/_d-password-strength-meter.scss +76 -0
  52. package/src/style/components/_d-popover.scss +4 -0
  53. package/src/style/components/_d-stepper.scss +8 -0
  54. package/src/style/components/_d-tabs.scss +18 -0
  55. package/src/style/components/_d-voucher.scss +30 -0
  56. package/dist/types/components/DOtp/DOtpspec.d.ts +0 -0
  57. package/dist/types/components/DOtp/hooks/useCountdown.d.ts +0 -4
  58. package/src/style/base/_form-text.scss +0 -12
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * dynamic-framework 2.7.0
2
+ * dynamic-framework 2.9.0
3
3
  * bootstrap ~5.3.8
4
4
  * license https://github.com/dynamic-framework/dynamic-ui/blob/master/LICENSE.md
5
5
  */
@@ -480,7 +480,7 @@
480
480
  --bs-border-radius-pill: 50rem;
481
481
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
482
482
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
483
- --bs-box-shadow-lg: 0 10px 10px rgba(0, 0, 0, 0.02);
483
+ --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
484
484
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
485
485
  --bs-focus-ring-width: 0.25rem;
486
486
  --bs-focus-ring-opacity: 0.25;
@@ -4799,7 +4799,7 @@ th {
4799
4799
  .form-text {
4800
4800
  margin-top: var(--bs-ref-spacer-1);
4801
4801
  font-size: var(--bs-fs-small);
4802
- color: var(--bs-gray-400);
4802
+ color: var(--bs-gray-500);
4803
4803
  }
4804
4804
 
4805
4805
  .form-control {
@@ -9529,8 +9529,8 @@ body {
9529
9529
  }
9530
9530
 
9531
9531
  .form-check .form-text {
9532
- --bs-form-text-padding: 0 var(--bs-ref-spacer-2);
9533
9532
  display: flex;
9533
+ padding-inline: var(--bs-ref-spacer-2);
9534
9534
  }
9535
9535
  .form-check:has(.form-check-input.is-valid) .form-text {
9536
9536
  color: var(--bs-form-valid-border-color);
@@ -9569,18 +9569,6 @@ body {
9569
9569
  align-items: center;
9570
9570
  }
9571
9571
 
9572
- .form-text {
9573
- --bs-form-text-padding: 0 0;
9574
- --bs-form-text-gap: var(--bs-ref-spacer-1);
9575
- --bs-form-text-color: var(--bs-gray-400);
9576
- display: inline-flex;
9577
- flex-direction: row;
9578
- gap: var(--bs-form-text-gap);
9579
- align-items: center;
9580
- padding: var(--bs-form-text-padding);
9581
- color: var(--bs-form-text-color);
9582
- }
9583
-
9584
9572
  .input-group-text + .form-control {
9585
9573
  padding-left: 0;
9586
9574
  }
@@ -11297,6 +11285,24 @@ label {
11297
11285
  --bs-chip-bg: var(--bs-black);
11298
11286
  }
11299
11287
 
11288
+ .d-tabs {
11289
+ display: flex;
11290
+ width: 100%;
11291
+ }
11292
+
11293
+ .d-tabs-column {
11294
+ flex-direction: column;
11295
+ }
11296
+
11297
+ .d-tabs-nav-vertical {
11298
+ flex-direction: column;
11299
+ align-items: center;
11300
+ }
11301
+
11302
+ .d-tabs-content {
11303
+ width: 100%;
11304
+ }
11305
+
11300
11306
  .nav-toggle-button-group {
11301
11307
  --bs-toggle-button-group-border-color: var(--bs-gray-50);
11302
11308
  --bs-toggle-button-group-border-radius: 4rem;
@@ -11467,7 +11473,7 @@ label {
11467
11473
  --bs-box-component-border: 0;
11468
11474
  --bs-box-component-border-radius: var(--bs-border-radius);
11469
11475
  --bs-box-component-padding: var(--bs-ref-spacer-4);
11470
- --bs-box-component-shadow: var(--bs-box-shadow-lg);
11476
+ --bs-box-component-shadow: var(--bs-box-shadow-sm);
11471
11477
  padding: var(--bs-box-component-padding);
11472
11478
  background-color: var(--bs-box-component-bg);
11473
11479
  border: var(--bs-box-component-border);
@@ -11685,6 +11691,11 @@ label {
11685
11691
  margin-right: var(--bs-ref-spacer-1);
11686
11692
  margin-left: auto;
11687
11693
  }
11694
+ .react-datepicker__header-year-selector {
11695
+ display: flex;
11696
+ flex-grow: 1;
11697
+ justify-content: center;
11698
+ }
11688
11699
  .react-datepicker__header-day-selector {
11689
11700
  margin-bottom: var(--bs-ref-spacer-4);
11690
11701
  }
@@ -11751,6 +11762,11 @@ label {
11751
11762
  margin-top: -0.5rem;
11752
11763
  }
11753
11764
 
11765
+ .datepicker-top-header-title {
11766
+ margin-bottom: 0;
11767
+ font-weight: var(--bs-fw-normal);
11768
+ }
11769
+
11754
11770
  .react-datepicker__year,
11755
11771
  .react-datepicker__quarterPicker {
11756
11772
  --bs-datepicker-body-gap: 1rem;
@@ -12371,6 +12387,9 @@ react-datepicker__navigation
12371
12387
  --bs-voucher-amount-rounded: var(--bs-ref-spacer-4);
12372
12388
  --bs-voucher-footer-gap: var(--bs-ref-spacer-4);
12373
12389
  --bs-voucher-margin: 0 0 var(--bs-ref-spacer-4) 0;
12390
+ --bs-voucher-title-margin-bottom: var(--bs-ref-spacer-2);
12391
+ --bs-voucher-amount-value-margin: var(--bs-ref-spacer-1);
12392
+ --bs-voucher-divider-margin: var(--bs-ref-spacer-4);
12374
12393
  }
12375
12394
 
12376
12395
  .d-voucher-header {
@@ -12395,8 +12414,35 @@ react-datepicker__navigation
12395
12414
  justify-content: flex-start;
12396
12415
  }
12397
12416
 
12417
+ .d-voucher-title-group {
12418
+ text-align: center;
12419
+ }
12420
+
12421
+ .d-voucher-title {
12422
+ margin-bottom: var(--bs-voucher-title-margin-bottom);
12423
+ }
12424
+
12425
+ .d-voucher-message {
12426
+ margin: 0;
12427
+ }
12428
+
12429
+ .d-voucher-amount-value {
12430
+ margin: 0;
12431
+ font-size: var(--bs-fs-3);
12432
+ font-weight: var(--bs-fw-bold);
12433
+ text-align: center;
12434
+ }
12435
+ .d-voucher-amount-value.d-voucher-amount-value-with-details {
12436
+ margin-bottom: var(--bs-voucher-amount-value-margin);
12437
+ }
12438
+
12439
+ .d-voucher-divider {
12440
+ margin: var(--bs-voucher-divider-margin) 0;
12441
+ }
12442
+
12398
12443
  .d-close {
12399
12444
  display: flex;
12445
+ align-self: center;
12400
12446
  padding: 0;
12401
12447
  background: transparent;
12402
12448
  border: 0;
@@ -12418,6 +12464,9 @@ react-datepicker__navigation
12418
12464
  .d-popover .d-popover-content:focus-visible {
12419
12465
  outline: 0;
12420
12466
  }
12467
+ .d-popover .d-popover-content.d-popover-content-fill {
12468
+ width: 100%;
12469
+ }
12421
12470
 
12422
12471
  .d-box-file {
12423
12472
  --bs-box-file-gap: var(--bs-ref-spacer-4);
@@ -12477,6 +12526,11 @@ react-datepicker__navigation
12477
12526
  max-width: var(--bs-box-file-content-max-width);
12478
12527
  }
12479
12528
 
12529
+ .d-box-file-empty-text {
12530
+ margin: 0;
12531
+ text-align: center;
12532
+ }
12533
+
12480
12534
  .d-box-files {
12481
12535
  --bs-box-file-list-gap: var(--bs-ref-spacer-4);
12482
12536
  --bs-box-file-list-padding: var(--bs-ref-spacer-0);
@@ -13699,6 +13753,211 @@ react-datepicker__navigation
13699
13753
  opacity: 0.5;
13700
13754
  }
13701
13755
 
13756
+ .d-input-currency-symbol {
13757
+ --bs-input-currency-symbol-color: var(--bs-input-currency-component-symbol-color, var(--bs-secondary));
13758
+ color: var(--bs-input-currency-symbol-color);
13759
+ }
13760
+
13761
+ .confirm-modal {
13762
+ --bs-confirm-modal-body-padding-y: var(--bs-ref-spacer-3);
13763
+ --bs-confirm-modal-body-padding-x: var(--bs-ref-spacer-5);
13764
+ --bs-confirm-modal-field-gap: var(--bs-ref-spacer-4);
13765
+ }
13766
+
13767
+ .d-confirm-modal-body {
13768
+ padding: var(--bs-confirm-modal-body-padding-y) var(--bs-confirm-modal-body-padding-x);
13769
+ }
13770
+
13771
+ .d-confirm-modal-message {
13772
+ margin-bottom: var(--bs-confirm-modal-field-gap);
13773
+ }
13774
+
13775
+ .d-confirm-modal-field {
13776
+ margin-bottom: var(--bs-confirm-modal-field-gap);
13777
+ }
13778
+
13779
+ .d-empty-state {
13780
+ --bs-empty-state-padding: var(--bs-ref-spacer-5);
13781
+ --bs-empty-state-spacing: var(--bs-ref-spacer-3);
13782
+ --bs-empty-state-color: var(--bs-secondary);
13783
+ display: flex;
13784
+ flex-direction: column;
13785
+ align-items: center;
13786
+ justify-content: center;
13787
+ padding: var(--bs-empty-state-padding);
13788
+ text-align: center;
13789
+ }
13790
+
13791
+ .d-empty-state-icon {
13792
+ margin-bottom: var(--bs-empty-state-spacing);
13793
+ color: var(--bs-empty-state-color);
13794
+ }
13795
+
13796
+ .d-empty-state-message {
13797
+ margin-bottom: var(--bs-empty-state-spacing);
13798
+ color: var(--bs-empty-state-color);
13799
+ }
13800
+
13801
+ .d-error-state {
13802
+ --bs-error-state-gap: var(--bs-ref-spacer-3);
13803
+ display: flex;
13804
+ gap: var(--bs-error-state-gap);
13805
+ align-items: center;
13806
+ }
13807
+
13808
+ .d-error-state-content {
13809
+ flex: 1 1 auto;
13810
+ }
13811
+
13812
+ .d-error-state-message {
13813
+ margin-bottom: 0;
13814
+ }
13815
+
13816
+ .d-loading-state {
13817
+ --bs-loading-state-padding: var(--bs-ref-spacer-4);
13818
+ display: flex;
13819
+ align-items: center;
13820
+ justify-content: center;
13821
+ padding: var(--bs-loading-state-padding);
13822
+ }
13823
+
13824
+ .d-error-boundary-content {
13825
+ --bs-error-boundary-gap: var(--bs-ref-spacer-2);
13826
+ display: flex;
13827
+ gap: var(--bs-error-boundary-gap);
13828
+ align-items: center;
13829
+ }
13830
+
13831
+ .d-otp {
13832
+ --bs-otp-content-gap: var(--bs-ref-spacer-6);
13833
+ --bs-otp-content-padding-x: var(--bs-ref-spacer-3);
13834
+ --bs-otp-content-padding-bottom: var(--bs-ref-spacer-4);
13835
+ --bs-otp-footer-gap: var(--bs-ref-spacer-4);
13836
+ }
13837
+
13838
+ .d-otp-content {
13839
+ display: flex;
13840
+ flex-direction: column;
13841
+ gap: var(--bs-otp-content-gap);
13842
+ padding: 0 var(--bs-otp-content-padding-x) var(--bs-otp-content-padding-bottom);
13843
+ }
13844
+
13845
+ .d-otp-fields {
13846
+ display: flex;
13847
+ flex-direction: column;
13848
+ gap: var(--bs-otp-content-gap);
13849
+ }
13850
+
13851
+ .d-otp-divider {
13852
+ margin: 0;
13853
+ }
13854
+
13855
+ .d-otp-footer {
13856
+ display: flex;
13857
+ flex-direction: column;
13858
+ gap: var(--bs-otp-footer-gap);
13859
+ align-items: center;
13860
+ }
13861
+ @media (min-width: 992px) {
13862
+ .d-otp-footer {
13863
+ flex-direction: row;
13864
+ }
13865
+ }
13866
+
13867
+ .d-otp-contact {
13868
+ margin-bottom: 0;
13869
+ font-size: 0.875em;
13870
+ }
13871
+ @media (min-width: 992px) {
13872
+ .d-otp-contact {
13873
+ margin-left: auto;
13874
+ }
13875
+ }
13876
+
13877
+ .d-otp-countdown {
13878
+ display: flex;
13879
+ gap: var(--bs-ref-spacer-2);
13880
+ align-items: center;
13881
+ }
13882
+
13883
+ .d-otp-countdown-text {
13884
+ flex: 1 1 auto;
13885
+ margin-bottom: 0;
13886
+ }
13887
+
13888
+ .d-password-strength-meter {
13889
+ --bs-password-strength-meter-margin-top: var(--bs-ref-spacer-2);
13890
+ margin-top: var(--bs-password-strength-meter-margin-top);
13891
+ }
13892
+
13893
+ .d-password-strength-bar {
13894
+ --bs-password-strength-bar-height: 8px;
13895
+ --bs-password-strength-bar-radius: var(--bs-border-radius-lg);
13896
+ --bs-password-strength-bar-bg: var(--bs-gray-100);
13897
+ --bs-password-strength-bar-margin-bottom: var(--bs-ref-spacer-2);
13898
+ width: 100%;
13899
+ height: var(--bs-password-strength-bar-height);
13900
+ margin-bottom: var(--bs-password-strength-bar-margin-bottom);
13901
+ overflow: hidden;
13902
+ background: var(--bs-password-strength-bar-bg);
13903
+ border-radius: var(--bs-password-strength-bar-radius);
13904
+ }
13905
+
13906
+ .d-password-strength-bar-fill {
13907
+ height: 100%;
13908
+ transition: width 0.3s ease-in-out;
13909
+ }
13910
+ .d-password-strength-bar-fill.is-empty {
13911
+ background: var(--bs-gray-200);
13912
+ }
13913
+ .d-password-strength-bar-fill.is-weak {
13914
+ background: var(--bs-danger);
13915
+ }
13916
+ .d-password-strength-bar-fill.is-fair {
13917
+ background: var(--bs-warning);
13918
+ }
13919
+ .d-password-strength-bar-fill.is-good {
13920
+ background: var(--bs-info);
13921
+ }
13922
+ .d-password-strength-bar-fill.is-strong {
13923
+ background: var(--bs-success);
13924
+ }
13925
+
13926
+ .d-password-check-list {
13927
+ display: flex;
13928
+ flex-direction: column;
13929
+ gap: var(--bs-ref-spacer-2);
13930
+ padding-left: 0;
13931
+ margin: 0;
13932
+ list-style: none;
13933
+ }
13934
+
13935
+ .d-password-check-item {
13936
+ --bs-password-check-item-color: var(--bs-gray-600);
13937
+ display: flex;
13938
+ gap: var(--bs-ref-spacer-2);
13939
+ align-items: flex-start;
13940
+ font-size: 0.875em;
13941
+ color: var(--bs-password-check-item-color);
13942
+ }
13943
+ .d-password-check-item.is-valid {
13944
+ color: var(--bs-success);
13945
+ }
13946
+
13947
+ .d-password-check-item-icon {
13948
+ flex-shrink: 0;
13949
+ color: var(--bs-gray-300);
13950
+ }
13951
+
13952
+ .d-password-check-item.is-valid .d-password-check-item-icon {
13953
+ color: var(--bs-success);
13954
+ }
13955
+
13956
+ .d-stepper-mobile,
13957
+ .d-stepper-desktop {
13958
+ width: 100%;
13959
+ }
13960
+
13702
13961
  .clearfix::after {
13703
13962
  display: block;
13704
13963
  clear: both;
@@ -59978,11 +60237,6 @@ react-datepicker__navigation
59978
60237
  color: var(--bs-text-muted) !important;
59979
60238
  }
59980
60239
 
59981
- .form-text {
59982
- --bs-form-text: var(--bs-gray-500);
59983
- color: var(--bs-form-text) !important;
59984
- }
59985
-
59986
60240
  .spinner-border {
59987
60241
  margin-top: 4px;
59988
60242
  margin-bottom: 4px;