@phatvu/web-component-poc 1.0.3 → 1.0.4

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 (31) hide show
  1. package/dist/cjs/{fast-button_3.cjs.entry.js → fast-button_4.cjs.entry.js} +68 -45
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/web-component-poc.cjs.js +1 -1
  4. package/dist/collection/collection-manifest.json +2 -1
  5. package/dist/collection/components/{jobs-list-only-ui/jobs-list-only-ui.css → jobs-item/jobs-item.css} +1 -75
  6. package/dist/collection/components/jobs-item/jobs-item.js +253 -0
  7. package/dist/collection/components/jobs-list-only/jobs-list-only.css +75 -0
  8. package/dist/collection/components/{jobs-list-only-ui/jobs-list-only-ui.js → jobs-list-only/jobs-list-only.js} +7 -45
  9. package/dist/components/{jobs-list-only-ui.d.ts → jobs-item.d.ts} +4 -4
  10. package/dist/components/jobs-item.js +1 -0
  11. package/dist/components/jobs-list-only.d.ts +11 -0
  12. package/dist/components/jobs-list-only.js +1 -0
  13. package/dist/components/p-ClQDwJJB.js +1 -0
  14. package/dist/esm/{fast-button_3.entry.js → fast-button_4.entry.js} +67 -45
  15. package/dist/esm/loader.js +1 -1
  16. package/dist/esm/web-component-poc.js +1 -1
  17. package/dist/types/components/jobs-item/jobs-item.d.ts +14 -0
  18. package/dist/types/components/{jobs-list-only-ui/jobs-list-only-ui.d.ts → jobs-list-only/jobs-list-only.d.ts} +1 -2
  19. package/dist/types/components.d.ts +99 -10
  20. package/dist/types/types/jobs-list.d.ts +2 -2
  21. package/dist/web-component-poc/index-pJKMKO-T.js.map +1 -0
  22. package/dist/web-component-poc/index.esm.js.map +1 -0
  23. package/dist/web-component-poc/p-df843533.entry.js +1 -0
  24. package/dist/web-component-poc/web-component-poc.esm.js +1 -1
  25. package/dist/web-component-poc/web-component-poc.esm.js.map +1 -0
  26. package/hydrate/index.js +87 -46
  27. package/hydrate/index.mjs +87 -46
  28. package/package.json +9 -1
  29. package/readme.md +11 -0
  30. package/dist/components/jobs-list-only-ui.js +0 -1
  31. package/dist/web-component-poc/p-3d68d559.entry.js +0 -1
@@ -1947,6 +1947,66 @@ const AppCarousel = class {
1947
1947
  };
1948
1948
  AppCarousel.style = carouselCss();
1949
1949
 
1950
+ const jobsItemCss = () => `.results-list__item{list-style:none;padding:10px 0;border-bottom:1px solid #ddd;margin:15px 0;display:inline-block;width:100%;position:relative}.results-list__item:last-child{border-bottom:none}.results-list__item-header{margin:10px 0;font-size:18px;font-weight:700;display:flex;flex-direction:column}.results-list__item-title{margin:0}.results-list__item-title--link{text-decoration:none;color:#1f9755}.results-list__item-title--link:hover{text-decoration:underline}.reference{margin-left:8px;font-size:0.9em;color:#666}.reference.empty{display:none}.remote{background:#f3f3f3;color:#808285;border-radius:100px;padding:6px 16px;text-transform:uppercase;font-size:12px;font-weight:700;line-height:24px;margin-left:8px}.remote--empty{display:none}.results-list__item-distance{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:14px;font-weight:400}.results-list__item-distance--icon{display:inline-flex}.results-list__item-distance--icon svg{width:16px;height:16px}.results-list__item-content{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:8px}.results-list__item-info{flex:1}.results-list__item-street,.results-list__item-brand,.results-list__item-employment-type{margin:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.results-list__item-street--empty,.results-list__item-brand--empty,.results-list__item-employment-type--empty{color:#999}.results-list__item-street--icon,.results-list__item-brand--icon,.results-list__item-employment-type--icon{margin-right:6px;display:inline-flex}.results-list__item-street--icon svg,.results-list__item-brand--icon svg,.results-list__item-employment-type--icon svg{width:16px;height:16px}.results-list__item-street--more-locations__wrapper{margin-left:8px}.results-list__item-street--amount{font-weight:600}.results-list__item-apply{margin:10px 0;padding:10px 20px;display:inline-flex;align-items:center;gap:8px;background-color:#198754;color:#fff;border-radius:3px;text-decoration:none;font-weight:600;flex-shrink:0}.results-list__item-apply:hover{background-color:#1f9755;color:#fff}.results-list__item-apply--icon svg{width:14px;height:14px}`;
1951
+
1952
+ function getLocationLabel(loc) {
1953
+ if (loc.cityStateAbbr)
1954
+ return loc.cityStateAbbr;
1955
+ const parts = [loc.streetAddress, loc.city, loc.stateAbbr || loc.state, loc.countryAbbr || loc.country].filter(Boolean);
1956
+ return parts.join(', ') || loc.locationText || '';
1957
+ }
1958
+ function getFirstLocation(job) {
1959
+ const locs = job.locations;
1960
+ if (!locs?.length)
1961
+ return undefined;
1962
+ return locs[0];
1963
+ }
1964
+ const JobsItem = class {
1965
+ constructor(hostRef) {
1966
+ index.registerInstance(this, hostRef);
1967
+ }
1968
+ job;
1969
+ index = 0;
1970
+ applyButtonText = 'Apply Now';
1971
+ showBrand = true;
1972
+ showReference = false;
1973
+ showEmploymentType = true;
1974
+ multiLocationText = 'More locations';
1975
+ remoteLocationText = 'Remote';
1976
+ enableKilometers = false;
1977
+ formatDistance(distance) {
1978
+ const value = this.enableKilometers ? distance * 1.60934 : distance;
1979
+ const unit = this.enableKilometers ? 'Km' : 'Miles';
1980
+ const str = `${value.toFixed(1)} ${unit}`.replace('.0', '');
1981
+ return str;
1982
+ }
1983
+ render() {
1984
+ if (!this.job)
1985
+ return null;
1986
+ const firstLoc = getFirstLocation(this.job);
1987
+ const locationLabel = firstLoc ? getLocationLabel(firstLoc) : '';
1988
+ const distance = firstLoc?.distance ?? 0;
1989
+ const distanceLabel = distance > 0 ? this.formatDistance(distance) : '';
1990
+ const applyHref = this.job.applyURL ||
1991
+ (this.job.originalURL ? `${typeof window !== 'undefined' ? window.location.origin : ''}${this.job.originalURL}` : '#');
1992
+ const applyLabel = `${this.applyButtonText}, ${this.job.title || ''}`;
1993
+ const locs = this.job.locations ?? [];
1994
+ const hasMultipleLocations = locs.length > 1;
1995
+ return (index.h("li", { class: "results-list__item" }, index.h("div", { class: "results-list__item-header" }, index.h("h3", { class: "results-list__item-title" }, index.h("a", { class: "results-list__item-title--link", href: applyHref, target: "_blank", rel: "noopener noreferrer" }, this.job.title || ''), this.showReference && (index.h("span", { class: `reference ${this.job.reference ? '' : 'empty'}` }, this.job.reference || '')), this.job.isRemote && (index.h("span", { class: this.remoteLocationText ? 'remote' : 'remote remote--empty' }, this.remoteLocationText))), distanceLabel && (index.h("div", { class: "results-list__item-distance" }, index.h("span", { class: "results-list__item-distance--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z" }), index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 8v4l2 2" }))), index.h("span", { class: "results-list__item-distance--label" }, distanceLabel)))), index.h("div", { class: "results-list__item-content" }, index.h("div", { class: "results-list__item-info" }, index.h("div", { class: locs.length
1996
+ ? 'results-list__item-street'
1997
+ : 'results-list__item-street results-list__item-street--empty' }, index.h("div", { class: "results-list__item-street--label__wrapper" }, index.h("span", { class: "results-list__item-street--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" }), index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0z" }))), index.h("span", { class: "results-list__item-street--label" }, locationLabel || '—')), hasMultipleLocations && (index.h("div", { class: "results-list__item-street--more-locations__wrapper" }, index.h("span", { class: "results-list__item-street--amount" }, "+", locs.length - 1), index.h("span", { class: "results-list__item-street--more-locations" }, this.multiLocationText)))), this.showBrand && (index.h("div", { class: this.job.brandName
1998
+ ? 'results-list__item-brand'
1999
+ : 'results-list__item-brand results-list__item-brand--empty' }, index.h("span", { class: "results-list__item-brand--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z" }))), index.h("span", { class: "results-list__item-brand--label" }, this.job.brandName || '—'))), this.showEmploymentType && (index.h("div", { class: this.job.employmentType?.length
2000
+ ? 'results-list__item-employment-type'
2001
+ : 'results-list__item-employment-type results-list__item-employment-type--empty' }, index.h("span", { class: "results-list__item-employment-type--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0z" }))), (this.job.employmentType?.length ? this.job.employmentType : ['—']).map((type) => (index.h("span", { key: type, class: "results-list__item-employment-type--label" }, type))))), (this.job.jobCardExtraFields ?? []).map((field, i) => (index.h("div", { key: i, class: (Array.isArray(field.value) ? field.value.length : field.value)
2002
+ ? field.classname
2003
+ : `${field.classname}--empty` }, Array.isArray(field.value)
2004
+ ? field.value.map((v, j) => (index.h("span", { key: j, class: `${field.classname}--label` }, v)))
2005
+ : (index.h("span", { class: `${field.classname}--label` }, String(field.value))))))), index.h("a", { class: "results-list__item-apply", href: applyHref, target: "_blank", rel: "noopener noreferrer", "aria-label": applyLabel }, index.h("span", { class: "results-list__item-apply--label" }, this.applyButtonText), index.h("span", { class: "results-list__item-apply--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13 7l5 5m0 0l-5 5m5-5H6" })))))));
2006
+ }
2007
+ };
2008
+ JobsItem.style = jobsItemCss();
2009
+
1950
2010
  /**
1951
2011
  * Mock jobs for local development and docs.
1952
2012
  * Use in www or static HTML: jobs='...' (JSON.stringify(mockJobs)).
@@ -2005,23 +2065,11 @@ const mockJobsListOnly = [
2005
2065
  },
2006
2066
  ];
2007
2067
 
2008
- const jobsListOnlyUiCss = () => `:host{display:block}.jobs-list-root{list-style:none}.results-container{position:relative}.loader{display:inline-block;width:24px;height:24px;border:2px solid #ddd;border-top-color:#1f9755;border-radius:50%;animation:jobs-list-spin 0.8s linear infinite}.loader.hide{display:none}@keyframes jobs-list-spin{to{transform:rotate(360deg)}}.card{border:0}.results-list{list-style:none;margin:0;padding:0;display:block}.results-list.front{margin:3px 0}.results-list__item{list-style:none;padding:10px 0;border-bottom:1px solid #ddd;margin:15px 0;display:inline-block;width:100%;position:relative}.results-list__item:last-child{border-bottom:none}.results-list__item-header{margin:10px 0;font-size:18px;font-weight:700;display:flex;flex-direction:column}.results-list__item-title{margin:0}.results-list__item-title--link{text-decoration:none;color:#1f9755}.results-list__item-title--link:hover{text-decoration:underline}.reference{margin-left:8px;font-size:0.9em;color:#666}.reference.empty{display:none}.remote{background:#f3f3f3;color:#808285;border-radius:100px;padding:6px 16px;text-transform:uppercase;font-size:12px;font-weight:700;line-height:24px;margin-left:8px}.remote--empty{display:none}.results-list__item-distance{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:14px;font-weight:400}.results-list__item-distance--icon{display:inline-flex}.results-list__item-distance--icon svg{width:16px;height:16px}.results-list__item-content{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:8px}.results-list__item-info{flex:1}.results-list__item-street,.results-list__item-brand,.results-list__item-employment-type{margin:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.results-list__item-street--empty,.results-list__item-brand--empty,.results-list__item-employment-type--empty{color:#999}.results-list__item-street--icon,.results-list__item-brand--icon,.results-list__item-employment-type--icon{margin-right:6px;display:inline-flex}.results-list__item-street--icon svg,.results-list__item-brand--icon svg,.results-list__item-employment-type--icon svg{width:16px;height:16px}.results-list__item-street--more-locations__wrapper{margin-left:8px}.results-list__item-street--amount{font-weight:600}.results-list__item-apply{margin:10px 0;padding:10px 20px;display:inline-flex;align-items:center;gap:8px;background-color:#198754;color:#fff;border-radius:3px;text-decoration:none;font-weight:600;flex-shrink:0}.results-list__item-apply:hover{background-color:#1f9755;color:#fff}.results-list__item-apply--icon svg{width:14px;height:14px}.share-jobs__no-results{padding:24px;text-align:center}.share-jobs__no-results h2,.share-jobs__no-results h3{margin:8px 0;font-weight:600}.card.primary-color{padding:16px;border-radius:4px;background:#f8f9fa}.result-suggestions-title{margin:0 0 12px 0;font-size:16px}.results-list .result-suggestions-line{list-style:none;margin:4px 0}`;
2068
+ const jobsListOnlyCss = () => `:host{display:block}.jobs-list-root{list-style:none}.results-container{position:relative}.loader{display:inline-block;width:24px;height:24px;border:2px solid #ddd;border-top-color:#1f9755;border-radius:50%;animation:jobs-list-spin 0.8s linear infinite}.loader.hide{display:none}@keyframes jobs-list-spin{to{transform:rotate(360deg)}}.card{border:0}.results-list{list-style:none;margin:0;padding:0;display:block}.results-list.front{margin:3px 0}.share-jobs__no-results{padding:24px;text-align:center}.share-jobs__no-results h2,.share-jobs__no-results h3{margin:8px 0;font-weight:600}.card.primary-color{padding:16px;border-radius:4px;background:#f8f9fa}.result-suggestions-title{margin:0 0 12px 0;font-size:16px}.results-list .result-suggestions-line{list-style:none;margin:4px 0}`;
2009
2069
 
2010
2070
  const defaultNoResultsLine1 = "Sorry, we're not able to load results for your search.";
2011
2071
  const defaultNoResultsLine2 = 'Please refine your keywords in the search bar above and try again.';
2012
- function getLocationLabel(loc) {
2013
- if (loc.cityStateAbbr)
2014
- return loc.cityStateAbbr;
2015
- const parts = [loc.streetAddress, loc.city, loc.stateAbbr || loc.state, loc.countryAbbr || loc.country].filter(Boolean);
2016
- return parts.join(', ') || loc.locationText || '';
2017
- }
2018
- function getFirstLocation(job) {
2019
- const locs = job.locations;
2020
- if (!locs?.length)
2021
- return undefined;
2022
- return locs[0];
2023
- }
2024
- const JobsListOnlyUI = class {
2072
+ const JobsListOnly = class {
2025
2073
  constructor(hostRef) {
2026
2074
  index.registerInstance(this, hostRef);
2027
2075
  }
@@ -2071,34 +2119,8 @@ const JobsListOnlyUI = class {
2071
2119
  }
2072
2120
  return [];
2073
2121
  }
2074
- formatDistance(distance) {
2075
- const value = this.enableKilometers ? distance * 1.60934 : distance;
2076
- const unit = this.enableKilometers ? 'Km' : 'Miles';
2077
- const str = `${value.toFixed(1)} ${unit}`.replace('.0', '');
2078
- return str;
2079
- }
2080
- renderJobItem(job, _index) {
2081
- const firstLoc = getFirstLocation(job);
2082
- const locationLabel = firstLoc ? getLocationLabel(firstLoc) : '';
2083
- const distance = firstLoc?.distance ?? 0;
2084
- const distanceLabel = distance > 0 ? this.formatDistance(distance) : '';
2085
- const applyHref = job.applyURL || (job.originalURL ? `${typeof window !== 'undefined' ? window.location.origin : ''}${job.originalURL}` : '#');
2086
- const applyLabel = `${this.applyButtonText}, ${job.title || ''}`;
2087
- const locs = job.locations ?? [];
2088
- const hasMultipleLocations = locs.length > 1;
2089
- return (index.h("li", { class: "results-list__item" }, index.h("div", { class: "results-list__item-header" }, index.h("h3", { class: "results-list__item-title" }, index.h("a", { class: "results-list__item-title--link", href: applyHref, target: "_blank", rel: "noopener noreferrer" }, job.title || ''), this.showReference && (index.h("span", { class: `reference ${job.reference ? '' : 'empty'}` }, job.reference || '')), job.isRemote && (index.h("span", { class: this.remoteLocationText ? 'remote' : 'remote remote--empty' }, this.remoteLocationText))), distanceLabel && (index.h("div", { class: "results-list__item-distance" }, index.h("span", { class: "results-list__item-distance--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z" }), index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 8v4l2 2" }))), index.h("span", { class: "results-list__item-distance--label" }, distanceLabel)))), index.h("div", { class: "results-list__item-content" }, index.h("div", { class: "results-list__item-info" }, index.h("div", { class: locs.length
2090
- ? 'results-list__item-street'
2091
- : 'results-list__item-street results-list__item-street--empty' }, index.h("div", { class: "results-list__item-street--label__wrapper" }, index.h("span", { class: "results-list__item-street--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" }), index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0z" }))), index.h("span", { class: "results-list__item-street--label" }, locationLabel || '—')), hasMultipleLocations && (index.h("div", { class: "results-list__item-street--more-locations__wrapper" }, index.h("span", { class: "results-list__item-street--amount" }, "+", locs.length - 1), index.h("span", { class: "results-list__item-street--more-locations" }, this.multiLocationText)))), this.showBrand && (index.h("div", { class: job.brandName
2092
- ? 'results-list__item-brand'
2093
- : 'results-list__item-brand results-list__item-brand--empty' }, index.h("span", { class: "results-list__item-brand--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z" }))), index.h("span", { class: "results-list__item-brand--label" }, job.brandName || '—'))), this.showEmploymentType && (index.h("div", { class: job.employmentType?.length
2094
- ? 'results-list__item-employment-type'
2095
- : 'results-list__item-employment-type results-list__item-employment-type--empty' }, index.h("span", { class: "results-list__item-employment-type--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0z" }))), (job.employmentType?.length
2096
- ? job.employmentType
2097
- : ['—']).map((type) => (index.h("span", { key: type, class: "results-list__item-employment-type--label" }, type))))), (job.jobCardExtraFields ?? []).map((field, i) => (index.h("div", { key: i, class: (Array.isArray(field.value) ? field.value.length : field.value)
2098
- ? field.classname
2099
- : `${field.classname}--empty` }, Array.isArray(field.value)
2100
- ? field.value.map((v, j) => (index.h("span", { key: j, class: `${field.classname}--label` }, v)))
2101
- : (index.h("span", { class: `${field.classname}--label` }, String(field.value))))))), index.h("a", { class: "results-list__item-apply", href: applyHref, target: "_blank", rel: "noopener noreferrer", "aria-label": applyLabel }, index.h("span", { class: "results-list__item-apply--label" }, this.applyButtonText), index.h("span", { class: "results-list__item-apply--icon" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13 7l5 5m0 0l-5 5m5-5H6" })))))));
2122
+ renderJobItem(job, index$1) {
2123
+ return (index.h("jobs-item", { job: job, index: index$1, applyButtonText: this.applyButtonText, showBrand: this.showBrand, showReference: this.showReference, showEmploymentType: this.showEmploymentType, multiLocationText: this.multiLocationText, remoteLocationText: this.remoteLocationText, enableKilometers: this.enableKilometers }));
2102
2124
  }
2103
2125
  render() {
2104
2126
  const jobsArray = this.getJobsArray();
@@ -2106,11 +2128,12 @@ const JobsListOnlyUI = class {
2106
2128
  const totalJob = this.mockData ? jobsArray.length : (this.totalJob || jobsArray.length);
2107
2129
  const showNoResults = !loading && totalJob === 0 && !this.showSuggestions;
2108
2130
  const showSuggestionsBlock = !loading && totalJob === 0 && this.showSuggestions;
2109
- return (index.h("div", { key: 'c2e9c9146a24f0869cbd75588b2718c94f62bbbc', class: `jobs-list-root ${this.rootClass}`.trim() }, index.h("div", { key: 'b2f3dffe7e17797b378bd648f54e46bb31e2d374', class: "results-container" }, index.h("div", { key: '4733870b035ec307b6e691f1d62ed8568e93fd1f', class: loading ? 'loader' : 'loader hide', "aria-hidden": !loading }), totalJob > 0 && (index.h("div", { key: 'a9438f079041e0121fafdcb42089f27482475491', class: "card" }, index.h("ul", { key: '3bd7dcc64f46aec24945a25df7345766606a51bd', class: "results-list front" }, jobsArray.map((job, index) => this.renderJobItem(job, index))))), showNoResults && (index.h("div", { key: '1996476568c745e0ada31b47bb1a1be2efaf6917', class: "share-jobs__no-results" }, index.h("h2", { key: '8d2a79881428d89d783b05f26d06abbef94f5c2e' }, this.noResultsLine1), index.h("h3", { key: '855704ea47b06a701c0e59a8bb43fb405ad3bb96' }, this.noResultsLine2))), showSuggestionsBlock && (index.h("div", { key: '74da6e8243423dc9770f4dc67f46f5627c352349', class: "card primary-color" }, index.h("h4", { key: 'd3fb2ef03a656331f97afe3692b05bbe064ed124', class: "result-suggestions-title" }, this.clearResultSuggestionsTitleText, ":"), index.h("ul", { key: '63914647653930e6c686a38d779af20e7e5c17d5', class: "results-list front" }, index.h("li", { key: '82063c023701d0c42ca2787f382d42a80f569b6a', class: "result-suggestions-line" }, this.clearResultSuggestionsLine1), index.h("li", { key: '7645d7a7435f76854b8eeb0d693a883fc341764e', class: "result-suggestions-line" }, this.clearResultSuggestionsLine2), index.h("li", { key: '060675d017137e8b23342c92efadc769e2bae1c2', class: "result-suggestions-line" }, this.clearResultSuggestionsLine3), this.clearResultSuggestionsLine4 && (index.h("li", { key: '0f6ef00a4f6267dc9ad2441e16f02c82b0994d03', class: "result-suggestions-line" }, this.clearResultSuggestionsLine4))))))));
2131
+ return (index.h("div", { key: '9e69d40c649b4f16617f522c89bc87d4cbffe1e3', class: `jobs-list-root ${this.rootClass}`.trim() }, index.h("div", { key: '7daf1c09dd1d5553a335f3c81c894a331964ee96', class: "results-container" }, index.h("div", { key: '9ab3db2b834359a64faee61f8c3dc2daca8211d9', class: loading ? 'loader' : 'loader hide', "aria-hidden": !loading }), totalJob > 0 && (index.h("div", { key: 'c729ccdf715105b9fbc7af0a1f148c82535772c1', class: "card" }, index.h("ul", { key: 'b0c5b6baccf7b94819cc2ad9ab970981a5294b42', class: "results-list front" }, jobsArray.map((job, index) => this.renderJobItem(job, index))))), showNoResults && (index.h("div", { key: '8f1684ddde51474e9c1699f93fb01c56e5406a51', class: "share-jobs__no-results" }, index.h("h2", { key: '2e3bc4b6b7647e3939588102d659e777207e46e9' }, this.noResultsLine1), index.h("h3", { key: 'f4881f19ad5db8fdd47aa4d31e1e0435f08da1ab' }, this.noResultsLine2))), showSuggestionsBlock && (index.h("div", { key: 'ed34907fd90f28571786045f21525895cef6e98a', class: "card primary-color" }, index.h("h4", { key: '33e96147f1b427df874656c1e0647af1d97fea29', class: "result-suggestions-title" }, this.clearResultSuggestionsTitleText, ":"), index.h("ul", { key: '570fd8e5068f1a7c809fad47347fe5f469da8bc6', class: "results-list front" }, index.h("li", { key: 'b5d22dfb448d2888dc010d6e494d1834d3d60034', class: "result-suggestions-line" }, this.clearResultSuggestionsLine1), index.h("li", { key: '77c1e8bbe9ab238e4f05fdbaf43551aef4f2a36e', class: "result-suggestions-line" }, this.clearResultSuggestionsLine2), index.h("li", { key: '0bd9503bf686213ae087f74a7b5f2cc62f9c96b7', class: "result-suggestions-line" }, this.clearResultSuggestionsLine3), this.clearResultSuggestionsLine4 && (index.h("li", { key: '961b2904347e1c5fc6b355a069790f0f2997917f', class: "result-suggestions-line" }, this.clearResultSuggestionsLine4))))))));
2110
2132
  }
2111
2133
  };
2112
- JobsListOnlyUI.style = jobsListOnlyUiCss();
2134
+ JobsListOnly.style = jobsListOnlyCss();
2113
2135
 
2114
2136
  exports.fast_button = CustomButton;
2115
2137
  exports.fast_carousel = AppCarousel;
2116
- exports.jobs_list_only_ui = JobsListOnlyUI;
2138
+ exports.jobs_item = JobsItem;
2139
+ exports.jobs_list_only = JobsListOnly;
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["fast-button_3.cjs",[[772,"fast-button",{"variant":[1],"type":[1],"disabled":[4]}],[772,"fast-carousel",{"items":[1],"loop":[4],"class":[1],"controlClass":[1,"control-class"],"slideClass":[1,"slide-class"],"itemClass":[1,"item-class"],"scrollPrev":[64],"scrollNext":[64],"goToSlide":[64],"getEmbla":[64]}],[512,"jobs-list-only-ui",{"mockData":[4,"mock-data"],"jobs":[1],"loading":[4],"totalJob":[2,"total-job"],"noResultsLine1":[1,"no-results-line-1"],"noResultsLine2":[1,"no-results-line-2"],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"streetFormat":[1,"street-format"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"],"rootClass":[1,"root-class"],"showSuggestions":[4,"show-suggestions"],"clearResultSuggestionsTitleText":[1,"clear-result-suggestions-title-text"],"clearResultSuggestionsLine1":[1,"clear-result-suggestions-line-1"],"clearResultSuggestionsLine2":[1,"clear-result-suggestions-line-2"],"clearResultSuggestionsLine3":[1,"clear-result-suggestions-line-3"],"clearResultSuggestionsLine4":[1,"clear-result-suggestions-line-4"]}]]]], options);
9
+ return index.bootstrapLazy([["fast-button_4.cjs",[[512,"jobs-list-only",{"mockData":[4,"mock-data"],"jobs":[1],"loading":[4],"totalJob":[2,"total-job"],"noResultsLine1":[1,"no-results-line-1"],"noResultsLine2":[1,"no-results-line-2"],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"streetFormat":[1,"street-format"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"],"rootClass":[1,"root-class"],"showSuggestions":[4,"show-suggestions"],"clearResultSuggestionsTitleText":[1,"clear-result-suggestions-title-text"],"clearResultSuggestionsLine1":[1,"clear-result-suggestions-line-1"],"clearResultSuggestionsLine2":[1,"clear-result-suggestions-line-2"],"clearResultSuggestionsLine3":[1,"clear-result-suggestions-line-3"],"clearResultSuggestionsLine4":[1,"clear-result-suggestions-line-4"]}],[772,"fast-button",{"variant":[1],"type":[1],"disabled":[4]}],[772,"fast-carousel",{"items":[1],"loop":[4],"class":[1],"controlClass":[1,"control-class"],"slideClass":[1,"slide-class"],"itemClass":[1,"item-class"],"scrollPrev":[64],"scrollNext":[64],"goToSlide":[64],"getEmbla":[64]}],[512,"jobs-item",{"job":[16],"index":[2],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["fast-button_3.cjs",[[772,"fast-button",{"variant":[1],"type":[1],"disabled":[4]}],[772,"fast-carousel",{"items":[1],"loop":[4],"class":[1],"controlClass":[1,"control-class"],"slideClass":[1,"slide-class"],"itemClass":[1,"item-class"],"scrollPrev":[64],"scrollNext":[64],"goToSlide":[64],"getEmbla":[64]}],[512,"jobs-list-only-ui",{"mockData":[4,"mock-data"],"jobs":[1],"loading":[4],"totalJob":[2,"total-job"],"noResultsLine1":[1,"no-results-line-1"],"noResultsLine2":[1,"no-results-line-2"],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"streetFormat":[1,"street-format"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"],"rootClass":[1,"root-class"],"showSuggestions":[4,"show-suggestions"],"clearResultSuggestionsTitleText":[1,"clear-result-suggestions-title-text"],"clearResultSuggestionsLine1":[1,"clear-result-suggestions-line-1"],"clearResultSuggestionsLine2":[1,"clear-result-suggestions-line-2"],"clearResultSuggestionsLine3":[1,"clear-result-suggestions-line-3"],"clearResultSuggestionsLine4":[1,"clear-result-suggestions-line-4"]}]]]], options);
22
+ return index.bootstrapLazy([["fast-button_4.cjs",[[512,"jobs-list-only",{"mockData":[4,"mock-data"],"jobs":[1],"loading":[4],"totalJob":[2,"total-job"],"noResultsLine1":[1,"no-results-line-1"],"noResultsLine2":[1,"no-results-line-2"],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"streetFormat":[1,"street-format"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"],"rootClass":[1,"root-class"],"showSuggestions":[4,"show-suggestions"],"clearResultSuggestionsTitleText":[1,"clear-result-suggestions-title-text"],"clearResultSuggestionsLine1":[1,"clear-result-suggestions-line-1"],"clearResultSuggestionsLine2":[1,"clear-result-suggestions-line-2"],"clearResultSuggestionsLine3":[1,"clear-result-suggestions-line-3"],"clearResultSuggestionsLine4":[1,"clear-result-suggestions-line-4"]}],[772,"fast-button",{"variant":[1],"type":[1],"disabled":[4]}],[772,"fast-carousel",{"items":[1],"loop":[4],"class":[1],"controlClass":[1,"control-class"],"slideClass":[1,"slide-class"],"itemClass":[1,"item-class"],"scrollPrev":[64],"scrollNext":[64],"goToSlide":[64],"getEmbla":[64]}],[512,"jobs-item",{"job":[16],"index":[2],"applyButtonText":[1,"apply-button-text"],"showBrand":[4,"show-brand"],"showReference":[4,"show-reference"],"showEmploymentType":[4,"show-employment-type"],"multiLocationText":[1,"multi-location-text"],"remoteLocationText":[1,"remote-location-text"],"enableKilometers":[4,"enable-kilometers"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -2,7 +2,8 @@
2
2
  "entries": [
3
3
  "components/button/button.js",
4
4
  "components/fast-carousel/carousel.js",
5
- "components/jobs-list-only-ui/jobs-list-only-ui.js"
5
+ "components/jobs-item/jobs-item.js",
6
+ "components/jobs-list-only/jobs-list-only.js"
6
7
  ],
7
8
  "mixins": [],
8
9
  "compiler": {
@@ -1,50 +1,4 @@
1
- /* Jobs list only - presentation styles (standalone / mock) */
2
- :host {
3
- display: block;
4
- }
5
-
6
- .jobs-list-root {
7
- list-style: none;
8
- }
9
-
10
- .results-container {
11
- position: relative;
12
- }
13
-
14
- .loader {
15
- display: inline-block;
16
- width: 24px;
17
- height: 24px;
18
- border: 2px solid #ddd;
19
- border-top-color: #1f9755;
20
- border-radius: 50%;
21
- animation: jobs-list-spin 0.8s linear infinite;
22
- }
23
-
24
- .loader.hide {
25
- display: none;
26
- }
27
-
28
- @keyframes jobs-list-spin {
29
- to {
30
- transform: rotate(360deg);
31
- }
32
- }
33
-
34
- .card {
35
- border: 0;
36
- }
37
-
38
- .results-list {
39
- list-style: none;
40
- margin: 0;
41
- padding: 0;
42
- display: block;
43
- }
44
-
45
- .results-list.front {
46
- margin: 3px 0;
47
- }
1
+ /* Job item card styles (extracted from jobs-list-only) */
48
2
 
49
3
  .results-list__item {
50
4
  list-style: none;
@@ -198,31 +152,3 @@
198
152
  width: 14px;
199
153
  height: 14px;
200
154
  }
201
-
202
- /* No results & suggestions */
203
- .share-jobs__no-results {
204
- padding: 24px;
205
- text-align: center;
206
- }
207
-
208
- .share-jobs__no-results h2,
209
- .share-jobs__no-results h3 {
210
- margin: 8px 0;
211
- font-weight: 600;
212
- }
213
-
214
- .card.primary-color {
215
- padding: 16px;
216
- border-radius: 4px;
217
- background: #f8f9fa;
218
- }
219
-
220
- .result-suggestions-title {
221
- margin: 0 0 12px 0;
222
- font-size: 16px;
223
- }
224
-
225
- .results-list .result-suggestions-line {
226
- list-style: none;
227
- margin: 4px 0;
228
- }
@@ -0,0 +1,253 @@
1
+ import { h } from "@stencil/core";
2
+ function getLocationLabel(loc) {
3
+ if (loc.cityStateAbbr)
4
+ return loc.cityStateAbbr;
5
+ const parts = [loc.streetAddress, loc.city, loc.stateAbbr || loc.state, loc.countryAbbr || loc.country].filter(Boolean);
6
+ return parts.join(', ') || loc.locationText || '';
7
+ }
8
+ function getFirstLocation(job) {
9
+ const locs = job.locations;
10
+ if (!locs?.length)
11
+ return undefined;
12
+ return locs[0];
13
+ }
14
+ export class JobsItem {
15
+ job;
16
+ index = 0;
17
+ applyButtonText = 'Apply Now';
18
+ showBrand = true;
19
+ showReference = false;
20
+ showEmploymentType = true;
21
+ multiLocationText = 'More locations';
22
+ remoteLocationText = 'Remote';
23
+ enableKilometers = false;
24
+ formatDistance(distance) {
25
+ const value = this.enableKilometers ? distance * 1.60934 : distance;
26
+ const unit = this.enableKilometers ? 'Km' : 'Miles';
27
+ const str = `${value.toFixed(1)} ${unit}`.replace('.0', '');
28
+ return str;
29
+ }
30
+ render() {
31
+ if (!this.job)
32
+ return null;
33
+ const firstLoc = getFirstLocation(this.job);
34
+ const locationLabel = firstLoc ? getLocationLabel(firstLoc) : '';
35
+ const distance = firstLoc?.distance ?? 0;
36
+ const distanceLabel = distance > 0 ? this.formatDistance(distance) : '';
37
+ const applyHref = this.job.applyURL ||
38
+ (this.job.originalURL ? `${typeof window !== 'undefined' ? window.location.origin : ''}${this.job.originalURL}` : '#');
39
+ const applyLabel = `${this.applyButtonText}, ${this.job.title || ''}`;
40
+ const locs = this.job.locations ?? [];
41
+ const hasMultipleLocations = locs.length > 1;
42
+ return (h("li", { class: "results-list__item" }, h("div", { class: "results-list__item-header" }, h("h3", { class: "results-list__item-title" }, h("a", { class: "results-list__item-title--link", href: applyHref, target: "_blank", rel: "noopener noreferrer" }, this.job.title || ''), this.showReference && (h("span", { class: `reference ${this.job.reference ? '' : 'empty'}` }, this.job.reference || '')), this.job.isRemote && (h("span", { class: this.remoteLocationText ? 'remote' : 'remote remote--empty' }, this.remoteLocationText))), distanceLabel && (h("div", { class: "results-list__item-distance" }, h("span", { class: "results-list__item-distance--icon" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z" }), h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 8v4l2 2" }))), h("span", { class: "results-list__item-distance--label" }, distanceLabel)))), h("div", { class: "results-list__item-content" }, h("div", { class: "results-list__item-info" }, h("div", { class: locs.length
43
+ ? 'results-list__item-street'
44
+ : 'results-list__item-street results-list__item-street--empty' }, h("div", { class: "results-list__item-street--label__wrapper" }, h("span", { class: "results-list__item-street--icon" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" }), h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0z" }))), h("span", { class: "results-list__item-street--label" }, locationLabel || '—')), hasMultipleLocations && (h("div", { class: "results-list__item-street--more-locations__wrapper" }, h("span", { class: "results-list__item-street--amount" }, "+", locs.length - 1), h("span", { class: "results-list__item-street--more-locations" }, this.multiLocationText)))), this.showBrand && (h("div", { class: this.job.brandName
45
+ ? 'results-list__item-brand'
46
+ : 'results-list__item-brand results-list__item-brand--empty' }, h("span", { class: "results-list__item-brand--icon" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z" }))), h("span", { class: "results-list__item-brand--label" }, this.job.brandName || '—'))), this.showEmploymentType && (h("div", { class: this.job.employmentType?.length
47
+ ? 'results-list__item-employment-type'
48
+ : 'results-list__item-employment-type results-list__item-employment-type--empty' }, h("span", { class: "results-list__item-employment-type--icon" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0z" }))), (this.job.employmentType?.length ? this.job.employmentType : ['—']).map((type) => (h("span", { key: type, class: "results-list__item-employment-type--label" }, type))))), (this.job.jobCardExtraFields ?? []).map((field, i) => (h("div", { key: i, class: (Array.isArray(field.value) ? field.value.length : field.value)
49
+ ? field.classname
50
+ : `${field.classname}--empty` }, Array.isArray(field.value)
51
+ ? field.value.map((v, j) => (h("span", { key: j, class: `${field.classname}--label` }, v)))
52
+ : (h("span", { class: `${field.classname}--label` }, String(field.value))))))), h("a", { class: "results-list__item-apply", href: applyHref, target: "_blank", rel: "noopener noreferrer", "aria-label": applyLabel }, h("span", { class: "results-list__item-apply--label" }, this.applyButtonText), h("span", { class: "results-list__item-apply--icon" }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13 7l5 5m0 0l-5 5m5-5H6" })))))));
53
+ }
54
+ static get is() { return "jobs-item"; }
55
+ static get originalStyleUrls() {
56
+ return {
57
+ "$": ["jobs-item.css"]
58
+ };
59
+ }
60
+ static get styleUrls() {
61
+ return {
62
+ "$": ["jobs-item.css"]
63
+ };
64
+ }
65
+ static get properties() {
66
+ return {
67
+ "job": {
68
+ "type": "unknown",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "JobSummary",
72
+ "resolved": "JobSummary",
73
+ "references": {
74
+ "JobSummary": {
75
+ "location": "import",
76
+ "path": "../../types/jobs-list",
77
+ "id": "src/types/jobs-list.ts::JobSummary",
78
+ "referenceLocation": "JobSummary"
79
+ }
80
+ }
81
+ },
82
+ "required": false,
83
+ "optional": false,
84
+ "docs": {
85
+ "tags": [],
86
+ "text": ""
87
+ },
88
+ "getter": false,
89
+ "setter": false
90
+ },
91
+ "index": {
92
+ "type": "number",
93
+ "mutable": false,
94
+ "complexType": {
95
+ "original": "number",
96
+ "resolved": "number",
97
+ "references": {}
98
+ },
99
+ "required": false,
100
+ "optional": false,
101
+ "docs": {
102
+ "tags": [],
103
+ "text": ""
104
+ },
105
+ "getter": false,
106
+ "setter": false,
107
+ "reflect": false,
108
+ "attribute": "index",
109
+ "defaultValue": "0"
110
+ },
111
+ "applyButtonText": {
112
+ "type": "string",
113
+ "mutable": false,
114
+ "complexType": {
115
+ "original": "string",
116
+ "resolved": "string",
117
+ "references": {}
118
+ },
119
+ "required": false,
120
+ "optional": false,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": ""
124
+ },
125
+ "getter": false,
126
+ "setter": false,
127
+ "reflect": false,
128
+ "attribute": "apply-button-text",
129
+ "defaultValue": "'Apply Now'"
130
+ },
131
+ "showBrand": {
132
+ "type": "boolean",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "boolean",
136
+ "resolved": "boolean",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": ""
144
+ },
145
+ "getter": false,
146
+ "setter": false,
147
+ "reflect": false,
148
+ "attribute": "show-brand",
149
+ "defaultValue": "true"
150
+ },
151
+ "showReference": {
152
+ "type": "boolean",
153
+ "mutable": false,
154
+ "complexType": {
155
+ "original": "boolean",
156
+ "resolved": "boolean",
157
+ "references": {}
158
+ },
159
+ "required": false,
160
+ "optional": false,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": ""
164
+ },
165
+ "getter": false,
166
+ "setter": false,
167
+ "reflect": false,
168
+ "attribute": "show-reference",
169
+ "defaultValue": "false"
170
+ },
171
+ "showEmploymentType": {
172
+ "type": "boolean",
173
+ "mutable": false,
174
+ "complexType": {
175
+ "original": "boolean",
176
+ "resolved": "boolean",
177
+ "references": {}
178
+ },
179
+ "required": false,
180
+ "optional": false,
181
+ "docs": {
182
+ "tags": [],
183
+ "text": ""
184
+ },
185
+ "getter": false,
186
+ "setter": false,
187
+ "reflect": false,
188
+ "attribute": "show-employment-type",
189
+ "defaultValue": "true"
190
+ },
191
+ "multiLocationText": {
192
+ "type": "string",
193
+ "mutable": false,
194
+ "complexType": {
195
+ "original": "string",
196
+ "resolved": "string",
197
+ "references": {}
198
+ },
199
+ "required": false,
200
+ "optional": false,
201
+ "docs": {
202
+ "tags": [],
203
+ "text": ""
204
+ },
205
+ "getter": false,
206
+ "setter": false,
207
+ "reflect": false,
208
+ "attribute": "multi-location-text",
209
+ "defaultValue": "'More locations'"
210
+ },
211
+ "remoteLocationText": {
212
+ "type": "string",
213
+ "mutable": false,
214
+ "complexType": {
215
+ "original": "string",
216
+ "resolved": "string",
217
+ "references": {}
218
+ },
219
+ "required": false,
220
+ "optional": false,
221
+ "docs": {
222
+ "tags": [],
223
+ "text": ""
224
+ },
225
+ "getter": false,
226
+ "setter": false,
227
+ "reflect": false,
228
+ "attribute": "remote-location-text",
229
+ "defaultValue": "'Remote'"
230
+ },
231
+ "enableKilometers": {
232
+ "type": "boolean",
233
+ "mutable": false,
234
+ "complexType": {
235
+ "original": "boolean",
236
+ "resolved": "boolean",
237
+ "references": {}
238
+ },
239
+ "required": false,
240
+ "optional": false,
241
+ "docs": {
242
+ "tags": [],
243
+ "text": ""
244
+ },
245
+ "getter": false,
246
+ "setter": false,
247
+ "reflect": false,
248
+ "attribute": "enable-kilometers",
249
+ "defaultValue": "false"
250
+ }
251
+ };
252
+ }
253
+ }
@@ -0,0 +1,75 @@
1
+ /* Jobs list only - presentation styles (standalone / mock) */
2
+ :host {
3
+ display: block;
4
+ }
5
+
6
+ .jobs-list-root {
7
+ list-style: none;
8
+ }
9
+
10
+ .results-container {
11
+ position: relative;
12
+ }
13
+
14
+ .loader {
15
+ display: inline-block;
16
+ width: 24px;
17
+ height: 24px;
18
+ border: 2px solid #ddd;
19
+ border-top-color: #1f9755;
20
+ border-radius: 50%;
21
+ animation: jobs-list-spin 0.8s linear infinite;
22
+ }
23
+
24
+ .loader.hide {
25
+ display: none;
26
+ }
27
+
28
+ @keyframes jobs-list-spin {
29
+ to {
30
+ transform: rotate(360deg);
31
+ }
32
+ }
33
+
34
+ .card {
35
+ border: 0;
36
+ }
37
+
38
+ .results-list {
39
+ list-style: none;
40
+ margin: 0;
41
+ padding: 0;
42
+ display: block;
43
+ }
44
+
45
+ .results-list.front {
46
+ margin: 3px 0;
47
+ }
48
+
49
+ /* No results & suggestions */
50
+ .share-jobs__no-results {
51
+ padding: 24px;
52
+ text-align: center;
53
+ }
54
+
55
+ .share-jobs__no-results h2,
56
+ .share-jobs__no-results h3 {
57
+ margin: 8px 0;
58
+ font-weight: 600;
59
+ }
60
+
61
+ .card.primary-color {
62
+ padding: 16px;
63
+ border-radius: 4px;
64
+ background: #f8f9fa;
65
+ }
66
+
67
+ .result-suggestions-title {
68
+ margin: 0 0 12px 0;
69
+ font-size: 16px;
70
+ }
71
+
72
+ .results-list .result-suggestions-line {
73
+ list-style: none;
74
+ margin: 4px 0;
75
+ }