@configura/web-ui 1.3.0-alpha.3 → 1.3.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 (79) 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 -33
  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 +28 -0
  41. package/dist/components/productConfiguration/CfgOptionNumericView.js +117 -0
  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 -37
  46. package/dist/css/web-ui.css +1 -1
  47. package/dist/css/web-ui.css.map +1 -1
  48. package/dist/index.d.ts +20 -20
  49. package/dist/index.js +20 -20
  50. package/dist/scss/_button.scss +36 -36
  51. package/dist/scss/_configurator.scss +67 -67
  52. package/dist/scss/_expandable.scss +37 -37
  53. package/dist/scss/_feature-item.scss +124 -124
  54. package/dist/scss/_hr.scss +16 -16
  55. package/dist/scss/_loading.scss +98 -98
  56. package/dist/scss/_mixins.scss +56 -56
  57. package/dist/scss/_option-tree.scss +29 -29
  58. package/dist/scss/_product-information.scss +49 -49
  59. package/dist/scss/_range-view.scss +28 -0
  60. package/dist/scss/_slider.scss +70 -70
  61. package/dist/scss/_themed.scss +124 -123
  62. package/dist/scss/_utilities.scss +21 -17
  63. package/dist/scss/_variables.scss +6 -6
  64. package/dist/scss/icons/_checkmark.scss +46 -46
  65. package/dist/scss/icons/_chevron.scss +62 -62
  66. package/dist/scss/web-ui.scss +11 -11
  67. package/dist/useObservable.d.ts +4 -4
  68. package/dist/useObservable.js +18 -18
  69. package/dist/useRerender.d.ts +1 -1
  70. package/dist/useRerender.js +5 -5
  71. package/dist/useResize.d.ts +6 -6
  72. package/dist/useResize.js +47 -47
  73. package/dist/useSelected.d.ts +2 -2
  74. package/dist/useSelected.js +13 -13
  75. package/dist/useUniqueId.d.ts +1 -1
  76. package/dist/useUniqueId.js +7 -7
  77. package/dist/utilities.d.ts +5 -5
  78. package/dist/utilities.js +1 -1
  79. package/package.json +3 -3
@@ -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
+ }
@@ -0,0 +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,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
+ }