@iamproperty/components 4.1.0-beta-2 → 4.1.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 (131) hide show
  1. package/assets/css/components/accordion.css.map +1 -1
  2. package/assets/css/components/actionbar-global.css +1 -1
  3. package/assets/css/components/actionbar-global.css.map +1 -1
  4. package/assets/css/components/address-lookup.css +1 -0
  5. package/assets/css/components/address-lookup.css.map +1 -0
  6. package/assets/css/components/admin-panel.css +1 -1
  7. package/assets/css/components/admin-panel.css.map +1 -1
  8. package/assets/css/components/dialog.css +1 -1
  9. package/assets/css/components/dialog.css.map +1 -1
  10. package/assets/css/components/fileupload.css +1 -1
  11. package/assets/css/components/fileupload.css.map +1 -1
  12. package/assets/css/components/forms.css +1 -1
  13. package/assets/css/components/forms.css.map +1 -1
  14. package/assets/css/components/header.css +1 -1
  15. package/assets/css/components/header.css.map +1 -1
  16. package/assets/css/components/lists.css +1 -1
  17. package/assets/css/components/lists.css.map +1 -1
  18. package/assets/css/components/nav-global.css +1 -1
  19. package/assets/css/components/nav-global.css.map +1 -1
  20. package/assets/css/components/nav.css +1 -1
  21. package/assets/css/components/nav.css.map +1 -1
  22. package/assets/css/components/nav.old.css +1 -1
  23. package/assets/css/components/nav.old.css.map +1 -1
  24. package/assets/css/components/notification.css +1 -1
  25. package/assets/css/components/notification.css.map +1 -1
  26. package/assets/css/components/pagination.css +1 -1
  27. package/assets/css/components/pagination.css.map +1 -1
  28. package/assets/css/components/property-searchbar.css +1 -1
  29. package/assets/css/components/property-searchbar.css.map +1 -1
  30. package/assets/css/components/table.css +1 -1
  31. package/assets/css/components/table.css.map +1 -1
  32. package/assets/css/components/table.extras.css +1 -0
  33. package/assets/css/components/table.extras.css.map +1 -0
  34. package/assets/css/components/table.global.css +1 -0
  35. package/assets/css/components/table.global.css.map +1 -0
  36. package/assets/css/components/tabs.css +1 -1
  37. package/assets/css/components/tabs.css.map +1 -1
  38. package/assets/css/core.min.css +1 -1
  39. package/assets/css/core.min.css.map +1 -1
  40. package/assets/css/style.min.css +1 -1
  41. package/assets/css/style.min.css.map +1 -1
  42. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  43. package/assets/js/components/actionbar/actionbar.component.min.js +3 -3
  44. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  45. package/assets/js/components/address-lookup/address-lookup.component.js +172 -0
  46. package/assets/js/components/address-lookup/address-lookup.component.min.js +36 -0
  47. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -0
  48. package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
  49. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  50. package/assets/js/components/card/card.component.min.js +1 -1
  51. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  52. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  53. package/assets/js/components/header/header.component.min.js +2 -2
  54. package/assets/js/components/nav/nav.component.min.js +2 -2
  55. package/assets/js/components/notification/notification.component.min.js +4 -4
  56. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  57. package/assets/js/components/pagination/pagination.component.js +152 -7
  58. package/assets/js/components/pagination/pagination.component.min.js +38 -12
  59. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  60. package/assets/js/components/table/table.component.js +95 -69
  61. package/assets/js/components/table/table.component.min.js +9 -13
  62. package/assets/js/components/table/table.component.min.js.map +1 -1
  63. package/assets/js/components/tabs/tabs.component.js +3 -1
  64. package/assets/js/components/tabs/tabs.component.min.js +7 -5
  65. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  66. package/assets/js/dynamic.min.js +5 -5
  67. package/assets/js/dynamic.min.js.map +1 -1
  68. package/assets/js/modules/applied-filters.js +3 -4
  69. package/assets/js/modules/dialogs.js +15 -3
  70. package/assets/js/modules/dynamicEvents.js +116 -0
  71. package/assets/js/modules/helpers.js +9 -0
  72. package/assets/js/modules/pagination.js +7 -10
  73. package/assets/js/modules/table.js +51 -52
  74. package/assets/js/modules/tabs.js +10 -1
  75. package/assets/js/scripts.bundle.js +53 -25
  76. package/assets/js/scripts.bundle.js.map +1 -1
  77. package/assets/js/scripts.bundle.min.js +2 -2
  78. package/assets/js/scripts.bundle.min.js.map +1 -1
  79. package/assets/js/tests/table.spec.js +0 -57
  80. package/assets/sass/_components.scss +2 -0
  81. package/assets/sass/_corefiles.scss +6 -2
  82. package/assets/sass/_functions/variables.scss +5 -1
  83. package/assets/sass/components/actionbar-global.scss +11 -2
  84. package/assets/sass/components/address-lookup.scss +22 -0
  85. package/assets/sass/components/admin-panel.scss +4 -0
  86. package/assets/sass/components/dialog.scss +22 -13
  87. package/assets/sass/components/fileupload.scss +2 -0
  88. package/assets/sass/components/forms.scss +231 -71
  89. package/assets/sass/components/lists.scss +119 -1
  90. package/assets/sass/components/nav-global.scss +1 -0
  91. package/assets/sass/components/notification.scss +6 -1
  92. package/assets/sass/components/pagination.scss +192 -100
  93. package/assets/sass/components/table.extras.scss +650 -0
  94. package/assets/sass/components/table.global.scss +103 -0
  95. package/assets/sass/components/table.scss +41 -565
  96. package/assets/sass/components/tabs.scss +95 -32
  97. package/assets/sass/foundations/brand.scss +4 -0
  98. package/assets/sass/foundations/buttons.scss +14 -12
  99. package/assets/sass/foundations/links.scss +2 -1
  100. package/assets/sass/helpers/dynamic.scss +3 -0
  101. package/assets/sass/templates/form.scss +84 -0
  102. package/assets/svg/logo.svg +7 -0
  103. package/assets/ts/components/address-lookup/address-lookup.component.ts +215 -0
  104. package/assets/ts/components/pagination/README.md +11 -0
  105. package/assets/ts/components/pagination/pagination.component.ts +182 -8
  106. package/assets/ts/components/table/README.md +4 -2
  107. package/assets/ts/components/table/table.component.ts +134 -83
  108. package/assets/ts/components/tabs/README.md +6 -5
  109. package/assets/ts/components/tabs/tabs.component.ts +3 -1
  110. package/assets/ts/modules/applied-filters.ts +5 -8
  111. package/assets/ts/modules/dialogs.ts +19 -4
  112. package/assets/ts/modules/dynamicEvents.ts +145 -0
  113. package/assets/ts/modules/helpers.ts +16 -1
  114. package/assets/ts/modules/pagination.ts +7 -10
  115. package/assets/ts/modules/table.ts +70 -57
  116. package/assets/ts/modules/tabs.ts +21 -10
  117. package/assets/ts/tests/table.spec.ts +1 -61
  118. package/dist/components.es.js +1123 -1008
  119. package/dist/components.umd.js +165 -80
  120. package/dist/style.css +1 -1
  121. package/package.json +3 -2
  122. package/src/components/AddressLookup/AddressLookup.vue +27 -0
  123. package/src/components/Pagination/README.md +11 -0
  124. package/src/components/Table/README.md +4 -3
  125. package/src/components/Table/Table.vue +4 -0
  126. package/src/components/Tabs/README.md +10 -7
  127. package/src/components/Tabs/Tab.vue +7 -8
  128. package/src/components/Tabs/Tabs.vue +0 -1
  129. package/src/index.js +1 -0
  130. package/assets/js/tests/pagination.spec.js +0 -15
  131. package/assets/ts/tests/pagination.spec.ts +0 -21
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.carousel{padding-bottom:3rem}.carousel .carousel__wrapper{position:relative}.carousel .carousel__inner{--gutter-x: 1rem;overflow:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--gutter-x) * -.5);margin-left:calc(var(--gutter-x) * -.5)}.carousel .carousel__inner>.row{flex-wrap:nowrap;margin:0}.carousel .carousel__inner>.row>.col{padding-top:2.25rem;padding-bottom:1.5rem;scroll-snap-align:start;scroll-padding:calc(var(--gutter-x) * -1)}.carousel .carousel__item>*:last-child{margin-bottom:0;padding-bottom:0}body.js-enabled .carousel__inner{scrollbar-width:none;-ms-overflow-style:none}body.js-enabled .carousel__inner::-webkit-scrollbar{display:none}.btn-next,.btn-prev{--marker-bg: var(--colour-secondary);text-indent:100%;white-space:nowrap;background:var(--marker-bg);border-radius:100%;width:2.25rem;height:2.25rem;text-indent:-300rem;overflow:hidden;border:none;position:relative;margin:0 .5rem;padding:0}@media screen and (min-width: 62em){.btn-next,.btn-prev{width:3rem;height:3rem}}.btn-next:disabled,.btn-prev:disabled{opacity:.8;pointer-events:none}.btn-next:after,.btn-prev:after{content:"";position:absolute;right:0;top:0;height:100%;width:100%;background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 60%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:55% 50%;transform:rotate(0)}.btn-next:hover,.btn-next:focus,.btn-prev:hover,.btn-prev:focus{background:var(--colour-warning);color:var(--colour-hover);border-radius:100%}.btn-next:active,.btn-prev:active{border-radius:100%}.btn-prev:after{transform:rotate(180deg)}.carousel:not(.hide-controls){padding-bottom:4.5rem!important}.carousel.hide-controls .carousel__controls{display:none}.carousel .carousel__controls{position:absolute;text-align:center;width:auto;left:0;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;bottom:-3rem}.carousel .carousel__controls a{width:1rem;height:1rem;min-height:1rem;border-radius:50%;text-indent:-50rem;overflow:hidden;background:currentColor;padding:0;margin:0 .5rem .5rem}.carousel .carousel__controls a:before{display:none}.carousel .carousel__controls a:first-child:last-child{display:none}.carousel .carousel__controls>a:nth-child(10)~a{display:none}.carousel.hide-btns .carousel__wrapper>.btn{display:none}.carousel:not(.hide-btns) .carousel__inner{margin-left:1.75rem;margin-right:1.75rem}.carousel .carousel__wrapper>.btn{position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%)}.carousel .carousel__wrapper>.btn.btn-next{left:auto;right:-1.25rem}@media screen and (min-width: 62em){.carousel .carousel__wrapper>.btn{margin-left:-1rem;margin-right:-1rem}}.carousel .carousel__inner>.row>.col:first-child{margin-left:0!important}@media screen and (min-width: 36em){.carousel .carousel__controls>a:nth-child(10)~a{display:inline-block}.carousel .carousel__inner>.row[class*=row-cols-sm-]>.col{scroll-snap-align:unset}.carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){margin-left:4rem}.carousel .carousel__controls.cols-sm-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-sm-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-sm-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-sm-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-sm-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-sm-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-sm-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-sm-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-sm-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-sm-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-sm-btns .carousel__wrapper>.btn{display:none}.carousel.hide-sm-btns .carousel__inner{margin-left:0;margin-right:0}}@media screen and (min-width: 62em){.carousel .carousel__inner>.row[class*=row-cols-md-]>.col{scroll-snap-align:unset;margin-left:0}.carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){margin-left:50vw}.carousel .carousel__controls.cols-md-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-md-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-md-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-md-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-md-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-md-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-md-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-md-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-md-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-md-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-md-btns .carousel__wrapper>.btn{display:none}.carousel.hide-md-btns .carousel__inner{margin-left:0;margin-right:0}}.testimonial{--testimonial-padding: 1rem;--testimonial-spacing: 1rem}@media screen and (min-width: 62em){.testimonial{--testimonial-padding: 4rem;--testimonial-spacing: 2rem}}.testimonial>div:first-child{position:relative;overflow:hidden}.testimonial .circle{color:currentColor;position:absolute;top:-18rem;right:-8rem;font-size:28rem;border-width:4px}.testimonial__images{overflow:auto;scroll-snap-type:x mandatory;display:flex;user-select:none;touch-action:pan-x;height:14.375rem}@media screen and (min-width: 36em){.testimonial__images{height:21.25rem}}@media screen and (min-width: 62em){.testimonial__images{min-height:100%;scroll-snap-type:y mandatory;flex-direction:column;touch-action:pan-y}}.testimonial__images img{scroll-snap-align:start;user-select:none;pointer-events:none;flex-shrink:0}.testimonial .testimonial__controls{display:none}.testimonial.testimonial--multi .testimonial__controls{display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}@media screen and (min-width: 62em){.testimonial.testimonial--multi .testimonial__controls{left:auto;bottom:auto;right:0;top:50%;transform:rotate(90deg) translateY(-120%);transform-origin:center}}.testimonial h2{padding:2rem var(--testimonial-padding) 0 var(--testimonial-padding)}@media screen and (min-width: 36em){.testimonial h2{padding-top:3rem}}@media screen and (min-width: 62em){.testimonial h2{padding-top:9rem}}.testimonial__content{--display-none: none;margin:0 var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding);position:relative}@media screen and (min-width: 62em){.testimonial__content{--display-none: block}.testimonial__content blockquote:not(.largest){position:absolute;top:0}}.testimonial[data-show="1"] blockquote:not(:nth-child(1)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="2"] blockquote:not(:nth-child(2)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="3"] blockquote:not(:nth-child(3)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="4"] blockquote:not(:nth-child(4)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="5"] blockquote:not(:nth-child(5)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="6"] blockquote:not(:nth-child(6)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="7"] blockquote:not(:nth-child(7)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="8"] blockquote:not(:nth-child(8)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="9"] blockquote:not(:nth-child(9)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="10"] blockquote:not(:nth-child(10)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial__after{padding:1rem var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding)}.testimonial__images::-webkit-scrollbar{display:none}.testimonial__images{-ms-overflow-style:none;scrollbar-width:none}.timeline{--breakpoint:(100% - 62rem);--pl: clamp(0rem, var(--breakpoint) * -1000, 4rem);--line-pos: clamp(1rem, var(--breakpoint) * 1000, 50%);--circle-pos: 1rem;--line-length: 100%;--img-order: 1;position:relative;padding-top:.25rem;padding-left:var(--pl);padding-bottom:1rem;width:100%;display:flex;justify-content:space-between;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.timeline__container:not(.timeline--simple) .timeline{align-items:center}@media screen and (min-width: 62em){.timeline__container:not(.timeline--simple) .timeline{--img-order: 0;--circle-pos: 50%;--line-length: 50%}}.timeline:before{content:" ";display:block;background:black;width:4px;height:100%;position:absolute;top:0;left:var(--line-pos)}.timeline:after{content:" ";display:block;background:white;width:2rem;height:2rem;margin-top:-1rem;position:absolute;top:var(--circle-pos);left:var(--line-pos);margin-left:calc(-1rem + 2px);border:4px solid black;border-radius:50%}.timeline>*{max-width:28.75rem;order:1}.timeline>img{max-width:min(100%,28.75rem);margin-bottom:2rem}.timeline:nth-child(even)>img{order:var(--img-order)}.timeline:first-child:before{top:var(--circle-pos);height:var(--line-length)}.timeline:last-child{padding-bottom:0;margin-bottom:2rem}.timeline:last-child:before{height:var(--line-length)}.timeline:last-child>img{margin-bottom:0}.property-searchbar fieldset{position:relative}@media screen and (min-width: 62em){.property-searchbar fieldset{position:relative;padding-right:1.5rem}.property-searchbar fieldset:after{content:"";position:absolute;top:0;right:.5rem;display:block;height:100%;width:1px;background-color:var(--colour-muted);opacity:.25}}.property-searchbar .form-control__wrapper{margin-bottom:1rem}@media screen and (min-width: 62em){.property-searchbar .form-control__wrapper{margin-bottom:0}}.property-searchbar .form-label,.property-searchbar label{font-size:.875rem;text-transform:uppercase}@media screen and (min-width: 62em){.property-searchbar .row .row .form-label{display:none}.property-searchbar .form-control,.property-searchbar .form-select{padding:.5rem 1.5rem .5rem .5rem}.property-searchbar .form-select{background-position:right .5rem center}}.property-searchbar .input--locations{padding-right:5.5rem}.property-searchbar .select--miles{position:absolute;bottom:0rem;right:.5rem;width:5rem}@media screen and (min-width: 62em){.property-searchbar .select--miles{right:1.5rem}}.property-searchbar .select--miles label{display:none}.property-searchbar .select--miles select{background-color:transparent;border-color:transparent}@media screen and (min-width: 62em){.property-searchbar .property-searchbar__btn{align-items:flex-end}}.property-searchbar button{margin-top:1rem;margin-bottom:1rem}@media screen and (min-width: 62em){.property-searchbar button{margin:0;padding-left:3.5rem;padding-right:3.5rem}}.property-searchbar--hero .property-searchbar{--colour-muted: #9d9d9d;--colour-body: #595959;--colour-border: #D8D8D8;--colour-link: var(--colour-primary-theme);--colour-brand: var(--colour-primary-theme);--colour-underline: var(--colour-secondary);--colour-heading: var(--colour-primary);--colour-focus: var(--colour-primary-theme);--colour-hover: var(--colour-primary-theme);--colour-active: var(--colour-primary-theme);--colour-selected: var(--colour-info);--colour-inverted: #FCFCFC;--colour-btn: var(--colour-primary-theme);--colour-btn-bg: var(--colour-warning);--colour-btn-border: var(--colour-warning);--colour-btn-bg-hover: transparent;--colour-btn-hover: var(--colour-primary-theme);--colour-btn-secondary: var(--colour-primary-theme);--colour-btn-secondary-border: var(--colour-primary-theme);--colour-btn-secondary-bg: transparent;--colour-btn-secondary-bg-hover: var(--colour-primary-theme);--colour-btn-secondary-hover: var(--colour-inverted);--colour-canvas-2: var(--colour-canvas);--colour-btn-action-hover-bg: var(--colour-light);padding:1rem;background-color:#fff;width:100%;border-radius:.625rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.24);box-shadow:0 2px 4px #0000003d;position:relative}.property-searchbar--hero .property-searchbar .text-primary{color:var(--colour-primary)!important}@media screen and (min-width: 62em){.property-searchbar--hero .property-searchbar{border-radius:3rem;padding:1.5rem 2.5rem}.property-searchbar--hero .property-searchbar .form-label,.property-searchbar--hero .property-searchbar label{margin-bottom:0}.property-searchbar--hero .property-searchbar .form-control,.property-searchbar--hero .property-searchbar .form-select{margin-left:-.5rem;border:none;padding-top:.25rem;padding-bottom:.25rem}.property-searchbar--hero .property-searchbar .form-select{background-position:right 0rem center;padding-right:1rem}.property-searchbar--hero .property-searchbar .property-searchbar__btn{align-items:center}}.stepper{background:#f0f0f0;display:flex;flex-wrap:wrap;margin-bottom:2rem;border:1px solid var(--colour-canvas);overflow:hidden}@media screen and (min-width: 62em){.stepper{flex-wrap:nowrap;overflow-x:auto}}.stepper ol{margin:0;z-index:1;background:var(--colour-canvas);counter-reset:section;width:100%;overflow:auto}@media screen and (min-width: 36em){.stepper ol{display:flex;flex-grow:1;padding-right:calc(2rem + 1px);margin-top:-1px;margin-bottom:-1px;margin-right:calc(-2rem - 2px);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width: 62em){.stepper ol{overflow:initial}}.stepper ol li{width:100%;max-width:100%;background:var(--colour-canvas);padding:1px}@media screen and (min-width: 36em){.stepper ol li:first-child a{padding-left:1rem;clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width: 62em){.stepper ol li:first-child a{padding-left:2rem}}.stepper ol li a{display:block;padding:1rem;text-decoration:none;background:var(--colour-muted);line-height:1;position:relative;color:var(--colour-primary)}@media screen and (min-width: 36em){.stepper ol li a{margin-right:-2rem;padding:2rem 3rem;clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%,2rem 50%);display:flex;height:100%;vertical-align:baseline;justify-content:center;align-items:center}}.stepper ol li a span{position:relative;display:inline;padding-left:2.25rem}.stepper ol li a span:before{counter-increment:section;content:counter(section);display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);margin-right:.5rem;font-size:.75em;border-radius:50%;border:2px solid currentColor;height:1.5rem;line-height:1.3rem;width:1.5rem;font-family:var(--font-heading);text-align:center}.stepper ol li a.bg-warning span:before,.stepper ol li a.bg-danger span:before{content:"!"}.stepper ol li a.bg-success span:before{content:"\2713";text-indent:-.1em}.stepper ol li a.current{background:var(--colour-primary);color:#fff;pointer-events:none}.stepper ol li a:not([href]){pointer-events:none}.stepper ol li a[href]:hover{opacity:.6}.stepper ol li a[href]:active{opacity:.8}.stepper>span{width:100%;display:flex;padding:1rem;flex-shrink:0;margin:0;position:relative;z-index:0;align-items:center}.stepper>span.stepper__end{display:none}@media screen and (min-width: 62em){.stepper>span{width:max-content;padding:2rem}.stepper>span.stepper__end{padding-left:3.5rem;display:flex}}.snapshot>.row{padding-bottom:1rem}.snapshot>.row>.col{margin-bottom:1rem;min-width:9.375rem;position:relative}@media screen and (min-width: 36em){.snapshot>.row>.col:nth-child(8)~.col{max-width:25%}}@media screen and (min-width: 62em){.snapshot>.row>.col:nth-child(8)~.col{max-width:12.5%}}.snapshot__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:1rem}.snapshot__item:not([class*=bg-]){border:1px solid var(--colour-border)}.snapshot a{position:absolute;top:0;left:0;height:100%;width:100%;opacity:0;z-index:1}.snapshot a:hover+.snapshot__item{opacity:.8}.snapshot__title{padding-bottom:1rem}.snapshot__title:after{content:":"}.snapshot .stat{text-decoration:none;margin-bottom:0}.tabs:not(.admin-panel){position:relative}.tabs__links{margin-bottom:1.5rem;overflow:visible;padding-bottom:2px;position:relative;display:block}.tabs__links:after{content:"";left:50%;position:relative;height:3px;width:100vw;border-bottom:1px solid var(--colour-border);transform:translate(-50%);display:block;clear:both}.tabs__links .link:not(.text-decoration-none):not(.btn){--is-current: 0;font-weight:700;font-family:var(--font-heading);font-size:1.125rem;cursor:pointer;margin:.5rem 1.5rem 0 0;padding:0;display:inline-block}.tabs__links .link:not(.text-decoration-none):not(.btn):last-child{margin-inline-end:0}.tabs__links .link:not(.text-decoration-none):not(.btn):after{position:absolute;content:"";top:100%;left:50%;height:2px;transform:translate(-50%);background:var(--colour-info);transition:width .5s;width:0%}.tabs__links .link:not(.text-decoration-none):not(.btn):hover:after,.tabs__links .link:not(.text-decoration-none):not(.btn):focus:after,.tabs__links .link:not(.text-decoration-none):not(.btn).focus:after{width:60%}.tabs__links .link:not(.text-decoration-none):not(.btn)[aria-pressed=true]:after,.tabs__links .link:not(.text-decoration-none):not(.btn):active:after,.tabs__links .link:not(.text-decoration-none):not(.btn).active:after{width:100%}.tabs__links .link:not(.text-decoration-none):not(.btn)[aria-pressed=true],.tabs__links .link:not(.text-decoration-none):not(.btn).active{pointer-events:none;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary-theme)!important}
1
+ @charset "UTF-8";.carousel{padding-bottom:3rem}.carousel .carousel__wrapper{position:relative}.carousel .carousel__inner{--gutter-x: 1rem;overflow:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--gutter-x) * -.5);margin-left:calc(var(--gutter-x) * -.5)}.carousel .carousel__inner>.row{flex-wrap:nowrap;margin:0}.carousel .carousel__inner>.row>.col{padding-top:2.25rem;padding-bottom:1.5rem;scroll-snap-align:start;scroll-padding:calc(var(--gutter-x) * -1)}.carousel .carousel__item>*:last-child{margin-bottom:0;padding-bottom:0}body.js-enabled .carousel__inner{scrollbar-width:none;-ms-overflow-style:none}body.js-enabled .carousel__inner::-webkit-scrollbar{display:none}.btn-next,.btn-prev{--marker-bg: var(--colour-secondary);text-indent:100%;white-space:nowrap;background:var(--marker-bg);border-radius:100%;width:2.25rem;height:2.25rem;text-indent:-300rem;overflow:hidden;border:none;position:relative;margin:0 .5rem;padding:0}@media screen and (min-width: 62em){.btn-next,.btn-prev{width:3rem;height:3rem}}.btn-next:disabled,.btn-prev:disabled{opacity:.8;pointer-events:none}.btn-next:after,.btn-prev:after{content:"";position:absolute;right:0;top:0;height:100%;width:100%;background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 60%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:55% 50%;transform:rotate(0)}.btn-next:hover,.btn-next:focus,.btn-prev:hover,.btn-prev:focus{background:var(--colour-warning);color:var(--colour-hover);border-radius:100%}.btn-next:active,.btn-prev:active{border-radius:100%}.btn-prev:after{transform:rotate(180deg)}.carousel:not(.hide-controls){padding-bottom:4.5rem!important}.carousel.hide-controls .carousel__controls{display:none}.carousel .carousel__controls{position:absolute;text-align:center;width:auto;left:0;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;bottom:-3rem}.carousel .carousel__controls a{width:1rem;height:1rem;min-height:1rem;border-radius:50%;text-indent:-50rem;overflow:hidden;background:currentColor;padding:0;margin:0 .5rem .5rem}.carousel .carousel__controls a:before{display:none}.carousel .carousel__controls a:first-child:last-child{display:none}.carousel .carousel__controls>a:nth-child(10)~a{display:none}.carousel.hide-btns .carousel__wrapper>.btn{display:none}.carousel:not(.hide-btns) .carousel__inner{margin-left:1.75rem;margin-right:1.75rem}.carousel .carousel__wrapper>.btn{position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%)}.carousel .carousel__wrapper>.btn.btn-next{left:auto;right:-1.25rem}@media screen and (min-width: 62em){.carousel .carousel__wrapper>.btn{margin-left:-1rem;margin-right:-1rem}}.carousel .carousel__inner>.row>.col:first-child{margin-left:0!important}@media screen and (min-width: 36em){.carousel .carousel__controls>a:nth-child(10)~a{display:inline-block}.carousel .carousel__inner>.row[class*=row-cols-sm-]>.col{scroll-snap-align:unset}.carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){margin-left:4rem}.carousel .carousel__controls.cols-sm-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-sm-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-sm-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-sm-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-sm-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-sm-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-sm-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-sm-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-sm-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-sm-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-sm-btns .carousel__wrapper>.btn{display:none}.carousel.hide-sm-btns .carousel__inner{margin-left:0;margin-right:0}}@media screen and (min-width: 62em){.carousel .carousel__inner>.row[class*=row-cols-md-]>.col{scroll-snap-align:unset;margin-left:0}.carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){margin-left:50vw}.carousel .carousel__controls.cols-md-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-md-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-md-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-md-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-md-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-md-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-md-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-md-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-md-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-md-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-md-btns .carousel__wrapper>.btn{display:none}.carousel.hide-md-btns .carousel__inner{margin-left:0;margin-right:0}}.testimonial{--testimonial-padding: 1rem;--testimonial-spacing: 1rem}@media screen and (min-width: 62em){.testimonial{--testimonial-padding: 4rem;--testimonial-spacing: 2rem}}.testimonial>div:first-child{position:relative;overflow:hidden}.testimonial .circle{color:currentColor;position:absolute;top:-18rem;right:-8rem;font-size:28rem;border-width:4px}.testimonial__images{overflow:auto;scroll-snap-type:x mandatory;display:flex;user-select:none;touch-action:pan-x;height:14.375rem}@media screen and (min-width: 36em){.testimonial__images{height:21.25rem}}@media screen and (min-width: 62em){.testimonial__images{min-height:100%;scroll-snap-type:y mandatory;flex-direction:column;touch-action:pan-y}}.testimonial__images img{scroll-snap-align:start;user-select:none;pointer-events:none;flex-shrink:0}.testimonial .testimonial__controls{display:none}.testimonial.testimonial--multi .testimonial__controls{display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}@media screen and (min-width: 62em){.testimonial.testimonial--multi .testimonial__controls{left:auto;bottom:auto;right:0;top:50%;transform:rotate(90deg) translateY(-120%);transform-origin:center}}.testimonial h2{padding:2rem var(--testimonial-padding) 0 var(--testimonial-padding)}@media screen and (min-width: 36em){.testimonial h2{padding-top:3rem}}@media screen and (min-width: 62em){.testimonial h2{padding-top:9rem}}.testimonial__content{--display-none: none;margin:0 var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding);position:relative}@media screen and (min-width: 62em){.testimonial__content{--display-none: block}.testimonial__content blockquote:not(.largest){position:absolute;top:0}}.testimonial[data-show="1"] blockquote:not(:nth-child(1)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="2"] blockquote:not(:nth-child(2)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="3"] blockquote:not(:nth-child(3)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="4"] blockquote:not(:nth-child(4)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="5"] blockquote:not(:nth-child(5)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="6"] blockquote:not(:nth-child(6)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="7"] blockquote:not(:nth-child(7)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="8"] blockquote:not(:nth-child(8)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="9"] blockquote:not(:nth-child(9)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial[data-show="10"] blockquote:not(:nth-child(10)){display:var(--display-none);opacity:0;user-select:none;pointer-events:none}.testimonial__after{padding:1rem var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding)}.testimonial__images::-webkit-scrollbar{display:none}.testimonial__images{-ms-overflow-style:none;scrollbar-width:none}.timeline{--breakpoint:(100% - 62rem);--pl: clamp(0rem, var(--breakpoint) * -1000, 4rem);--line-pos: clamp(1rem, var(--breakpoint) * 1000, 50%);--circle-pos: 1rem;--line-length: 100%;--img-order: 1;position:relative;padding-top:.25rem;padding-left:var(--pl);padding-bottom:1rem;width:100%;display:flex;justify-content:space-between;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.timeline__container:not(.timeline--simple) .timeline{align-items:center}@media screen and (min-width: 62em){.timeline__container:not(.timeline--simple) .timeline{--img-order: 0;--circle-pos: 50%;--line-length: 50%}}.timeline:before{content:" ";display:block;background:black;width:4px;height:100%;position:absolute;top:0;left:var(--line-pos)}.timeline:after{content:" ";display:block;background:white;width:2rem;height:2rem;margin-top:-1rem;position:absolute;top:var(--circle-pos);left:var(--line-pos);margin-left:calc(-1rem + 2px);border:4px solid black;border-radius:50%}.timeline>*{max-width:28.75rem;order:1}.timeline>img{max-width:min(100%,28.75rem);margin-bottom:2rem}.timeline:nth-child(even)>img{order:var(--img-order)}.timeline:first-child:before{top:var(--circle-pos);height:var(--line-length)}.timeline:last-child{padding-bottom:0;margin-bottom:2rem}.timeline:last-child:before{height:var(--line-length)}.timeline:last-child>img{margin-bottom:0}.property-searchbar fieldset{position:relative}@media screen and (min-width: 62em){.property-searchbar fieldset{position:relative;padding-right:1.5rem}.property-searchbar fieldset:after{content:"";position:absolute;top:0;right:.5rem;display:block;height:100%;width:1px;background-color:var(--colour-muted);opacity:.25}}.property-searchbar .form-control__wrapper{margin-bottom:1rem}@media screen and (min-width: 62em){.property-searchbar .form-control__wrapper{margin-bottom:0}}.property-searchbar .form-label,.property-searchbar label{font-size:.875rem;text-transform:uppercase}@media screen and (min-width: 62em){.property-searchbar .row .row .form-label{display:none}.property-searchbar .form-control,.property-searchbar .form-select{padding:.5rem 1.5rem .5rem .5rem}.property-searchbar .form-select{background-position:right .5rem center}}.property-searchbar .input--locations{padding-right:5.5rem}.property-searchbar .select--miles{position:absolute;bottom:0rem;right:.5rem;width:5rem}@media screen and (min-width: 62em){.property-searchbar .select--miles{right:1.5rem}}.property-searchbar .select--miles label{display:none}.property-searchbar .select--miles select{background-color:transparent;border-color:transparent}@media screen and (min-width: 62em){.property-searchbar .property-searchbar__btn{align-items:flex-end}}.property-searchbar button{margin-top:1rem;margin-bottom:1rem}@media screen and (min-width: 62em){.property-searchbar button{margin:0;padding-left:3.5rem;padding-right:3.5rem}}.property-searchbar--hero .property-searchbar{--colour-muted: #9d9d9d;--colour-body: #595959;--colour-border: #D8D8D8;--colour-link: var(--colour-primary-theme);--colour-brand: var(--colour-primary-theme);--colour-underline: var(--colour-secondary);--colour-heading: var(--colour-primary);--colour-focus: var(--colour-primary-theme);--colour-hover: var(--colour-primary-theme);--colour-active: var(--colour-primary-theme);--colour-selected: var(--colour-info);--colour-inverted: #FCFCFC;--colour-btn: var(--colour-primary-theme);--colour-btn-bg: var(--colour-warning);--colour-btn-border: var(--colour-warning);--colour-btn-bg-hover: transparent;--colour-btn-hover: var(--colour-primary-theme);--colour-btn-secondary: var(--colour-primary-theme);--colour-btn-secondary-border: var(--colour-primary-theme);--colour-btn-secondary-bg: transparent;--colour-btn-secondary-bg-hover: var(--colour-primary-theme);--colour-btn-secondary-hover: var(--colour-inverted);--colour-canvas-2: white;--colour-btn-action-hover-bg: var(--colour-light);padding:1rem;background-color:#fff;width:100%;border-radius:.625rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.24);box-shadow:0 2px 4px #0000003d;position:relative}.property-searchbar--hero .property-searchbar .text-primary{color:var(--colour-primary)!important}@media screen and (min-width: 62em){.property-searchbar--hero .property-searchbar{border-radius:3rem;padding:1.5rem 2.5rem}.property-searchbar--hero .property-searchbar .form-label,.property-searchbar--hero .property-searchbar label{margin-bottom:0}.property-searchbar--hero .property-searchbar .form-control,.property-searchbar--hero .property-searchbar .form-select{margin-left:-.5rem;border:none;padding-top:.25rem;padding-bottom:.25rem}.property-searchbar--hero .property-searchbar .form-select{background-position:right 0rem center;padding-right:1rem}.property-searchbar--hero .property-searchbar .property-searchbar__btn{align-items:center}}.stepper{background:#f0f0f0;display:flex;flex-wrap:wrap;margin-bottom:2rem;border:1px solid var(--colour-canvas);overflow:hidden}@media screen and (min-width: 62em){.stepper{flex-wrap:nowrap;overflow-x:auto}}.stepper ol{margin:0;z-index:1;background:var(--colour-canvas);counter-reset:section;width:100%;overflow:auto}@media screen and (min-width: 36em){.stepper ol{display:flex;flex-grow:1;padding-right:calc(2rem + 1px);margin-top:-1px;margin-bottom:-1px;margin-right:calc(-2rem - 2px);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width: 62em){.stepper ol{overflow:initial}}.stepper ol li{width:100%;max-width:100%;background:var(--colour-canvas);padding:1px}@media screen and (min-width: 36em){.stepper ol li:first-child a{padding-left:1rem;clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width: 62em){.stepper ol li:first-child a{padding-left:2rem}}.stepper ol li a{display:block;padding:1rem;text-decoration:none;background:var(--colour-muted);line-height:1;position:relative;color:var(--colour-primary)}@media screen and (min-width: 36em){.stepper ol li a{margin-right:-2rem;padding:2rem 3rem;clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%,2rem 50%);display:flex;height:100%;vertical-align:baseline;justify-content:center;align-items:center}}.stepper ol li a span{position:relative;display:inline;padding-left:2.25rem}.stepper ol li a span:before{counter-increment:section;content:counter(section);display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);margin-right:.5rem;font-size:.75em;border-radius:50%;border:2px solid currentColor;height:1.5rem;line-height:1.3rem;width:1.5rem;font-family:var(--font-heading);text-align:center}.stepper ol li a.bg-warning span:before,.stepper ol li a.bg-danger span:before{content:"!"}.stepper ol li a.bg-success span:before{content:"\2713";text-indent:-.1em}.stepper ol li a.current{background:var(--colour-primary);color:#fff;pointer-events:none}.stepper ol li a:not([href]){pointer-events:none}.stepper ol li a[href]:hover{opacity:.6}.stepper ol li a[href]:active{opacity:.8}.stepper>span{width:100%;display:flex;padding:1rem;flex-shrink:0;margin:0;position:relative;z-index:0;align-items:center}.stepper>span.stepper__end{display:none}@media screen and (min-width: 62em){.stepper>span{width:max-content;padding:2rem}.stepper>span.stepper__end{padding-left:3.5rem;display:flex}}.snapshot>.row{padding-bottom:1rem}.snapshot>.row>.col{margin-bottom:1rem;min-width:9.375rem;position:relative}@media screen and (min-width: 36em){.snapshot>.row>.col:nth-child(8)~.col{max-width:25%}}@media screen and (min-width: 62em){.snapshot>.row>.col:nth-child(8)~.col{max-width:12.5%}}.snapshot__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:1rem}.snapshot__item:not([class*=bg-]){border:1px solid var(--colour-border)}.snapshot a{position:absolute;top:0;left:0;height:100%;width:100%;opacity:0;z-index:1}.snapshot a:hover+.snapshot__item{opacity:.8}.snapshot__title{padding-bottom:1rem}.snapshot__title:after{content:":"}.snapshot .stat{text-decoration:none;margin-bottom:0}.tabs:not(.admin-panel){position:relative}.tabs:not(.admin-panel) .tabs__links__wrapper{position:relative;margin:0 auto 2rem}.tabs:not(.admin-panel) .tabs__links__wrapper:before{content:"";display:block;position:absolute;left:auto;right:-2.5rem;top:0;bottom:1px;width:2.5rem;background:linear-gradient(90deg,rgba(255,255,255,0),rgb(255,255,255));z-index:1000;pointer-events:none}.tabs:not(.admin-panel) .tabs__links__wrapper:after{content:"";left:50%;position:relative;height:1px;width:100vw;background-color:var(--colour-border);transform:translate(-50%);display:block;clear:both}@media screen and (prefers-color-scheme: dark){.tabs:not(.admin-panel) .tabs__links__wrapper:before{background:linear-gradient(90deg,rgba(38,38,38,0),rgb(38,38,38))}}.tabs.admin-panel .tabs__links__wrapper:after{display:none}.tabs__links{padding-bottom:3px;position:relative;display:flex;flex-wrap:nowrap;width:auto;margin:0 -1.5rem;overflow-y:hidden;overflow-x:auto}.tabs__links::-webkit-scrollbar{display:none}.tabs__links .link{white-space:nowrap}.tabs__links .link:not(.text-decoration-none):not(.btn){--is-current: 0;font-weight:700;font-family:var(--font-heading);font-size:1.125rem;cursor:pointer;margin:0;padding:1.5rem 1.5rem .5rem;display:inline-block}.tabs__links .link:not(.text-decoration-none):not(.btn).disabled{cursor:not-allowed;opacity:.4}.tabs__links .link:not(.text-decoration-none):not(.btn):last-child{margin-inline-end:0}.tabs__links .link:not(.text-decoration-none):not(.btn):after{position:absolute;content:"";bottom:0;left:50%;height:3px;width:100%;transform:translate(-50%) scale(0);background:var(--colour-info);transition:transform .4s}.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled):hover:after,.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled):focus:after,.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled).focus:after{transform:translate(-50%) scaleX(.6)}.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled)[aria-pressed=true]:after,.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled):active:after,.tabs__links .link:not(.text-decoration-none):not(.btn):not(.disabled).active:after{transform:translate(-50%) scale(1)}.tabs__links .link:not(.text-decoration-none):not(.btn)[aria-pressed=true],.tabs__links .link:not(.text-decoration-none):not(.btn).active{pointer-events:none;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary-theme)!important}@media (min-width: 576px){.tabs__links .link:not(.text-decoration-none):not(.btn){padding:2rem 2rem .5rem}.tabs__links__wrapper{margin:0 auto 2.5rem}}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "iamproperty"
6
6
  },
7
7
  "private": false,
8
- "version": "4.1.0-beta-2",
8
+ "version": "4.1.0",
9
9
  "scripts": {
10
10
  "bootstrap": "copyfiles -u 2 node_modules/bootstrap/**/* assets/bootstrap",
11
11
  "dev": "npm run copy && node local_modules/delete-assets.js && vite --host",
@@ -40,7 +40,8 @@
40
40
  "deploy:404": "node local_modules/create404.js"
41
41
  },
42
42
  "dependencies": {
43
- "bootstrap": "^5.2.0"
43
+ "bootstrap": "^5.2.0",
44
+ "js-cookie": "^3.0.5"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@babel/cli": "^7.21.0",
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <iam-address-lookup>
3
+ <slot></slot>
4
+ </iam-address-lookup>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'Address Lookup',
10
+ mounted(){
11
+
12
+ console.log(process.env.NODE_ENV);
13
+
14
+ this.$nextTick(function () {
15
+
16
+ import(`../../../assets/js/components/address-lookup/address-lookup.component${import.meta.env.DEV ? '.min' : ''}.js`).then(module => {
17
+
18
+ if (!window.customElements.get(`iam-address-lookup`))
19
+ window.customElements.define(`iam-address-lookup`, module.default);
20
+
21
+ }).catch((err) => {
22
+ console.log(err.message);
23
+ });
24
+ })
25
+ }
26
+ }
27
+ </script>
@@ -9,3 +9,14 @@
9
9
  | data-total | int | 0 | The total amount is needed to work out how many pagination buttons are needed |
10
10
  | data-page | int | 1 | Override the current page value |
11
11
  | data-show | int | 15 | Update how many items can be shown per page |
12
+ | data-page-minimal | flag | - | Will display the minimal variant even on mobile |
13
+ | data-page-jump | flag | - | Adds the page jump dropdown on all viewports |
14
+ | data-per-page | flag | - | Adds the per page dropdown on tablet and desktop viewports (is hidden on tablet if not enough room availble) |
15
+ | data-item-count | flag | - | Will add the total count on tablet and desktop viewports |
16
+
17
+ **Dispatched events**
18
+
19
+ | Event | Dispatched when | Details passed|
20
+ | ------ | ------------- | ----------- |
21
+ | update-show | When a user clicks mobile 'Load more' button | { show: $showAmont } |
22
+ | update-page | When a user changes the page jump select or clicks on the 'Prev' and 'Next' buttons | { page: $pageNumber } |
@@ -10,15 +10,16 @@
10
10
  | fields | Array | - | Table header titles |
11
11
  | data-show | int | 15 | Update how many rows can be shown per page |
12
12
  | data-filterby | string (form ID) | | Give an optional form ID to connect a form to the table and make it act like a filtering system |
13
+ | data-no-scroll | flag | - | Stops the page from scrolling up to the top of the table |
14
+ | data-expandable | flag | - | Adds expandable buttons to rows with will allow for larger paragraphs to be shown correctly |
13
15
 
16
+ *Pagination properties can also be added to the table component so that they can be passed down to the child pagination element.*
14
17
 
15
18
  **Class modifiers**
16
19
 
17
- - Adding a class of **.table--cta** to the table component will fix the last column of the table in place (While on tablet or desktop).
18
- - Adding a class of **.table--export** to the table component will create a button at the bottom of the table to export its contents out as a CSV file.
20
+ - Adding a class of **.table--cta** to the table component will fix the last column of the table in place (While on tablet or desktop).
19
21
  - Adding a class of **.table--fullwidth** to the table component will prevent it from becoming a stacked view on mobile.
20
22
  - Adding a class of **.table--mh-small**,**.table--mh-medium** or **.table--mh-large** to the table component will give the table container a max height and the ability to scroll.
21
-
22
23
  **Example of items and fields**
23
24
 
24
25
  **fields**
@@ -18,6 +18,7 @@
18
18
 
19
19
  <script>
20
20
  import iamTable from '../../../assets/js/components/table/table.component.min.js'
21
+ import iamPagination from '../../../assets/js/components/pagination/pagination.component.min.js'
21
22
  import { ucfirst, unsnake } from '../../helpers/strings'
22
23
 
23
24
  export default {
@@ -45,6 +46,9 @@ export default {
45
46
 
46
47
  if (!window.customElements.get('iam-table'))
47
48
  window.customElements.define('iam-table', iamTable);
49
+
50
+ if (!window.customElements.get('iam-pagination'))
51
+ window.customElements.define('iam-pagination', iamPagination);
48
52
  })
49
53
  },
50
54
  updated(){
@@ -1,23 +1,26 @@
1
1
  ```
2
2
  <Tabs class="visualtest">
3
- <Tab title="Tab content 1">
4
- <h2>Tab content 1</h2>
3
+ <Tab title="Tab one">
4
+ <p>Content one... Any element after summary is within content. First tab is active by default.</p>
5
5
  </Tab>
6
- <Tab title="Tab content 2">
7
- <h2>Tab content 2</h2>
8
- </Tab>
9
- <Tab title="Tab content 3">
10
- <h2>Tab content 3</h2>
6
+ <Tab title="Tab two">
7
+ <p>Content two...</p>
11
8
  </Tab>
12
9
  </Tabs>
13
10
  ```
14
11
 
12
+ <details>
13
+ <summary>Tab two</summary>
14
+ <p>Lorem ipsum</p>
15
+ </details>
16
+
15
17
  ### Tab Properties
16
18
 
17
19
  | Option | Type | Default Value | Description |
18
20
  | ------ | ---- | ------------- | ----------- |
19
21
  | title | String | - | Used for the heading of the component |
20
22
  | lazy | Boolean | - | If set the content of the tab will not loaded intially and will be loaded after the user has clicked on the tab link. |
23
+ | disabled | Boolean | - | Used to apply disabled state for a tab (tab content will not be reachable) |
21
24
 
22
25
  ### Slots
23
26
 
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <details class="tab">
3
- <summary v-html="title"></summary>
3
+ <summary v-html="title" :class="{ disabled: isDisabled }"></summary>
4
4
  <slot></slot>
5
5
  </details>
6
6
  </template>
@@ -16,17 +16,16 @@ export default {
16
16
  lazy: {
17
17
  type: Boolean,
18
18
  required: false
19
+ },
20
+ disabled: {
21
+ type: Boolean,
22
+ required: false
19
23
  }
20
24
  },
21
25
  data() {
22
26
  return {
23
- show: this.lazy ? false : true
24
- }
25
- },
26
- watch: {
27
-
28
- show(newVal, oldVal) {
29
- console.log(newVal)
27
+ show: this.lazy ? false : true,
28
+ isDisabled: this.disabled ? true : false
30
29
  }
31
30
  }
32
31
  }
@@ -14,7 +14,6 @@ import iamTabs from '../../../assets/js/components/tabs/tabs.component.min.js'
14
14
  if (!window.customElements.get('iam-tabs'))
15
15
  window.customElements.define('iam-tabs', iamTabs);
16
16
 
17
-
18
17
  export default {
19
18
  name: 'Tabs'
20
19
  }
package/src/index.js CHANGED
@@ -30,6 +30,7 @@ export { default as Notification } from './components/Notification/Notification.
30
30
 
31
31
  export { default as Actionbar } from './components/Actionbar/Actionbar.vue'
32
32
  export { default as Pagination } from './components/Pagination/Pagination.vue'
33
+ export { default as AddressLookup } from './components/AddressLookup/AddressLookup.vue'
33
34
 
34
35
 
35
36
  export { default as CollapsibleSideMenu } from './components/CollapsibleSideMenu/CollapsibleSideMenu.vue'
@@ -1,15 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import createPaginationButttons from "../modules/pagination.js";
4
- describe('createPaginationButttons', () => {
5
- const pagination = document.createElement('div');
6
- pagination.setAttribute('data-page', 2);
7
- pagination.setAttribute('data-pages', 5);
8
- pagination.setAttribute('data-show', 15);
9
- pagination.setAttribute('data-total', 150);
10
- pagination.setAttribute('data-increment', 15);
11
- createPaginationButttons(pagination, pagination);
12
- test('should populate the pagination with links to each page', () => {
13
- expect(pagination.querySelectorAll('a.page-link').length).toEqual(6);
14
- });
15
- });
@@ -1,21 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom'
3
- import createPaginationButttons from "../modules/pagination";
4
-
5
- describe('createPaginationButttons', () => {
6
-
7
- const pagination = document.createElement('div');
8
-
9
- pagination.setAttribute('data-page',2);
10
- pagination.setAttribute('data-pages',5);
11
- pagination.setAttribute('data-show',15);
12
- pagination.setAttribute('data-total',150);
13
- pagination.setAttribute('data-increment',15);
14
-
15
- createPaginationButttons(pagination, pagination);
16
-
17
- test('should populate the pagination with links to each page', () => {
18
-
19
- expect(pagination.querySelectorAll('a.page-link').length).toEqual(6);
20
- });
21
- });