@configura/web-ui 1.4.0 → 1.5.0-alpha.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 (96) 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/CfgPriceView.d.ts +7 -0
  7. package/dist/components/CfgPriceView.js +13 -0
  8. package/dist/components/ConfigurationActionsButtonRow.d.ts +11 -11
  9. package/dist/components/ConfigurationActionsButtonRow.js +13 -13
  10. package/dist/components/Configurator.d.ts +12 -12
  11. package/dist/components/Configurator.js +15 -15
  12. package/dist/components/ConfiguratorWrapper.d.ts +8 -8
  13. package/dist/components/ConfiguratorWrapper.js +5 -5
  14. package/dist/components/CurrencyPrice.d.ts +9 -9
  15. package/dist/components/CurrencyPrice.js +7 -7
  16. package/dist/components/ExpandableHeadingRow.d.ts +15 -15
  17. package/dist/components/ExpandableHeadingRow.js +21 -21
  18. package/dist/components/Loading.d.ts +13 -13
  19. package/dist/components/Loading.js +20 -20
  20. package/dist/components/ProductInformation.d.ts +13 -10
  21. package/dist/components/ProductInformation.js +14 -23
  22. package/dist/components/TaskListView.d.ts +9 -0
  23. package/dist/components/TaskListView.js +50 -0
  24. package/dist/components/TaskStartView.d.ts +13 -0
  25. package/dist/components/TaskStartView.js +22 -0
  26. package/dist/components/icons/Checkmark.d.ts +6 -5
  27. package/dist/components/icons/Checkmark.js +12 -12
  28. package/dist/components/icons/Chevron.d.ts +7 -6
  29. package/dist/components/icons/Chevron.js +18 -18
  30. package/dist/components/icons/CircleXmarkIcon.d.ts +4 -0
  31. package/dist/components/icons/CircleXmarkIcon.js +8 -0
  32. package/dist/components/icons/DownloadIcon.d.ts +4 -0
  33. package/dist/components/icons/DownloadIcon.js +8 -0
  34. package/dist/components/icons/ErrorIcon.d.ts +4 -0
  35. package/dist/components/icons/ErrorIcon.js +8 -0
  36. package/dist/components/productConfiguration/CfgAdditionalProductView.d.ts +3 -3
  37. package/dist/components/productConfiguration/CfgAdditionalProductView.js +28 -28
  38. package/dist/components/productConfiguration/CfgCheckboxView.d.ts +19 -18
  39. package/dist/components/productConfiguration/CfgCheckboxView.js +22 -22
  40. package/dist/components/productConfiguration/CfgCheckboxesView.d.ts +13 -12
  41. package/dist/components/productConfiguration/CfgCheckboxesView.js +19 -18
  42. package/dist/components/productConfiguration/CfgDropdownOptionView.d.ts +19 -18
  43. package/dist/components/productConfiguration/CfgDropdownOptionView.js +36 -35
  44. package/dist/components/productConfiguration/CfgDropdownView.d.ts +13 -12
  45. package/dist/components/productConfiguration/CfgDropdownView.js +21 -20
  46. package/dist/components/productConfiguration/CfgFeatureView.d.ts +29 -27
  47. package/dist/components/productConfiguration/CfgFeatureView.js +36 -34
  48. package/dist/components/productConfiguration/CfgGroupView.d.ts +4 -4
  49. package/dist/components/productConfiguration/CfgGroupView.js +7 -13
  50. package/dist/components/productConfiguration/CfgOptionFeaturesView.d.ts +6 -6
  51. package/dist/components/productConfiguration/CfgOptionFeaturesView.js +13 -13
  52. package/dist/components/productConfiguration/CfgOptionNumericView.d.ts +27 -27
  53. package/dist/components/productConfiguration/CfgOptionNumericView.js +119 -117
  54. package/dist/components/productConfiguration/CfgOptionPriceView.d.ts +9 -9
  55. package/dist/components/productConfiguration/CfgOptionPriceView.js +29 -29
  56. package/dist/components/productConfiguration/CfgProductConfigurationView.d.ts +18 -18
  57. package/dist/components/productConfiguration/CfgProductConfigurationView.js +45 -45
  58. package/dist/css/web-ui.css +1 -1
  59. package/dist/css/web-ui.css.map +1 -1
  60. package/dist/index.d.ts +22 -20
  61. package/dist/index.js +22 -20
  62. package/dist/scss/_button.scss +36 -36
  63. package/dist/scss/_configurator.scss +87 -67
  64. package/dist/scss/_expandable.scss +37 -37
  65. package/dist/scss/_feature-item.scss +137 -124
  66. package/dist/scss/_forms.scss +42 -0
  67. package/dist/scss/_hr.scss +16 -16
  68. package/dist/scss/_loading.scss +98 -98
  69. package/dist/scss/_mixins.scss +56 -56
  70. package/dist/scss/_option-tree.scss +29 -29
  71. package/dist/scss/_product-information.scss +49 -49
  72. package/dist/scss/_range-view.scss +39 -28
  73. package/dist/scss/_slider.scss +70 -70
  74. package/dist/scss/_tasks.scss +71 -0
  75. package/dist/scss/_themed.scss +147 -124
  76. package/dist/scss/_utilities.scss +21 -21
  77. package/dist/scss/_variables.scss +6 -6
  78. package/dist/scss/icons/_checkmark.scss +46 -46
  79. package/dist/scss/icons/_chevron.scss +62 -62
  80. package/dist/scss/icons/_circle-xmark-icon.scss +24 -0
  81. package/dist/scss/icons/_download-icon.scss +24 -0
  82. package/dist/scss/icons/_error-icon.scss +24 -0
  83. package/dist/scss/web-ui.scss +11 -11
  84. package/dist/useObservable.d.ts +4 -4
  85. package/dist/useObservable.js +18 -18
  86. package/dist/useRerender.d.ts +1 -1
  87. package/dist/useRerender.js +5 -5
  88. package/dist/useResize.d.ts +6 -6
  89. package/dist/useResize.js +47 -47
  90. package/dist/useSelected.d.ts +2 -2
  91. package/dist/useSelected.js +13 -13
  92. package/dist/useUniqueId.d.ts +1 -1
  93. package/dist/useUniqueId.js +7 -7
  94. package/dist/utilities.d.ts +5 -5
  95. package/dist/utilities.js +1 -1
  96. package/package.json +3 -3
@@ -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,39 @@
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
+ @mixin classes($errorColor) {
2
+ .cfgRangeView {
3
+ &__inputs {
4
+ display: flex;
5
+ align-items: center;
6
+ }
7
+
8
+ &__number-input {
9
+ font-size: 1.5em;
10
+ flex-grow: 1;
11
+ text-align: right;
12
+ }
13
+
14
+ &__unit-label {
15
+ font-size: 1.5em;
16
+ margin-left: 0.3em;
17
+ }
18
+
19
+ &__slider-input.cfgSlider {
20
+ margin-left: 1em;
21
+ flex-grow: 3;
22
+ }
23
+
24
+ &__error {
25
+ display: flex;
26
+ align-items: center;
27
+
28
+ margin-top: 1em;
29
+ font-size: 1.5em;
30
+ color: $errorColor;
31
+
32
+ .cfgErrorIcon {
33
+ padding-right: 0.25em;
34
+ width: 1.25em;
35
+ height: 1em;
36
+ }
37
+ }
38
+ }
39
+ }
@@ -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
+ }
@@ -0,0 +1,71 @@
1
+ @use "mixins";
2
+
3
+ @mixin classes($borderColor, $linkColor) {
4
+ $preview-size: 4.8em;
5
+ $line-width: 0.1em;
6
+ $icon-size: 2em;
7
+
8
+ .cfgTaskList {
9
+ ul {
10
+ list-style-type: none;
11
+ padding: 0;
12
+ border-bottom: 0.1em solid $borderColor;
13
+ }
14
+
15
+ &__item {
16
+ padding: 0 1.5em 0 1.7em;
17
+ margin-bottom: 1em;
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+
22
+ &__preview {
23
+ border: 0.1em solid $borderColor;
24
+ border-radius: 10%;
25
+ width: $preview-size;
26
+ height: $preview-size;
27
+ flex-shrink: 0;
28
+
29
+ img {
30
+ object-fit: cover;
31
+ position: relative;
32
+ left: 0.1 * $preview-size - $line-width;
33
+ top: 0.1 * $preview-size - $line-width;
34
+ width: 0.8 * $preview-size;
35
+ height: 0.8 * $preview-size;
36
+ }
37
+ }
38
+
39
+ &__icon {
40
+ flex-shrink: 0;
41
+ width: $icon-size + 2em;
42
+ height: $icon-size;
43
+ padding-left: 1em;
44
+ padding-right: 1em;
45
+
46
+ .cfgLoadingSizer {
47
+ font-size: 0.75em;
48
+ }
49
+ }
50
+
51
+ &__status {
52
+ flex-grow: 1;
53
+ font-size: 1.5em;
54
+ }
55
+
56
+ &__abort {
57
+ @include mixins.noButtonLook;
58
+ cursor: pointer;
59
+ width: $icon-size;
60
+ height: $icon-size;
61
+ flex-shrink: 0;
62
+ }
63
+
64
+ &__restart {
65
+ @include mixins.noButtonLook;
66
+ cursor: pointer;
67
+ text-decoration: underline;
68
+ color: $linkColor;
69
+ }
70
+ }
71
+ }