@configura/web-ui 1.4.0-alpha.0 → 1.4.0-alpha.1

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 (78) hide show
  1. package/.postcssrc.json +8 -8
  2. package/LICENSE +201 -201
  3. package/README.md +1 -1
  4. package/dist/components/CanvasWrapper.d.ts +9 -9
  5. package/dist/components/CanvasWrapper.js +8 -8
  6. package/dist/components/ConfigurationActionsButtonRow.d.ts +11 -11
  7. package/dist/components/ConfigurationActionsButtonRow.js +13 -13
  8. package/dist/components/Configurator.d.ts +12 -12
  9. package/dist/components/Configurator.js +15 -15
  10. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  11. package/dist/components/ConfiguratorWrapper.js +5 -5
  12. package/dist/components/CurrencyPrice.d.ts +9 -9
  13. package/dist/components/CurrencyPrice.js +7 -7
  14. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  15. package/dist/components/ExpandableHeadingRow.js +21 -21
  16. package/dist/components/Loading.d.ts +13 -13
  17. package/dist/components/Loading.js +20 -20
  18. package/dist/components/ProductInformation.d.ts +10 -10
  19. package/dist/components/ProductInformation.js +23 -23
  20. package/dist/components/icons/Checkmark.d.ts +5 -5
  21. package/dist/components/icons/Checkmark.js +12 -12
  22. package/dist/components/icons/Chevron.d.ts +6 -6
  23. package/dist/components/icons/Chevron.js +18 -18
  24. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  25. package/dist/components/productConfiguration/CfgAdditionalProductView.js +28 -28
  26. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +18 -18
  27. package/dist/components/productConfiguration/CfgCheckboxView.js +22 -22
  28. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +12 -12
  29. package/dist/components/productConfiguration/CfgCheckboxesView.js +18 -18
  30. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +18 -18
  31. package/dist/components/productConfiguration/CfgDropdownOptionView.js +35 -35
  32. package/dist/components/productConfiguration/CfgDropdownView.d.ts +12 -12
  33. package/dist/components/productConfiguration/CfgDropdownView.js +20 -20
  34. package/dist/components/productConfiguration/CfgFeatureView.d.ts +27 -27
  35. package/dist/components/productConfiguration/CfgFeatureView.js +34 -34
  36. package/dist/components/productConfiguration/CfgGroupView.d.ts +4 -4
  37. package/dist/components/productConfiguration/CfgGroupView.js +13 -13
  38. package/dist/components/productConfiguration/CfgOptionFeaturesView.d.ts +6 -6
  39. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +13 -13
  40. package/dist/components/productConfiguration/CfgOptionNumericView.d.ts +27 -27
  41. package/dist/components/productConfiguration/CfgOptionNumericView.js +117 -117
  42. package/dist/components/productConfiguration/CfgOptionPriceView.d.ts +9 -9
  43. package/dist/components/productConfiguration/CfgOptionPriceView.js +29 -29
  44. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +18 -18
  45. package/dist/components/productConfiguration/CfgProductConfigurationView.js +45 -45
  46. package/dist/css/web-ui.css.map +1 -1
  47. package/dist/index.d.ts +20 -20
  48. package/dist/index.js +20 -20
  49. package/dist/scss/_button.scss +36 -36
  50. package/dist/scss/_configurator.scss +67 -67
  51. package/dist/scss/_expandable.scss +37 -37
  52. package/dist/scss/_feature-item.scss +124 -124
  53. package/dist/scss/_hr.scss +16 -16
  54. package/dist/scss/_loading.scss +98 -98
  55. package/dist/scss/_mixins.scss +56 -56
  56. package/dist/scss/_option-tree.scss +29 -29
  57. package/dist/scss/_product-information.scss +49 -49
  58. package/dist/scss/_range-view.scss +28 -28
  59. package/dist/scss/_slider.scss +70 -70
  60. package/dist/scss/_themed.scss +124 -124
  61. package/dist/scss/_utilities.scss +21 -21
  62. package/dist/scss/_variables.scss +6 -6
  63. package/dist/scss/icons/_checkmark.scss +46 -46
  64. package/dist/scss/icons/_chevron.scss +62 -62
  65. package/dist/scss/web-ui.scss +11 -11
  66. package/dist/useObservable.d.ts +4 -4
  67. package/dist/useObservable.js +18 -18
  68. package/dist/useRerender.d.ts +1 -1
  69. package/dist/useRerender.js +5 -5
  70. package/dist/useResize.d.ts +6 -6
  71. package/dist/useResize.js +47 -47
  72. package/dist/useSelected.d.ts +2 -2
  73. package/dist/useSelected.js +13 -13
  74. package/dist/useUniqueId.d.ts +1 -1
  75. package/dist/useUniqueId.js +7 -7
  76. package/dist/utilities.d.ts +5 -5
  77. package/dist/utilities.js +1 -1
  78. package/package.json +3 -3
@@ -1,98 +1,98 @@
1
- /**
2
- * Web UI Loading
3
- */
4
-
5
- @use "mixins";
6
-
7
- @mixin classes(
8
- $textColor,
9
- $spinnerColor1,
10
- $spinnerColor2,
11
- $overlayBackgroundColor,
12
- $overlayingZIndex
13
- ) {
14
- .cfgCenteredLoading {
15
- @include mixins.cfgRootStyles;
16
- align-items: center;
17
- display: flex;
18
- flex-direction: column;
19
- height: 100%;
20
- justify-content: center;
21
- width: 100%;
22
- }
23
-
24
- .cfgOverlayLoading {
25
- @include mixins.cfgRootStyles;
26
-
27
- align-items: center;
28
- background-color: $overlayBackgroundColor;
29
- bottom: 0;
30
- display: flex;
31
- flex-direction: column;
32
- justify-content: center;
33
- left: 0;
34
- position: absolute;
35
- right: 0;
36
- top: 0;
37
- z-index: $overlayingZIndex;
38
-
39
- &--clickThrough {
40
- background-color: transparent;
41
- pointer-events: none;
42
-
43
- .cfgLoadingWithText {
44
- padding: 2em 2em 1.8em;
45
- border-radius: 0.8em;
46
- background-color: $overlayBackgroundColor;
47
- opacity: 0.8;
48
- border: 0.1em solid $spinnerColor2;
49
- }
50
- }
51
-
52
- &--fullWindow {
53
- position: fixed;
54
- z-index: #{$overlayingZIndex + 1};
55
- }
56
- }
57
-
58
- .cfgLoadingWithText {
59
- @include mixins.cfgRootStyles;
60
- @include mixins.cfgDefaultFont;
61
-
62
- text-align: center;
63
-
64
- &__text {
65
- color: $textColor;
66
- font-weight: 600;
67
- margin-top: 0.5em;
68
- font-size: 1.6em;
69
- }
70
- }
71
-
72
- .cfgLoading {
73
- @include mixins.cfgRootStyles;
74
-
75
- animation: rotate 1.1s linear 0s infinite;
76
- border-radius: 100%;
77
- border: 0.5em solid $spinnerColor2;
78
- border-bottom-color: $spinnerColor1;
79
- display: inline-block;
80
- height: 3em;
81
- width: 3em;
82
-
83
- &--small {
84
- border-width: 0.4em;
85
- height: 2em;
86
- width: 2em;
87
- }
88
- }
89
-
90
- @keyframes rotate {
91
- from {
92
- transform: rotate(0deg);
93
- }
94
- to {
95
- transform: rotate(360deg);
96
- }
97
- }
98
- }
1
+ /**
2
+ * Web UI Loading
3
+ */
4
+
5
+ @use "mixins";
6
+
7
+ @mixin classes(
8
+ $textColor,
9
+ $spinnerColor1,
10
+ $spinnerColor2,
11
+ $overlayBackgroundColor,
12
+ $overlayingZIndex
13
+ ) {
14
+ .cfgCenteredLoading {
15
+ @include mixins.cfgRootStyles;
16
+ align-items: center;
17
+ display: flex;
18
+ flex-direction: column;
19
+ height: 100%;
20
+ justify-content: center;
21
+ width: 100%;
22
+ }
23
+
24
+ .cfgOverlayLoading {
25
+ @include mixins.cfgRootStyles;
26
+
27
+ align-items: center;
28
+ background-color: $overlayBackgroundColor;
29
+ bottom: 0;
30
+ display: flex;
31
+ flex-direction: column;
32
+ justify-content: center;
33
+ left: 0;
34
+ position: absolute;
35
+ right: 0;
36
+ top: 0;
37
+ z-index: $overlayingZIndex;
38
+
39
+ &--clickThrough {
40
+ background-color: transparent;
41
+ pointer-events: none;
42
+
43
+ .cfgLoadingWithText {
44
+ padding: 2em 2em 1.8em;
45
+ border-radius: 0.8em;
46
+ background-color: $overlayBackgroundColor;
47
+ opacity: 0.8;
48
+ border: 0.1em solid $spinnerColor2;
49
+ }
50
+ }
51
+
52
+ &--fullWindow {
53
+ position: fixed;
54
+ z-index: #{$overlayingZIndex + 1};
55
+ }
56
+ }
57
+
58
+ .cfgLoadingWithText {
59
+ @include mixins.cfgRootStyles;
60
+ @include mixins.cfgDefaultFont;
61
+
62
+ text-align: center;
63
+
64
+ &__text {
65
+ color: $textColor;
66
+ font-weight: 600;
67
+ margin-top: 0.5em;
68
+ font-size: 1.6em;
69
+ }
70
+ }
71
+
72
+ .cfgLoading {
73
+ @include mixins.cfgRootStyles;
74
+
75
+ animation: rotate 1.1s linear 0s infinite;
76
+ border-radius: 100%;
77
+ border: 0.5em solid $spinnerColor2;
78
+ border-bottom-color: $spinnerColor1;
79
+ display: inline-block;
80
+ height: 3em;
81
+ width: 3em;
82
+
83
+ &--small {
84
+ border-width: 0.4em;
85
+ height: 2em;
86
+ width: 2em;
87
+ }
88
+ }
89
+
90
+ @keyframes rotate {
91
+ from {
92
+ transform: rotate(0deg);
93
+ }
94
+ to {
95
+ transform: rotate(360deg);
96
+ }
97
+ }
98
+ }
@@ -1,56 +1,56 @@
1
- @mixin noButtonLook {
2
- appearance: none;
3
- font-family: inherit;
4
- font-size: inherit;
5
- color: inherit;
6
- background: none;
7
- border: none;
8
- padding: 0;
9
- }
10
-
11
- @mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {
12
- box-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;
13
- }
14
-
15
- @mixin borderBox {
16
- box-sizing: border-box;
17
- &:before,
18
- &:after {
19
- box-sizing: inherit;
20
- }
21
- }
22
-
23
- @mixin cfgRootStyles {
24
- @include borderBox;
25
-
26
- * {
27
- @include borderBox;
28
- }
29
- }
30
-
31
- @mixin cfgDefaultFont {
32
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif,
33
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
34
- }
35
-
36
- @mixin cfgCheckAndRadio($color) {
37
- align-items: center;
38
- border: 0.2em solid $color;
39
- display: flex;
40
- flex: 0 0 auto;
41
- height: 2.2em;
42
- justify-content: center;
43
- pointer-events: none;
44
- user-select: none;
45
- width: 2.2em;
46
- }
47
-
48
- @mixin cfgCheckbox($color) {
49
- @include cfgCheckAndRadio($color);
50
- border-radius: 0.3em;
51
- }
52
-
53
- @mixin cfgRadio($color) {
54
- @include cfgCheckAndRadio($color);
55
- border-radius: 50%;
56
- }
1
+ @mixin noButtonLook {
2
+ appearance: none;
3
+ font-family: inherit;
4
+ font-size: inherit;
5
+ color: inherit;
6
+ background: none;
7
+ border: none;
8
+ padding: 0;
9
+ }
10
+
11
+ @mixin focusOutline($focusOutlineInnerColor, $focusOutlineOuterColor) {
12
+ box-shadow: 0 0 0 0.075em $focusOutlineInnerColor, 0 0 0 0.2em $focusOutlineOuterColor;
13
+ }
14
+
15
+ @mixin borderBox {
16
+ box-sizing: border-box;
17
+ &:before,
18
+ &:after {
19
+ box-sizing: inherit;
20
+ }
21
+ }
22
+
23
+ @mixin cfgRootStyles {
24
+ @include borderBox;
25
+
26
+ * {
27
+ @include borderBox;
28
+ }
29
+ }
30
+
31
+ @mixin cfgDefaultFont {
32
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif,
33
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
34
+ }
35
+
36
+ @mixin cfgCheckAndRadio($color) {
37
+ align-items: center;
38
+ border: 0.2em solid $color;
39
+ display: flex;
40
+ flex: 0 0 auto;
41
+ height: 2.2em;
42
+ justify-content: center;
43
+ pointer-events: none;
44
+ user-select: none;
45
+ width: 2.2em;
46
+ }
47
+
48
+ @mixin cfgCheckbox($color) {
49
+ @include cfgCheckAndRadio($color);
50
+ border-radius: 0.3em;
51
+ }
52
+
53
+ @mixin cfgRadio($color) {
54
+ @include cfgCheckAndRadio($color);
55
+ border-radius: 50%;
56
+ }
@@ -1,29 +1,29 @@
1
- /**
2
- * Web UI Option tree
3
- */
4
-
5
- @use "mixins";
6
-
7
- @mixin classes {
8
- .cfgOptionTree {
9
- @include mixins.cfgRootStyles;
10
-
11
- list-style: none;
12
- margin: 0;
13
- padding: 0;
14
-
15
- &--topLevel {
16
- padding-left: 1.7em;
17
- }
18
-
19
- &--indent {
20
- margin-left: 3.2em;
21
- }
22
-
23
- &--compThumb {
24
- margin-left: 4.2em;
25
- }
26
-
27
- @content;
28
- }
29
- }
1
+ /**
2
+ * Web UI Option tree
3
+ */
4
+
5
+ @use "mixins";
6
+
7
+ @mixin classes {
8
+ .cfgOptionTree {
9
+ @include mixins.cfgRootStyles;
10
+
11
+ list-style: none;
12
+ margin: 0;
13
+ padding: 0;
14
+
15
+ &--topLevel {
16
+ padding-left: 1.7em;
17
+ }
18
+
19
+ &--indent {
20
+ margin-left: 3.2em;
21
+ }
22
+
23
+ &--compThumb {
24
+ margin-left: 4.2em;
25
+ }
26
+
27
+ @content;
28
+ }
29
+ }
@@ -1,49 +1,49 @@
1
- /**
2
- * Web UI Product information
3
- */
4
-
5
- @use "sass:math";
6
- @use "mixins";
7
-
8
- @mixin classes($textColor) {
9
- .cfgProductInfo {
10
- @include mixins.cfgRootStyles;
11
-
12
- color: $textColor;
13
-
14
- display: flex;
15
-
16
- &__left {
17
- flex: 1 1 auto;
18
- min-width: 0;
19
- overflow: hidden;
20
- }
21
-
22
- &__right {
23
- align-items: flex-end;
24
- display: flex;
25
- flex-direction: column;
26
- flex: 1 0 auto;
27
- margin-left: 1em;
28
- max-width: 0.333333333;
29
- min-width: 0;
30
- }
31
-
32
- &__name {
33
- display: block;
34
- font-size: 1.6em;
35
- font-weight: 600;
36
- line-height: 1.33;
37
- margin: 0;
38
- }
39
-
40
- &__number {
41
- font-size: 1.3em;
42
- font-weight: 400;
43
- line-height: 1.38;
44
- margin: 0;
45
- }
46
-
47
- @content;
48
- }
49
- }
1
+ /**
2
+ * Web UI Product information
3
+ */
4
+
5
+ @use "sass:math";
6
+ @use "mixins";
7
+
8
+ @mixin classes($textColor) {
9
+ .cfgProductInfo {
10
+ @include mixins.cfgRootStyles;
11
+
12
+ color: $textColor;
13
+
14
+ display: flex;
15
+
16
+ &__left {
17
+ flex: 1 1 auto;
18
+ min-width: 0;
19
+ overflow: hidden;
20
+ }
21
+
22
+ &__right {
23
+ align-items: flex-end;
24
+ display: flex;
25
+ flex-direction: column;
26
+ flex: 1 0 auto;
27
+ margin-left: 1em;
28
+ max-width: 0.333333333;
29
+ min-width: 0;
30
+ }
31
+
32
+ &__name {
33
+ display: block;
34
+ font-size: 1.6em;
35
+ font-weight: 600;
36
+ line-height: 1.33;
37
+ margin: 0;
38
+ }
39
+
40
+ &__number {
41
+ font-size: 1.3em;
42
+ font-weight: 400;
43
+ line-height: 1.38;
44
+ margin: 0;
45
+ }
46
+
47
+ @content;
48
+ }
49
+ }
@@ -1,28 +1,28 @@
1
- .cfgRangeView {
2
- &__inputs {
3
- display: flex;
4
- align-items: center;
5
- }
6
-
7
- &__number-input {
8
- font-size: 1.5em;
9
- flex-grow: 1;
10
- text-align: right;
11
- }
12
-
13
- &__unit-label {
14
- font-size: 1.5em;
15
- margin-left: 0.3em;
16
- }
17
-
18
- &__slider-input.cfgSlider {
19
- margin-left: 1em;
20
- flex-grow: 3;
21
- }
22
-
23
- &__error {
24
- margin-top: 1em;
25
- font-size: 1.5em;
26
- color: #b00;
27
- }
28
- }
1
+ .cfgRangeView {
2
+ &__inputs {
3
+ display: flex;
4
+ align-items: center;
5
+ }
6
+
7
+ &__number-input {
8
+ font-size: 1.5em;
9
+ flex-grow: 1;
10
+ text-align: right;
11
+ }
12
+
13
+ &__unit-label {
14
+ font-size: 1.5em;
15
+ margin-left: 0.3em;
16
+ }
17
+
18
+ &__slider-input.cfgSlider {
19
+ margin-left: 1em;
20
+ flex-grow: 3;
21
+ }
22
+
23
+ &__error {
24
+ margin-top: 1em;
25
+ font-size: 1.5em;
26
+ color: #b00;
27
+ }
28
+ }
@@ -1,70 +1,70 @@
1
- @use "mixins";
2
-
3
- // The origins of this SCSS file is here:
4
- // https://css-tricks.com/sliding-nightmare-understanding-range-input/
5
-
6
- $trackHeight: 0.2em !default;
7
- $thumbDiameter: 2.8em !default;
8
-
9
- @mixin track($trackColor) {
10
- box-sizing: border-box;
11
- border: none;
12
- height: $trackHeight;
13
- background: $trackColor;
14
- }
15
-
16
- @mixin thumb($thumbColor, $thumbShadowColor) {
17
- box-sizing: border-box;
18
- border: none;
19
- width: $thumbDiameter;
20
- height: $thumbDiameter;
21
- border-radius: 50%;
22
- background: $thumbColor;
23
- box-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;
24
- }
25
-
26
- @mixin classes($trackColor, $thumbColor, $thumbShadowColor) {
27
- .cfgSlider {
28
- @include mixins.cfgRootStyles;
29
-
30
- &,
31
- &::-webkit-slider-thumb {
32
- -webkit-appearance: none;
33
- }
34
-
35
- flex: 1;
36
- margin: 0;
37
- padding: 0;
38
- min-height: $thumbDiameter;
39
- background: transparent;
40
- font: inherit;
41
-
42
- &::-webkit-slider-runnable-track {
43
- @include track($trackColor);
44
- }
45
- &::-moz-range-track {
46
- @include track($trackColor);
47
- }
48
- &::-ms-track {
49
- @include track($trackColor);
50
- }
51
-
52
- &::-webkit-slider-thumb {
53
- margin-top: 0.5 * ($trackHeight - $thumbDiameter);
54
- @include thumb($thumbColor, $thumbShadowColor);
55
- }
56
- &::-moz-range-thumb {
57
- @include thumb($thumbColor, $thumbShadowColor);
58
- }
59
- &::-ms-thumb {
60
- margin-top: 0;
61
- @include thumb($thumbColor, $thumbShadowColor);
62
- }
63
-
64
- &::-ms-tooltip {
65
- display: none;
66
- }
67
-
68
- @content;
69
- }
70
- }
1
+ @use "mixins";
2
+
3
+ // The origins of this SCSS file is here:
4
+ // https://css-tricks.com/sliding-nightmare-understanding-range-input/
5
+
6
+ $trackHeight: 0.2em !default;
7
+ $thumbDiameter: 2.8em !default;
8
+
9
+ @mixin track($trackColor) {
10
+ box-sizing: border-box;
11
+ border: none;
12
+ height: $trackHeight;
13
+ background: $trackColor;
14
+ }
15
+
16
+ @mixin thumb($thumbColor, $thumbShadowColor) {
17
+ box-sizing: border-box;
18
+ border: none;
19
+ width: $thumbDiameter;
20
+ height: $thumbDiameter;
21
+ border-radius: 50%;
22
+ background: $thumbColor;
23
+ box-shadow: 0 0.15em 0.45em 0.05em $thumbShadowColor;
24
+ }
25
+
26
+ @mixin classes($trackColor, $thumbColor, $thumbShadowColor) {
27
+ .cfgSlider {
28
+ @include mixins.cfgRootStyles;
29
+
30
+ &,
31
+ &::-webkit-slider-thumb {
32
+ -webkit-appearance: none;
33
+ }
34
+
35
+ flex: 1;
36
+ margin: 0;
37
+ padding: 0;
38
+ min-height: $thumbDiameter;
39
+ background: transparent;
40
+ font: inherit;
41
+
42
+ &::-webkit-slider-runnable-track {
43
+ @include track($trackColor);
44
+ }
45
+ &::-moz-range-track {
46
+ @include track($trackColor);
47
+ }
48
+ &::-ms-track {
49
+ @include track($trackColor);
50
+ }
51
+
52
+ &::-webkit-slider-thumb {
53
+ margin-top: 0.5 * ($trackHeight - $thumbDiameter);
54
+ @include thumb($thumbColor, $thumbShadowColor);
55
+ }
56
+ &::-moz-range-thumb {
57
+ @include thumb($thumbColor, $thumbShadowColor);
58
+ }
59
+ &::-ms-thumb {
60
+ margin-top: 0;
61
+ @include thumb($thumbColor, $thumbShadowColor);
62
+ }
63
+
64
+ &::-ms-tooltip {
65
+ display: none;
66
+ }
67
+
68
+ @content;
69
+ }
70
+ }