@phillips/seldon 1.26.1 → 1.27.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/assets/account_circle.svg.js +5 -0
  2. package/dist/assets/search.svg.js +5 -0
  3. package/dist/components/Button/Button.d.ts +2 -2
  4. package/dist/components/Button/Button.js +12 -12
  5. package/dist/components/Header/Header.d.ts +26 -9
  6. package/dist/components/Header/Header.js +70 -24
  7. package/dist/components/Link/utils.d.ts +7 -1
  8. package/dist/components/Link/utils.js +6 -6
  9. package/dist/components/Navigation/Navigation.d.ts +10 -0
  10. package/dist/components/Navigation/Navigation.js +50 -0
  11. package/dist/components/Navigation/NavigationItem/NavigationItem.d.ts +30 -0
  12. package/dist/components/Navigation/NavigationItem/NavigationItem.js +35 -0
  13. package/dist/components/Navigation/NavigationItemTrigger/NavigationItemTrigger.d.ts +9 -0
  14. package/dist/components/Navigation/NavigationItemTrigger/NavigationItemTrigger.js +31 -0
  15. package/dist/components/Navigation/NavigationList/NavigationList.d.ts +9 -0
  16. package/dist/components/Navigation/NavigationList/NavigationList.js +32 -0
  17. package/dist/components/Search/Search.d.ts +7 -0
  18. package/dist/components/Search/Search.js +49 -0
  19. package/dist/components/Select/Select.js +28 -27
  20. package/dist/components/UserManagement/UserManagement.d.ts +19 -0
  21. package/dist/components/UserManagement/UserManagement.js +52 -0
  22. package/dist/components/ViewingsList/ViewingsList.js +10 -10
  23. package/dist/components/ViewingsList/ViewingsListCard.d.ts +2 -2
  24. package/dist/components/ViewingsList/ViewingsListCard.js +51 -51
  25. package/dist/index.d.ts +7 -0
  26. package/dist/index.js +65 -51
  27. package/dist/pages/Page.js +38 -54
  28. package/dist/scss/_vars.scss +1 -1
  29. package/dist/scss/components/Button/_button.scss +3 -3
  30. package/dist/scss/components/DatePicker/_datePicker.scss +2 -2
  31. package/dist/scss/components/Footer/_footer.scss +4 -4
  32. package/dist/scss/components/Grid/_grid.scss +2 -2
  33. package/dist/scss/components/GridItem/_gridItem.scss +1 -1
  34. package/dist/scss/components/Header/_header.scss +144 -24
  35. package/dist/scss/components/HeroBanner/_heroBanner.scss +1 -1
  36. package/dist/scss/components/Input/_input.scss +2 -2
  37. package/dist/scss/components/Link/_link.scss +77 -3
  38. package/dist/scss/components/LinkBlock/_linkBlock.scss +2 -2
  39. package/dist/scss/components/LinkList/_linkList.scss +1 -1
  40. package/dist/scss/components/Modal/_modal.scss +2 -2
  41. package/dist/scss/components/Navigation/NavigationItem/_navigationItem.scss +272 -0
  42. package/dist/scss/components/Navigation/NavigationItemTrigger/_navigationItemTrigger.scss +1 -0
  43. package/dist/scss/components/Navigation/NavigationList/_navigationList.scss +96 -0
  44. package/dist/scss/components/Navigation/_navigation.scss +114 -0
  45. package/dist/scss/components/Row/_row.scss +1 -1
  46. package/dist/scss/components/Search/_search.scss +101 -0
  47. package/dist/scss/components/Social/_social.scss +3 -3
  48. package/dist/scss/components/SplitPanel/_splitPanel.scss +2 -2
  49. package/dist/scss/components/SplitPanel/_splitPanel.stories.scss +1 -1
  50. package/dist/scss/components/Subscribe/_subscribe.scss +4 -4
  51. package/dist/scss/components/Text/_text.scss +1 -1
  52. package/dist/scss/components/Toggle/_toggle.scss +2 -2
  53. package/dist/scss/components/UserManagement/_userManagement.scss +115 -0
  54. package/dist/scss/components/ViewingsList/_viewingsList.scss +3 -3
  55. package/dist/scss/styles.scss +6 -0
  56. package/dist/types/commonTypes.d.ts +4 -0
  57. package/dist/types/commonTypes.js +4 -0
  58. package/package.json +12 -11
@@ -0,0 +1,114 @@
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+
3
+ .#{$px}-nav {
4
+ background: $pure-white;
5
+ color: $soft-black;
6
+ height: 100%;
7
+ overflow: hidden;
8
+ padding-top: 4.5rem;
9
+ position: relative;
10
+ width: 100%;
11
+
12
+ @media (min-width: $breakpoint-md) {
13
+ display: flex;
14
+ flex-wrap: wrap;
15
+ overflow: visible;
16
+ padding-top: 0;
17
+ place-content: center right;
18
+ position: unset;
19
+ width: auto;
20
+ }
21
+
22
+ &--expanded &__label {
23
+ animation: 1s linear fade-in-out forwards;
24
+ }
25
+
26
+ &__label {
27
+ animation: 1s linear fade-in-out2 forwards;
28
+ font-size: 1.25rem;
29
+ padding-left: 0.625rem;
30
+ visibility: var(--visible);
31
+ }
32
+
33
+ & &__back-btn {
34
+ background-color: transparent;
35
+ cursor: pointer;
36
+ font-weight: 800;
37
+ height: 60px;
38
+ opacity: 0;
39
+ padding: 1rem;
40
+ position: absolute;
41
+ right: 0;
42
+ top: 0;
43
+ transition:
44
+ opacity 0s linear,
45
+ background-color 0.5s;
46
+ width: auto;
47
+ }
48
+
49
+ &--expanded &__back-btn {
50
+ opacity: 1;
51
+ transition:
52
+ opacity 0.5s linear 0.25s,
53
+ background-color 0.5s;
54
+ }
55
+
56
+ @media (min-width: $breakpoint-md) {
57
+ // Remove label and mobile buttons on larger screens
58
+ .#{$px}-nav__back-btn,
59
+ .#{$px}-nav__close-btn,
60
+ .#{$px}-nav__label {
61
+ display: none;
62
+ }
63
+ }
64
+
65
+ // Zero out default styles for possible children
66
+ button {
67
+ appearance: none;
68
+ background: none;
69
+ border: none;
70
+ color: inherit;
71
+ display: block;
72
+ margin: 0;
73
+ padding: 0;
74
+ text-align: left;
75
+ width: 100%;
76
+ }
77
+
78
+ &__back-btn:hover,
79
+ &__back-btn:focus,
80
+ &__close-btn:hover,
81
+ &__close-btn:focus {
82
+ background-color: #f4f4f4;
83
+ }
84
+ }
85
+
86
+ // Animations
87
+
88
+ @keyframes fade-in-out {
89
+ 0% {
90
+ opacity: 0;
91
+ }
92
+
93
+ 30% {
94
+ opacity: 0;
95
+ }
96
+
97
+ 100% {
98
+ opacity: 1;
99
+ }
100
+ }
101
+
102
+ @keyframes fade-in-out2 {
103
+ 0% {
104
+ opacity: 0;
105
+ }
106
+
107
+ 30% {
108
+ opacity: 0;
109
+ }
110
+
111
+ 100% {
112
+ opacity: 1;
113
+ }
114
+ }
@@ -1,4 +1,4 @@
1
- @import '../../_vars';
1
+ @import '@phillips/seldon/dist/scss/_vars';
2
2
 
3
3
  .#{$px}-row {
4
4
  // horizontal padding is fixed
@@ -0,0 +1,101 @@
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/typography';
3
+
4
+ .#{$px}-search {
5
+ align-items: center;
6
+ display: flex;
7
+ height: 60px;
8
+ justify-content: center;
9
+ padding: 0.47rem;
10
+
11
+ &__overlay {
12
+ background-color: rgba(0, 0, 0, 50%);
13
+ display: none;
14
+ height: 100%;
15
+ inset: 0;
16
+ position: fixed;
17
+ width: 100%;
18
+ z-index: 2;
19
+
20
+ &--active {
21
+ display: block;
22
+ & + .#{$px}-search__button {
23
+ z-index: 3;
24
+ }
25
+ }
26
+ }
27
+
28
+ &__button {
29
+ background: transparent;
30
+ border: none;
31
+ height: 18px;
32
+ margin: 0;
33
+ padding: 0;
34
+ width: 18px;
35
+
36
+ @media (max-width: #{$breakpoint-md - 1}) {
37
+ border: 2px solid black;
38
+ border-radius: 50%;
39
+ height: 35px;
40
+ padding: 0.125rem;
41
+ position: absolute;
42
+ right: 1rem;
43
+ width: 35px;
44
+ }
45
+
46
+ &__icon {
47
+ height: 100%;
48
+ width: 100%;
49
+ }
50
+ }
51
+
52
+ &__input-wrapper {
53
+ background: #323232;
54
+ color: $white;
55
+ display: flex;
56
+ height: 100px;
57
+ overflow: hidden;
58
+ position: absolute;
59
+ right: 0;
60
+ top: 60px;
61
+ transition: 0.5s ease;
62
+ width: 0;
63
+ z-index: 3;
64
+
65
+ @media (max-width: #{$breakpoint-md - 1}) {
66
+ top: 60px;
67
+ }
68
+
69
+ &--active {
70
+ width: 50%;
71
+
72
+ @media (max-width: #{$breakpoint-md - 1}) {
73
+ top: 60px;
74
+ width: 100%;
75
+ }
76
+ }
77
+
78
+ &__icon {
79
+ height: 24px;
80
+ left: 35px;
81
+ position: absolute;
82
+ top: 30px;
83
+ width: 24px;
84
+
85
+ path {
86
+ fill: $white;
87
+ }
88
+ }
89
+ .#{$px}-input__input {
90
+ background: #323232;
91
+ border-bottom: 1px solid white;
92
+ border-left: 0;
93
+ border-radius: unset;
94
+ border-right: 0;
95
+ border-top: 0;
96
+ color: white;
97
+ margin: 1rem 2rem;
98
+ padding: 1rem 2rem;
99
+ }
100
+ }
101
+ }
@@ -1,6 +1,6 @@
1
- @import '../../vars';
2
- @import '../../utils';
3
- @import '../../type';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/utils';
3
+ @import '@phillips/seldon/dist/scss/type';
4
4
 
5
5
  .#{$px}-social {
6
6
  align-items: center;
@@ -1,5 +1,5 @@
1
- @import '../../vars';
2
- @import '../../utils';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/utils';
3
3
 
4
4
  .#{$px}-split-panel {
5
5
  align-items: center;
@@ -1,4 +1,4 @@
1
- @import '../../vars';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
2
 
3
3
  .split-panel-story {
4
4
  background-color: #f4f2f1;
@@ -1,7 +1,7 @@
1
- @import '../../vars';
2
- @import '../../utils';
3
- @import '../../type';
4
- @import '../../typography';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/utils';
3
+ @import '@phillips/seldon/dist/scss/type';
4
+ @import '@phillips/seldon/dist/scss/typography';
5
5
 
6
6
  .#{$px}-subscribe {
7
7
  max-width: 30rem;
@@ -1,4 +1,4 @@
1
- @import '../../_vars';
1
+ @import '@phillips/seldon/dist/scss/_vars';
2
2
 
3
3
  .#{$px}-text {
4
4
  @each $variant in $text-tokens {
@@ -1,5 +1,5 @@
1
- @import '../../vars';
2
- @import '../../utils';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/utils';
3
3
 
4
4
  $toggleBaseWidth: 3rem;
5
5
  $inline: #{$px}-input--inline;
@@ -0,0 +1,115 @@
1
+ @import '@phillips/seldon/dist/scss/_vars';
2
+
3
+ .#{$px}-user-management {
4
+ align-items: center;
5
+ background-color: #f4f4f4;
6
+ display: flex;
7
+ height: 30px;
8
+ justify-content: flex-end;
9
+ left: 0;
10
+ padding: 0 $spacing-md;
11
+ position: fixed;
12
+ right: 0;
13
+ top: 0;
14
+ width: 100%;
15
+
16
+ @media (max-width: #{$breakpoint-md - 1}) {
17
+ align-items: flex-start;
18
+ background: transparent;
19
+ flex-direction: column;
20
+ height: unset;
21
+ margin-top: auto;
22
+ padding: 0;
23
+ position: unset;
24
+ }
25
+
26
+ > li {
27
+ border: none;
28
+ display: flex;
29
+ flex-wrap: wrap;
30
+ justify-content: flex-end;
31
+ }
32
+
33
+ &__account-wrapper {
34
+ align-items: center;
35
+ display: flex;
36
+ gap: 1rem;
37
+
38
+ @media (max-width: #{$breakpoint-md - 1}) {
39
+ width: 100%;
40
+ }
41
+
42
+ .#{$px}-link {
43
+ @media (max-width: #{$breakpoint-md - 1}) {
44
+ width: 100%;
45
+ }
46
+
47
+ & > span {
48
+ color: $soft-black;
49
+ font-size: 0.8125rem;
50
+ font-weight: 500;
51
+ letter-spacing: 0.125rem;
52
+ }
53
+ }
54
+ }
55
+
56
+ &__account-icon {
57
+ &:hover,
58
+ &:focus,
59
+ &:focus-within {
60
+ path {
61
+ fill: $soft-black;
62
+ }
63
+ }
64
+
65
+ @media (max-width: #{$breakpoint-md - 1}) {
66
+ display: none;
67
+ }
68
+ }
69
+
70
+ .#{$px}-nav__item {
71
+ &:hover,
72
+ &:focus,
73
+ &:focus-within {
74
+ &::after {
75
+ opacity: 0;
76
+ }
77
+ .#{$px}-user-management__language {
78
+ &__selections {
79
+ padding: 0.8125rem;
80
+ }
81
+ }
82
+ }
83
+ .#{$px}-user-management__language {
84
+ &__selections {
85
+ @media (min-width: $breakpoint-md) {
86
+ background: $off-white;
87
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 85%);
88
+ display: block;
89
+ left: unset;
90
+ min-height: unset;
91
+ min-width: 130px;
92
+ padding: 0;
93
+ position: absolute;
94
+ right: 0;
95
+ top: 30px;
96
+ width: 100%;
97
+
98
+ > li {
99
+ height: auto;
100
+ }
101
+ .#{$px}-input {
102
+ &--inline {
103
+ gap: 0.825rem;
104
+ }
105
+
106
+ &__input {
107
+ height: 18px;
108
+ width: 18px;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
@@ -1,6 +1,6 @@
1
- @import '../../vars';
2
- @import '../../utils';
3
- @import '../../typography';
1
+ @import '@phillips/seldon/dist/scss/vars';
2
+ @import '@phillips/seldon/dist/scss/utils';
3
+ @import '@phillips/seldon/dist/scss/typography';
4
4
 
5
5
  .#{$px}-viewings-list {
6
6
  align-items: center;
@@ -17,13 +17,19 @@
17
17
  @import 'components/Grid/grid';
18
18
  @import 'components/Header/header';
19
19
  @import 'components/HeroBanner/heroBanner';
20
+ @import 'components/Navigation/navigation';
21
+ @import 'components/Navigation/NavigationItem/navigationItem';
22
+ @import 'components/Navigation/NavigationItemTrigger/navigationItemTrigger';
23
+ @import 'components/Navigation/NavigationList/navigationList';
20
24
  @import 'components/Input/input';
21
25
  @import 'components/Row/row';
22
26
  @import 'components/GridItem/gridItem';
27
+ @import 'components/Search/search';
23
28
  @import 'components/Social/social';
24
29
  @import 'components/SplitPanel/splitPanel';
25
30
  @import 'components/Subscribe/subscribe';
26
31
  @import 'components/Toggle/toggle';
32
+ @import 'components/UserManagement/userManagement';
27
33
  @import 'components/ViewingsList/viewingsList';
28
34
  @import 'components/Link/link';
29
35
  @import 'components/LinkBlock/linkBlock';
@@ -0,0 +1,4 @@
1
+ export declare enum SupportedLanguages {
2
+ en = "en",
3
+ zh = "zh"
4
+ }
@@ -0,0 +1,4 @@
1
+ var e = /* @__PURE__ */ ((r) => (r.en = "en", r.zh = "zh", r))(e || {});
2
+ export {
3
+ e as SupportedLanguages
4
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phillips/seldon",
3
- "version": "1.26.1",
3
+ "version": "1.27.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/PhillipsAuctionHouse/seldon"
@@ -45,21 +45,21 @@
45
45
  "react-modal": "^3.16.1"
46
46
  },
47
47
  "devDependencies": {
48
- "@chromatic-com/storybook": "^1.5.0",
48
+ "@chromatic-com/storybook": "^1.6.1",
49
49
  "@commitlint/cli": "^19.3.0",
50
50
  "@commitlint/config-conventional": "^19.2.2",
51
51
  "@figma/code-connect": "^0.2.1",
52
52
  "@semantic-release/changelog": "^6.0.3",
53
53
  "@semantic-release/git": "^10.0.1",
54
- "@semantic-release/github": "^10.0.6",
55
- "@storybook/addon-essentials": "^8.1.10",
54
+ "@semantic-release/github": "^10.1.0",
55
+ "@storybook/addon-essentials": "^8.1.11",
56
56
  "@storybook/addon-interactions": "^8.1.4",
57
57
  "@storybook/addon-links": "^8.1.4",
58
- "@storybook/addon-mdx-gfm": "^8.1.10",
58
+ "@storybook/addon-mdx-gfm": "^8.1.11",
59
59
  "@storybook/blocks": "^8.1.4",
60
60
  "@storybook/react": "^8.1.4",
61
61
  "@storybook/react-vite": "^8.1.4",
62
- "@storybook/theming": "^8.1.10",
62
+ "@storybook/theming": "^8.1.11",
63
63
  "@testing-library/jest-dom": "^6.4.6",
64
64
  "@testing-library/react": "^16.0.0",
65
65
  "@testing-library/user-event": "^14.5.2",
@@ -73,6 +73,7 @@
73
73
  "@vitest/coverage-v8": "^1.6.0",
74
74
  "color": "^4.2.3",
75
75
  "eslint": "^8.57.0",
76
+ "eslint-plugin-react": "^7.34.3",
76
77
  "eslint-plugin-react-hooks": "^4.6.2",
77
78
  "eslint-plugin-react-refresh": "^0.4.7",
78
79
  "eslint-plugin-storybook": "^0.8.0",
@@ -81,20 +82,20 @@
81
82
  "react": "^18.3.1",
82
83
  "react-docgen-typescript": "^2.2.2",
83
84
  "react-dom": "^18.2.0",
84
- "rimraf": "^5.0.7",
85
+ "rimraf": "^5.0.8",
85
86
  "rollup-plugin-copy": "^3.5.0",
86
87
  "rollup-plugin-peer-deps-external": "^2.2.4",
87
88
  "sass": "^1.77.6",
88
89
  "semantic-release": "^23.1.1",
89
90
  "storybook": "^8.1.4",
90
91
  "stylelint": "^16.6.1",
91
- "stylelint-config-standard": "^36.0.0",
92
+ "stylelint-config-standard": "^36.0.1",
92
93
  "stylelint-config-standard-scss": "^13.1.0",
93
94
  "stylelint-order": "^6.0.4",
94
- "stylelint-scss": "^6.3.1",
95
+ "stylelint-scss": "^6.3.2",
95
96
  "ts-node": "^10.9.2",
96
- "typescript": "^5.4.5",
97
- "vite": "^5.3.1",
97
+ "typescript": "^5.5.3",
98
+ "vite": "^5.3.3",
98
99
  "vite-plugin-dts": "^2.3.0",
99
100
  "vite-plugin-svgr": "^4.2.0",
100
101
  "vite-tsconfig-paths": "^4.3.2",