@inploi/plugin-job-search 0.23.6 → 0.24.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 (59) hide show
  1. package/cdn/index.js +1070 -0
  2. package/cdn/style.css +1 -0
  3. package/dist/components/alerts-button.d.ts +11 -0
  4. package/dist/components/button.d.ts +60 -0
  5. package/dist/components/current-value-tag.d.ts +10 -0
  6. package/dist/components/error-boundary.d.ts +23 -0
  7. package/dist/components/filter-content.active.d.ts +74 -0
  8. package/dist/components/filter-section.d.ts +13 -0
  9. package/dist/components/filter.d.ts +23 -0
  10. package/dist/components/icon.d.ts +29 -0
  11. package/dist/components/job-card.d.ts +13 -0
  12. package/dist/components/job-search.d.ts +24 -0
  13. package/dist/components/keyword-search.d.ts +5 -0
  14. package/dist/components/mode-switch.d.ts +9 -0
  15. package/dist/components/natural-language-section.d.ts +8 -0
  16. package/dist/components/palette-debugger.d.ts +1 -0
  17. package/dist/components/results-section.d.ts +21 -0
  18. package/dist/components/roving-text.d.ts +6 -0
  19. package/dist/components/skeleton-text.d.ts +3 -0
  20. package/dist/components/tag.d.ts +60 -0
  21. package/dist/datetime-3eccae90.cjs +1 -0
  22. package/dist/datetime-796d4b37.js +32 -0
  23. package/dist/index.cjs +7 -6204
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +3893 -4910
  26. package/dist/job-search.api.d.ts +20 -5
  27. package/dist/job-search.d.ts +11 -0
  28. package/dist/job-search.schemas.d.ts +9 -2
  29. package/dist/job-search.state.d.ts +1 -0
  30. package/dist/lib/cache-key.d.ts +7 -0
  31. package/dist/lib/cache-key.test.d.ts +1 -0
  32. package/dist/lib/currency.d.ts +10 -0
  33. package/dist/lib/currency.test.d.ts +1 -0
  34. package/dist/lib/datetime.d.ts +11 -0
  35. package/dist/lib/deep-set.d.ts +8 -0
  36. package/dist/lib/deep-set.test.d.ts +1 -0
  37. package/dist/lib/hooks.d.ts +8 -0
  38. package/dist/lib/match.d.ts +35 -0
  39. package/dist/lib/match.test.d.ts +1 -0
  40. package/dist/lib/translation.d.ts +44 -0
  41. package/dist/lib/translation.terms.d.ts +246 -0
  42. package/dist/lib/translation.test.d.ts +1 -0
  43. package/dist/lib/type-utils.d.ts +55 -0
  44. package/dist/lib/utils.d.ts +4 -0
  45. package/dist/mocks/browser.d.ts +1 -0
  46. package/dist/mocks/handlers.d.ts +15 -0
  47. package/dist/plugin-job-alerts-4b46b097.cjs +1050 -0
  48. package/dist/plugin-job-alerts-6f8dbd69.js +5613 -0
  49. package/dist/style/theme.d.ts +3 -0
  50. package/dist/style/theme.utils.d.ts +6 -0
  51. package/dist/style/tokens.d.ts +149 -0
  52. package/dist/style.css +1 -1742
  53. package/dist/utils.cjs +1 -18
  54. package/dist/utils.js +12 -13
  55. package/package.json +8 -6
  56. package/dist/datetime-5adbbd63.cjs +0 -55
  57. package/dist/datetime-ef341067.js +0 -56
  58. package/dist/plugin-job-alerts-2ce58f09.js +0 -6040
  59. package/dist/plugin-job-alerts-e8471004.cjs +0 -6040
package/cdn/style.css ADDED
@@ -0,0 +1 @@
1
+ #ijs{font-size:16px;--tw-content: ""}#ijs *{box-sizing:border-box;border-style:solid;border-width:0;-webkit-tap-highlight-color:transparent;font-family:inherit;font-style:inherit;font-weight:inherit}#ijs :before,#ijs :after{box-sizing:border-box}#ijs :is(a){text-decoration:none}#ijs :is(ul,ol){list-style:none;padding:0;margin:0}#ijs :is(p){margin:0;padding:0}#ijs :is(li){margin:0;padding:0;list-style:none}#ijs :is(button),#ijs :is(a){display:block;margin:0;padding:0;border:unset;background:unset;text-align:unset}#ijs :is(input),#ijs :is(textarea){display:block;margin:0;padding:0;min-width:0;max-width:unset;width:100%}#ijs :is(svg){display:block}#ijs.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;animation-delay:0s!important}#ijs input[type=search]::-webkit-search-decoration,#ijs input[type=search]::-webkit-search-cancel-button,#ijs input[type=search]::-webkit-search-results-button,#ijs input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}@media (prefers-reduced-motion){#ijs *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;animation-delay:0s!important}}#ijs *,#ijs :before,#ijs :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }#ijs ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }#ijs .container{width:100%}@media (min-width: 640px){#ijs .container{max-width:640px}}@media (min-width: 768px){#ijs .container{max-width:768px}}@media (min-width: 1024px){#ijs .container{max-width:1024px}}@media (min-width: 1280px){#ijs .container{max-width:1280px}}@media (min-width: 1536px){#ijs .container{max-width:1536px}}#ijs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#ijs .not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}#ijs .pointer-events-none{pointer-events:none}#ijs .visible{visibility:visible}#ijs .invisible{visibility:hidden}#ijs .collapse{visibility:collapse}#ijs .static{position:static}#ijs .fixed{position:fixed}#ijs .absolute{position:absolute}#ijs .relative{position:relative}#ijs .sticky{position:sticky}#ijs .inset-x-10{left:2.5rem;right:2.5rem}#ijs .inset-y-0{top:0;bottom:0}#ijs .bottom-0{bottom:0}#ijs .left-0{left:0}#ijs .right-0{right:0}#ijs .top-0{top:0}#ijs .isolate{isolation:isolate}#ijs .z-50{z-index:50}#ijs .order-1{order:1}#ijs .order-2{order:2}#ijs .col-span-full{grid-column:1 / -1}#ijs .row-span-full{grid-row:1 / -1}#ijs .-m-4{margin:-1rem}#ijs .m-0{margin:0}#ijs .m-11{margin:2.75rem}#ijs .m-3{margin:.75rem}#ijs .m-4{margin:1rem}#ijs .mx-auto{margin-left:auto;margin-right:auto}#ijs .mb-2{margin-bottom:.5rem}#ijs .ml-auto{margin-left:auto}#ijs .mt-0\.5{margin-top:.125rem}#ijs .block{display:block}#ijs .inline-block{display:inline-block}#ijs .inline{display:inline}#ijs .flex{display:flex}#ijs .inline-flex{display:inline-flex}#ijs .table{display:table}#ijs .table-row{display:table-row}#ijs .flow-root{display:flow-root}#ijs .grid{display:grid}#ijs .inline-grid{display:inline-grid}#ijs .contents{display:contents}#ijs .list-item{display:list-item}#ijs .\!hidden{display:none!important}#ijs .hidden{display:none}#ijs .size-4{width:1rem;height:1rem}#ijs .h-12{height:3rem}#ijs .h-4{height:1rem}#ijs .h-8{height:2rem}#ijs .h-\[1lh\]{height:1lh}#ijs .h-full{height:100%}#ijs .max-h-\[var\(--maxHeight\)\]{max-height:var(--maxHeight)}#ijs .min-h-\[1em\]{min-height:1em}#ijs .min-h-\[36px\]{min-height:36px}#ijs .min-h-screen{min-height:100vh}#ijs .w-4{width:1rem}#ijs .w-64{width:16rem}#ijs .w-\[10ch\]{width:10ch}#ijs .w-\[3ch\]{width:3ch}#ijs .w-\[6ch\]{width:6ch}#ijs .w-\[8ch\]{width:8ch}#ijs .w-full{width:100%}#ijs .min-w-0{min-width:0px}#ijs .max-w-\[var\(--radix-popover-content-available-width\)\]{max-width:var(--radix-popover-content-available-width)}#ijs .max-w-full{max-width:100%}#ijs .max-w-screen-lg{max-width:1024px}#ijs .flex-1{flex:1 1 0%}#ijs .flex-none{flex:none}#ijs .flex-shrink,#ijs .shrink{flex-shrink:1}#ijs .shrink-0{flex-shrink:0}#ijs .flex-grow,#ijs .grow{flex-grow:1}#ijs .border-collapse{border-collapse:collapse}#ijs .origin-\[50\%_1\.75rem\]{transform-origin:50% 1.75rem}#ijs .origin-top{transform-origin:top}#ijs .translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes selected-tag{0%{transform:scale(1.11)}to{transform:scale(1)}}#ijs .animate-selected-tag{animation:selected-tag .9s cubic-bezier(.16,1,.3,1)}@keyframes skeleton{0%{opacity:.2}50%{opacity:.6}to{opacity:.25}}#ijs .animate-skeleton{animation:skeleton 1.2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slide-in-bottom{0%{transform:translateY(-50%)}to{transform:translateY(0)}}#ijs .animate-slide-in-bottom{animation:slide-in-bottom .4s cubic-bezier(.16,1,.3,1) both}#ijs .cursor-default{cursor:default}#ijs .cursor-pointer{cursor:pointer}#ijs .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}#ijs .resize{resize:both}#ijs .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}#ijs .flex-col{flex-direction:column}#ijs .flex-wrap{flex-wrap:wrap}#ijs .items-start{align-items:flex-start}#ijs .items-center{align-items:center}#ijs .items-stretch{align-items:stretch}#ijs .justify-end{justify-content:flex-end}#ijs .justify-center{justify-content:center}#ijs .justify-between{justify-content:space-between}#ijs .gap-1{gap:.25rem}#ijs .gap-1\.5{gap:.375rem}#ijs .gap-2{gap:.5rem}#ijs .gap-2\.5{gap:.625rem}#ijs .gap-3{gap:.75rem}#ijs .gap-4{gap:1rem}#ijs .gap-logo{gap:var(--i-logo-gap)}#ijs .self-center{align-self:center}#ijs .overflow-hidden{overflow:hidden}#ijs .overflow-y-auto{overflow-y:auto}#ijs .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ijs .whitespace-nowrap{white-space:nowrap}#ijs .text-pretty{text-wrap:pretty}#ijs .rounded-app{border-radius:var(--i-radius-app)}#ijs .rounded-input{border-radius:var(--i-radius-input)}#ijs .rounded-interactive{border-radius:var(--i-radius-interactive)}#ijs .rounded-job-card{border-radius:var(--i-radius-job-card)}#ijs .rounded-job-tag{border-radius:var(--i-radius-job-tag)}#ijs .rounded-logo{border-radius:var(--i-radius-logo)}#ijs .rounded-section{border-radius:var(--i-radius-section)}#ijs .rounded-tag{border-radius:var(--i-radius-job-tag)}#ijs .border-px{border-width:1px}#ijs .border-solid{border-style:solid}#ijs .border-neutral-2{border-color:var(--i-color-n-2)}#ijs .border-tag-accent-strong-stroke{border-color:var(--i-tag-accent-strong-stroke-color)}#ijs .border-tag-monetary-weak-stroke{border-color:var(--i-tag-monetary-weak-stroke-color)}#ijs .border-tag-neutral-strong-stroke{border-color:var(--i-tag-neutral-strong-stroke-color)}#ijs .border-tag-neutral-weak-stroke{border-color:var(--i-tag-neutral-weak-stroke-color)}#ijs .border-transparent{border-color:transparent}#ijs .bg-\[currentColor\]{background-color:currentColor}#ijs .bg-accent-2{background-color:var(--i-color-a-2)}#ijs .bg-accent-4{background-color:var(--i-color-a-4)}#ijs .bg-accent-9{background-color:var(--i-color-a-9)}#ijs .bg-app{background-color:var(--i-app-bg)}#ijs .bg-copy-neutral{background-color:var(--i-copy)}#ijs .bg-interactive-accent-bg{background-color:var(--i-interactive-accent-bg)}#ijs .bg-interactive-neutral-bg{background-color:var(--i-interactive-neutral-bg)}#ijs .bg-job-card-bg{background-color:var(--i-job-card-bg)}#ijs .bg-lowest{background-color:var(--i-color-lowest)}#ijs .bg-neutral-1{background-color:var(--i-color-n-1)}#ijs .bg-neutral-12{background-color:var(--i-color-n-12)}#ijs .bg-neutral-2{background-color:var(--i-color-n-2)}#ijs .bg-section-strong-bg{background-color:var(--i-section-strong-bg)}#ijs .bg-section-weak-bg{background-color:var(--i-section-weak-bg)}#ijs .bg-tag-accent-strong-bg{background-color:var(--i-tag-accent-strong-bg)}#ijs .bg-tag-monetary-weak-bg{background-color:var(--i-tag-monetary-weak-bg)}#ijs .bg-tag-neutral-strong-bg{background-color:var(--i-tag-neutral-strong-bg)}#ijs .bg-tag-neutral-weak-bg{background-color:var(--i-tag-neutral-weak-bg)}#ijs .object-contain{-o-object-fit:contain;object-fit:contain}#ijs .p-0{padding:0}#ijs .p-1{padding:.25rem}#ijs .p-2{padding:.5rem}#ijs .p-4{padding:1rem}#ijs .p-6{padding:1.5rem}#ijs .px-1{padding-left:.25rem;padding-right:.25rem}#ijs .px-10{padding-left:2.5rem;padding-right:2.5rem}#ijs .px-2{padding-left:.5rem;padding-right:.5rem}#ijs .px-2\.5{padding-left:.625rem;padding-right:.625rem}#ijs .px-3{padding-left:.75rem;padding-right:.75rem}#ijs .px-4{padding-left:1rem;padding-right:1rem}#ijs .px-5{padding-left:1.25rem;padding-right:1.25rem}#ijs .py-1{padding-top:.25rem;padding-bottom:.25rem}#ijs .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}#ijs .py-2{padding-top:.5rem;padding-bottom:.5rem}#ijs .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}#ijs .py-4{padding-top:1rem;padding-bottom:1rem}#ijs .pb-4{padding-bottom:1rem}#ijs .pl-1{padding-left:.25rem}#ijs .pl-10{padding-left:2.5rem}#ijs .pl-2{padding-left:.5rem}#ijs .pl-2\.5{padding-left:.625rem}#ijs .pl-3{padding-left:.75rem}#ijs .pl-4{padding-left:1rem}#ijs .pl-5{padding-left:1.25rem}#ijs .pr-1{padding-right:.25rem}#ijs .pr-2\.5{padding-right:.625rem}#ijs .pr-3{padding-right:.75rem}#ijs .pr-4{padding-right:1rem}#ijs .pr-8{padding-right:2rem}#ijs .pt-1{padding-top:.25rem}#ijs .text-center{text-align:center}#ijs .text-justify{text-align:justify}#ijs .align-middle{vertical-align:middle}#ijs .font-family-default{font-family:var(--i-font)}#ijs .font-family-filter{font-family:var(--i-font-filter)}#ijs .font-family-job-heading{font-family:var(--i-font-job-heading)}#ijs .font-family-tag{font-family:var(--i-font-tag)}#ijs .text-\[10px\]{font-size:10px}#ijs .text-style-filter{font-size:1rem;line-height:1.5rem;letter-spacing:-.01em}#ijs .text-style-input{font-size:1rem;line-height:1.5rem}#ijs .text-style-job-card{font-size:.875rem;line-height:1.125rem}#ijs .text-style-job-card-info{font-size:.75rem;line-height:1.125rem}#ijs .text-style-job-heading{font-size:1.125rem;line-height:1.5rem}#ijs .text-style-tag{font-size:.875rem;line-height:1.5rem}#ijs .font-weight-default{font-weight:var(--i-weight-default)}#ijs .font-weight-filter{font-weight:var(--i-weight-filter)}#ijs .font-weight-input{font-weight:var(--i-weight-input)}#ijs .font-weight-job-heading{font-weight:var(--i-weight-job-heading)}#ijs .font-weight-tag{font-weight:var(--i-weight-tag)}#ijs .uppercase{text-transform:uppercase}#ijs .lowercase{text-transform:lowercase}#ijs .capitalize{text-transform:capitalize}#ijs .italic{font-style:italic}#ijs .ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}#ijs .tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}#ijs .leading-none{line-height:1}#ijs .leading-snug{line-height:1.375}#ijs .tracking-tight{letter-spacing:-.025em}#ijs .\!text-transparent{color:transparent!important}#ijs .text-\[\#E5484D\]{--tw-text-opacity: 1;color:rgb(229 72 77 / var(--tw-text-opacity))}#ijs .text-accent-1{color:var(--i-color-a-1)}#ijs .text-accent-11{color:var(--i-color-a-11)}#ijs .text-copy-accent-icon{color:var(--i-copy-accent-icon)}#ijs .text-copy-job-info{color:var(--i-copy-info)}#ijs .text-copy-neutral{color:var(--i-copy)}#ijs .text-copy-neutral-icon{color:var(--i-copy-icon)}#ijs .text-copy-neutral-lowcontrast{color:var(--i-copy-lowcontrast)}#ijs .text-interactive-accent-text{color:var(--i-interactive-accent-text)}#ijs .text-interactive-neutral-bg{color:var(--i-interactive-neutral-bg)}#ijs .text-interactive-neutral-text{color:var(--i-interactive-neutral-text)}#ijs .text-neutral-1{color:var(--i-color-n-1)}#ijs .text-neutral-10{color:var(--i-color-n-10)}#ijs .text-neutral-11{color:var(--i-color-n-11)}#ijs .text-neutral-8{color:var(--i-color-n-8)}#ijs .text-tag-accent-strong-bg{color:var(--i-tag-accent-strong-bg)}#ijs .text-tag-accent-strong-copy{color:var(--i-tag-accent-strong-copy)}#ijs .text-tag-monetary-weak-copy{color:var(--i-tag-monetary-weak-copy)}#ijs .text-tag-neutral-strong-copy{color:var(--i-tag-neutral-strong-copy)}#ijs .text-tag-neutral-weak-copy{color:var(--i-tag-neutral-weak-copy)}#ijs .underline{text-decoration-line:underline}#ijs .caret-accent-11{caret-color:var(--i-color-a-11)}#ijs .opacity-0{opacity:0}#ijs .opacity-20{opacity:.2}#ijs .opacity-25{opacity:.25}#ijs .opacity-30{opacity:.3}#ijs .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .shadow-\[0_0_0_1px\]{--tw-shadow: 0 0 0 1px;--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .outline-none{outline:2px solid transparent;outline-offset:2px}#ijs .outline{outline-style:solid}#ijs .ring-\[1px\],#ijs .ring-px{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#ijs .ring-width-job-card{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-job-card-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#ijs .ring-width-section{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#ijs .ring-accent-10{--tw-ring-color: var(--i-color-a-10)}#ijs .ring-job-card-stroke{--tw-ring-color: var(--i-job-card-stroke-color)}#ijs .ring-neutral-4{--tw-ring-color: var(--i-color-n-4)}#ijs .ring-neutral-5{--tw-ring-color: var(--i-color-n-5)}#ijs .ring-section-strong-stroke{--tw-ring-color: var(--i-section-strong-stroke-color)}#ijs .ring-section-weak-stroke{--tw-ring-color: var(--i-section-weak-stroke-color)}#ijs .ring-tag-accent-strong-bg{--tw-ring-color: var(--i-tag-accent-strong-bg)}#ijs .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#ijs .grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#ijs .invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#ijs .sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#ijs .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#ijs .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}#ijs .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#ijs .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#ijs .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#ijs .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#ijs .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#ijs .duration-500{transition-duration:.5s}#ijs .duration-medium{transition-duration:.6s}#ijs .duration-slow{transition-duration:.9s}#ijs .duration-snappy{transition-duration:.4s}#ijs .ease-expo-out{transition-timing-function:cubic-bezier(.16,1,.3,1)}#ijs .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}#ijs .will-change-\[transform\,opacity\]{will-change:transform,opacity}#ijs .gutter-stable{scrollbar-gutter:stable}#ijs .font-style-default{font-style:var(--i-font-style)}#ijs .font-style-filter{font-style:var(--i-style-filter)}#ijs .font-style-input{font-style:var(--i-style-input)}#ijs .font-style-job-heading{font-style:var(--i-style-job-heading)}#ijs .font-style-tag{font-style:var(--i-style-tag)}#ijs .top-filters{top:var(--i-filters-offset-top)}#ijs .fr{outline:none}#ijs .fr:focus{outline:none}#ijs .fr:focus-visible{outline:none;--tw-ring-offset-width: 1px;--tw-ring-offset-color: var(--i-color-lowest);--tw-ring-opacity: 1;--tw-ring-color: var(--i-color-a-9);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#ijs .fr-parent:has(.fr-child:focus-visible){outline:none;--tw-ring-offset-width: 1px;--tw-ring-offset-color: var(--i-color-lowest);--tw-ring-opacity: 1;--tw-ring-color: var(--i-color-a-9);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}#ijs .touch-hitbox:before{content:"";position:absolute;display:block;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-height:44px;min-width:44px;z-index:9999}#ijs .\[-webkit-user-drag\:none\]{-webkit-user-drag:none}#ijs .\[a-zA-Z0-9-_\:\.\$\@\?\]{a-z-a--z0-9-_:.$@?}#ijs .\[text-wrap\:balance\]{text-wrap:balance}#ijs .\[text-wrap\:pretty\]{text-wrap:pretty}#ijs .selection\:bg-accent-4 *::-moz-selection{background-color:var(--i-color-a-4)}#ijs .selection\:bg-accent-4 *::selection{background-color:var(--i-color-a-4)}#ijs .selection\:text-accent-12 *::-moz-selection{color:var(--i-color-a-12)}#ijs .selection\:text-accent-12 *::selection{color:var(--i-color-a-12)}#ijs .selection\:bg-accent-4::-moz-selection{background-color:var(--i-color-a-4)}#ijs .selection\:bg-accent-4::selection{background-color:var(--i-color-a-4)}#ijs .selection\:text-accent-12::-moz-selection{color:var(--i-color-a-12)}#ijs .selection\:text-accent-12::selection{color:var(--i-color-a-12)}#ijs .placeholder\:\!text-transparent::-moz-placeholder{color:transparent!important}#ijs .placeholder\:\!text-transparent::placeholder{color:transparent!important}#ijs .placeholder\:text-neutral-10::-moz-placeholder{color:var(--i-color-n-10)}#ijs .placeholder\:text-neutral-10::placeholder{color:var(--i-color-n-10)}#ijs .autofill\:shadow-\[inset_0_0_0_1000px_var\(--i-color-a-2\)\]:-webkit-autofill{--tw-shadow: inset 0 0 0 1000px var(--i-color-a-2);--tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .autofill\:shadow-\[inset_0_0_0_1000px_var\(--i-color-a-2\)\]:autofill{--tw-shadow: inset 0 0 0 1000px var(--i-color-a-2);--tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .autofill\:\[-webkit-text-fill-color\:var\(--i-color-a-11\)\]:-webkit-autofill{-webkit-text-fill-color:var(--i-color-a-11)}#ijs .autofill\:\[-webkit-text-fill-color\:var\(--i-color-a-11\)\]:autofill{-webkit-text-fill-color:var(--i-color-a-11)}#ijs .focus-within\:z-10:focus-within{z-index:10}#ijs .hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .hover\:bg-neutral-2:hover{background-color:var(--i-color-n-2)}#ijs .focus\:relative:focus{position:relative}#ijs .focus\:shadow-\[0_0_0_2px\]:focus{--tw-shadow: 0 0 0 2px;--tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}#ijs .autofill\:focus\:shadow-\[inset_0_0_0_1000px_var\(--i-color-a-1\)\]:focus:-webkit-autofill{--tw-shadow: inset 0 0 0 1000px var(--i-color-a-1);--tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .autofill\:focus\:shadow-\[inset_0_0_0_1000px_var\(--i-color-a-1\)\]:focus:autofill{--tw-shadow: inset 0 0 0 1000px var(--i-color-a-1);--tw-shadow-colored: inset 0 0 0 1000px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#ijs .active\:-scale-100:active{--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .active\:scale-\[\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .active\:scale-\[0\.975\]:active{--tw-scale-x: .975;--tw-scale-y: .975;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .active\:bg-accent-10:active{background-color:var(--i-color-a-10)}#ijs .active\:bg-job-card-bg-active:active{background-color:var(--i-job-card-bg-active)}#ijs .active\:ring-job-card-stroke-active:active{--tw-ring-color: var(--i-job-card-stroke-color-active)}#ijs .group\/tag:first-child .group-\[\&\:first-child\]\/tag\:rounded-t-tag{border-top-left-radius:var(--i-radius-job-tag);border-top-right-radius:var(--i-radius-job-tag)}#ijs .group\/tag:last-child .group-\[\&\:last-child\]\/tag\:rounded-b-tag{border-bottom-right-radius:var(--i-radius-job-tag);border-bottom-left-radius:var(--i-radius-job-tag)}#ijs .peer:-moz-placeholder-shown~.peer-placeholder-shown\:right-0{right:0}#ijs .peer:placeholder-shown~.peer-placeholder-shown\:right-0{right:0}#ijs .peer:-moz-placeholder-shown~.peer-placeholder-shown\:hidden{display:none}#ijs .peer:placeholder-shown~.peer-placeholder-shown\:hidden{display:none}#ijs .has-\[\[data-current-value\=true\]\]\:border-b-accent-3:has([data-current-value=true]){border-bottom-color:var(--i-color-a-3)}#ijs .data-\[state\=idle\]\:translate-y-full[data-state=idle]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .data-\[state\=loading\]\:-translate-y-full[data-state=loading]{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .data-\[state\=success\]\:translate-y-full[data-state=success]{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .data-\[state\=idle\]\:opacity-0[data-state=idle]{opacity:0}#ijs .data-\[state\=idle\]\:opacity-100[data-state=idle]{opacity:1}@keyframes ai-letter{0%{color:var(--i-copy);transform:scale(1)}50%{transform:scale(1.125)}75%{color:var(--i-interactive-accent-text);transform:scale(1.0625)}to{color:var(--i-interactive-accent-text);transform:scale(1)}}#ijs .group[data-synced=true] .group-data-\[synced\=true\]\:animate-ai-letter{animation:ai-letter .6s cubic-bezier(.68,-.6,.32,1.6) both}@media (pointer: coarse){#ijs .pointer-coarse\:max-h-\\\[var\\\(--maxHeight\\\)\\\]{max-height:var(--maxHeight)}}@media (pointer: coarse){#ijs .pointer-coarse\:overflow-x-auto{overflow-x:auto}}@media (pointer: fine){#ijs .pointer-fine\:flex-col{flex-direction:column}}@media (pointer: fine){#ijs .pointer-fine\:flex-wrap{flex-wrap:wrap}}@media (pointer: fine){#ijs .pointer-fine\:flex-nowrap{flex-wrap:nowrap}}@media (pointer: fine){#ijs .pointer-fine\:rounded-section{border-radius:var(--i-radius-section)}}@media (pointer: fine){#ijs .pointer-fine\:bg-app{background-color:var(--i-app-bg)}}@media (pointer: fine){#ijs .pointer-fine\:p-2{padding:.5rem}}@media (pointer: fine){#ijs .pointer-fine\:px-4{padding-left:1rem;padding-right:1rem}}@media (pointer: fine){#ijs .pointer-fine\:ring-width-section{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}}@media (pointer: fine){#ijs .pointer-fine\:hover\:bg-interactive-accent-bg-hover:hover{background-color:var(--i-interactive-accent-bg-hover)}}@media (pointer: fine){#ijs .pointer-fine\:hover\:bg-interactive-neutral-bg-hover:hover{background-color:var(--i-interactive-neutral-bg-hover)}}@media (pointer: fine){#ijs .group:hover .pointer-fine\:group-hover\:text-copy-neutral{color:var(--i-copy)}}@media (min-width: 768px){#ijs .md\:col-span-2{grid-column:span 2 / span 2}}@media (min-width: 768px){#ijs .md\:grid{display:grid}}@media (min-width: 768px){#ijs .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){#ijs .md\:px-0{padding-left:0;padding-right:0}}@media (min-width: 768px){#ijs .md\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width: 1024px){#ijs .lg\:ring-width-section{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}}#ijs .\[\&\:has\(\.fr-child\:active\)\]\:scale-\[0\.975\]:has(.fr-child:active){--tw-scale-x: .975;--tw-scale-y: .975;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#ijs .\[\&\:not\(\:last-child\)\]\:border-b-px:not(:last-child){border-bottom-width:1px}
@@ -0,0 +1,11 @@
1
+ import { AnalyticsService, ApiClient, Logger } from '@inploi/sdk';
2
+ import { JobSearchPluginParams } from '..';
3
+ import { FilterValue } from './filter';
4
+
5
+ export declare const AlertsButton: ({ analytics, apiClient, logger, theme, appliedFilters, }: {
6
+ analytics: AnalyticsService;
7
+ apiClient: ApiClient;
8
+ logger: Logger;
9
+ theme: JobSearchPluginParams['theme'];
10
+ appliedFilters: Record<string, FilterValue | undefined>;
11
+ }) => import("preact").JSX.Element;
@@ -0,0 +1,60 @@
1
+ export declare const btnClass: (props?: ({
2
+ variant?: "neutral" | "accent" | undefined;
3
+ icon?: "none" | "right" | "left" | "only" | undefined;
4
+ position?: "relative" | "absolute" | undefined;
5
+ size?: "sm" | "lg" | undefined;
6
+ } & ({
7
+ class?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
8
+ [x: string]: any;
9
+ } | null | undefined)[] | {
10
+ [x: string]: any;
11
+ } | null | undefined)[] | {
12
+ [x: string]: any;
13
+ } | null | undefined)[] | {
14
+ [x: string]: any;
15
+ } | null | undefined)[] | {
16
+ [x: string]: any;
17
+ } | null | undefined)[] | {
18
+ [x: string]: any;
19
+ } | null | undefined)[] | {
20
+ [x: string]: any;
21
+ } | null | undefined)[] | {
22
+ [x: string]: any;
23
+ } | null | undefined)[] | {
24
+ [x: string]: any;
25
+ } | null | undefined)[] | {
26
+ [x: string]: any;
27
+ } | null | undefined)[] | {
28
+ [x: string]: any;
29
+ } | null | undefined)[] | {
30
+ [x: string]: any;
31
+ } | null | undefined;
32
+ className?: undefined;
33
+ } | {
34
+ class?: undefined;
35
+ className?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
36
+ [x: string]: any;
37
+ } | null | undefined)[] | {
38
+ [x: string]: any;
39
+ } | null | undefined)[] | {
40
+ [x: string]: any;
41
+ } | null | undefined)[] | {
42
+ [x: string]: any;
43
+ } | null | undefined)[] | {
44
+ [x: string]: any;
45
+ } | null | undefined)[] | {
46
+ [x: string]: any;
47
+ } | null | undefined)[] | {
48
+ [x: string]: any;
49
+ } | null | undefined)[] | {
50
+ [x: string]: any;
51
+ } | null | undefined)[] | {
52
+ [x: string]: any;
53
+ } | null | undefined)[] | {
54
+ [x: string]: any;
55
+ } | null | undefined)[] | {
56
+ [x: string]: any;
57
+ } | null | undefined)[] | {
58
+ [x: string]: any;
59
+ } | null | undefined;
60
+ })) | undefined) => string;
@@ -0,0 +1,10 @@
1
+ import { FilterProperty } from '../job-search';
2
+ import { GetAvailableFiltersResponse, QueryState } from '../job-search.api';
3
+
4
+ type CurrentValueTagProps = {
5
+ query: QueryState<GetAvailableFiltersResponse>;
6
+ property: FilterProperty;
7
+ selectedValues: string[];
8
+ };
9
+ export declare const CurrentValueTag: ({ query, property, selectedValues }: CurrentValueTagProps) => import("preact").JSX.Element | null;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ import { Component, ComponentProps, FunctionComponent, VNode } from 'preact';
2
+
3
+ type ErrorBoundaryProps = {
4
+ children?: VNode | VNode[];
5
+ Fallback: FunctionComponent<FallbackProps>;
6
+ };
7
+ type FallbackProps = {
8
+ error: Error;
9
+ resetError: () => void;
10
+ };
11
+ export declare const UnstyledErrorView: ({ error, resetError }: FallbackProps) => import("preact").JSX.Element;
12
+ export declare const ErrorView: ({ error, resetError, class: className, ...props }: FallbackProps & ComponentProps<'div'>) => import("preact").JSX.Element;
13
+ export declare class ErrorBoundary extends Component<ErrorBoundaryProps> {
14
+ state: {
15
+ error: Error | null;
16
+ };
17
+ static getDerivedStateFromError(error: Error): {
18
+ error: string;
19
+ };
20
+ componentDidCatch(error: Error): void;
21
+ render(): import("preact").JSX.Element | (VNode<{}> & object) | (VNode<{}>[] & object) | undefined;
22
+ }
23
+ export {};
@@ -0,0 +1,74 @@
1
+ import { SWRResponse } from 'swr';
2
+ import { FilterProperty } from '../job-search';
3
+ import { GetAvailableFiltersResponse, QueryState } from '../job-search.api';
4
+ import { FilterValue } from './filter';
5
+
6
+ export declare const inputClass: (props?: ({
7
+ hasValue?: boolean | undefined;
8
+ size?: "md" | "unsized" | undefined;
9
+ } & ({
10
+ class?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
11
+ [x: string]: any;
12
+ } | null | undefined)[] | {
13
+ [x: string]: any;
14
+ } | null | undefined)[] | {
15
+ [x: string]: any;
16
+ } | null | undefined)[] | {
17
+ [x: string]: any;
18
+ } | null | undefined)[] | {
19
+ [x: string]: any;
20
+ } | null | undefined)[] | {
21
+ [x: string]: any;
22
+ } | null | undefined)[] | {
23
+ [x: string]: any;
24
+ } | null | undefined)[] | {
25
+ [x: string]: any;
26
+ } | null | undefined)[] | {
27
+ [x: string]: any;
28
+ } | null | undefined)[] | {
29
+ [x: string]: any;
30
+ } | null | undefined)[] | {
31
+ [x: string]: any;
32
+ } | null | undefined)[] | {
33
+ [x: string]: any;
34
+ } | null | undefined;
35
+ className?: undefined;
36
+ } | {
37
+ class?: undefined;
38
+ className?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
39
+ [x: string]: any;
40
+ } | null | undefined)[] | {
41
+ [x: string]: any;
42
+ } | null | undefined)[] | {
43
+ [x: string]: any;
44
+ } | null | undefined)[] | {
45
+ [x: string]: any;
46
+ } | null | undefined)[] | {
47
+ [x: string]: any;
48
+ } | null | undefined)[] | {
49
+ [x: string]: any;
50
+ } | null | undefined)[] | {
51
+ [x: string]: any;
52
+ } | null | undefined)[] | {
53
+ [x: string]: any;
54
+ } | null | undefined)[] | {
55
+ [x: string]: any;
56
+ } | null | undefined)[] | {
57
+ [x: string]: any;
58
+ } | null | undefined)[] | {
59
+ [x: string]: any;
60
+ } | null | undefined)[] | {
61
+ [x: string]: any;
62
+ } | null | undefined;
63
+ })) | undefined) => string;
64
+ type FilterContentActiveProps = {
65
+ value: FilterValue;
66
+ property: FilterProperty;
67
+ unfilteredQuery: QueryState<GetAvailableFiltersResponse>;
68
+ onSkip: () => void;
69
+ onValueChange: (value: FilterValue | undefined) => void;
70
+ onRender: () => void;
71
+ useQuery: () => SWRResponse<GetAvailableFiltersResponse>;
72
+ };
73
+ export declare const FilterContentActive: ({ value, property, onSkip, useQuery, onValueChange, unfilteredQuery, onRender, }: FilterContentActiveProps) => import("preact").JSX.Element;
74
+ export {};
@@ -0,0 +1,13 @@
1
+ import { ApiClient, Logger } from '@inploi/sdk';
2
+ import { FilterProperty } from '..';
3
+ import { FilterValue } from './filter';
4
+
5
+ type FilterSectionProps = {
6
+ properties: FilterProperty[];
7
+ appliedFilters: Record<string, FilterValue | undefined>;
8
+ onFilterValueChange: (key: string, value: FilterValue | undefined) => void;
9
+ apiClient: ApiClient;
10
+ logger: Logger;
11
+ };
12
+ export declare const FilterSection: ({ properties, appliedFilters, onFilterValueChange, apiClient, logger, }: FilterSectionProps) => import("preact").JSX.Element;
13
+ export {};
@@ -0,0 +1,23 @@
1
+ import { SWRResponse } from 'swr';
2
+ import { GetAvailableFiltersResponse, QueryState } from '../job-search.api';
3
+ import { FilterProperty } from '..';
4
+
5
+ export type FilterValue = {
6
+ select: 'one';
7
+ value: string | undefined;
8
+ } | {
9
+ select: 'many';
10
+ value: string[] | undefined;
11
+ };
12
+ export declare const getSelectedValues: (current: FilterValue) => string[];
13
+ export type FilterProps = {
14
+ active: boolean;
15
+ value: FilterValue;
16
+ unfilteredQuery: QueryState<GetAvailableFiltersResponse>;
17
+ onActiveChange: (active: boolean) => void;
18
+ property: FilterProperty;
19
+ onSkip: () => void;
20
+ onValueChange: (value: FilterValue | undefined) => void;
21
+ useQuery: () => SWRResponse<GetAvailableFiltersResponse>;
22
+ };
23
+ export declare const Filter: ({ active, value, onActiveChange, property, onSkip, onValueChange, unfilteredQuery, useQuery, }: FilterProps) => import("preact").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { ComponentProps } from 'preact';
2
+ import { JobSearchPluginParams } from '../job-search';
3
+
4
+ declare const icons: {
5
+ briefcase: import("preact").JSX.Element;
6
+ brand: import("preact").JSX.Element;
7
+ building: import("preact").JSX.Element;
8
+ circles: import("preact").JSX.Element;
9
+ clock: import("preact").JSX.Element;
10
+ filter: import("preact").JSX.Element;
11
+ globe: import("preact").JSX.Element;
12
+ magnifier: import("preact").JSX.Element;
13
+ magnifierSimple: import("preact").JSX.Element;
14
+ mapPin: import("preact").JSX.Element;
15
+ pay: import("preact").JSX.Element;
16
+ sunset: import("preact").JSX.Element;
17
+ x: import("preact").JSX.Element;
18
+ plus: import("preact").JSX.Element;
19
+ 'chevron-right': import("preact").JSX.Element;
20
+ ai: import("preact").JSX.Element;
21
+ };
22
+ export type IconName = keyof typeof icons;
23
+ export declare const IconSpritesheet: ({ theme }: {
24
+ theme: JobSearchPluginParams['theme'];
25
+ }) => import("preact").JSX.Element;
26
+ export declare const Icon: ({ name, ...props }: {
27
+ name: IconName;
28
+ } & ComponentProps<'svg'>) => import("preact").JSX.Element;
29
+ export {};
@@ -0,0 +1,13 @@
1
+ import { JobSchema } from '../job-search.schemas';
2
+ import { JobSearchPluginParams } from '../job-search.ts';
3
+
4
+ export declare const JobCard: ({ job, config, onJobClick, }: {
5
+ job: JobSchema;
6
+ config: JobSearchPluginParams['jobCard'];
7
+ onJobClick?: (job: JobSchema) => void;
8
+ }) => import("preact/compat").JSX.Element;
9
+ export declare const JobCardSkeleton: ({ config, animationDelay, seed, }: {
10
+ config: JobSearchPluginParams['jobCard'];
11
+ animationDelay: number;
12
+ seed: number;
13
+ }) => import("preact/compat").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { AnalyticsService, ApiClient, Logger } from '@inploi/sdk';
2
+ import { JobSearchPluginParams } from '../job-search';
3
+ import { getJobSearchResults } from '../job-search.api';
4
+ import { FilterValue } from './filter';
5
+
6
+ type JobSearchProps = {
7
+ properties: JobSearchPluginParams['properties'];
8
+ apiClient: ApiClient;
9
+ logger: Logger;
10
+ analytics: AnalyticsService;
11
+ class?: string;
12
+ params: JobSearchPluginParams;
13
+ initialData?: {
14
+ jobs: Awaited<ReturnType<typeof getJobSearchResults>>;
15
+ };
16
+ onFilterChange?: (params: Record<string, FilterValue | undefined>) => void;
17
+ onKeywordChange?: (keyword: string | undefined) => void;
18
+ onResultsUpdate?: (data: {
19
+ totalCount: number;
20
+ }) => void;
21
+ };
22
+ export declare const getFilterDefaults: (properties: JobSearchPluginParams['properties'], field?: 'value' | 'defaultValue') => Record<string, FilterValue | undefined>;
23
+ export declare const JobSearch: ({ apiClient, logger, properties, class: className, analytics, initialData, onFilterChange, onKeywordChange, params, }: JobSearchProps) => import("preact").JSX.Element;
24
+ export {};
@@ -0,0 +1,5 @@
1
+ type KeywordSearchProps = {
2
+ onKeywordChange?: (keyword: string | undefined) => void;
3
+ };
4
+ export declare const KeywordSearch: ({ onKeywordChange }: KeywordSearchProps) => import("preact").JSX.Element;
5
+ export {};
@@ -0,0 +1,9 @@
1
+ import { store } from '../job-search.state';
2
+ import { FilterValue } from './filter';
3
+
4
+ type ModeSwitchProps = {
5
+ onSwitch?: (mode: typeof store.keyword$.value) => void;
6
+ appliedFilters: Record<string, FilterValue | undefined>;
7
+ };
8
+ export declare const ModeSwitch: ({ onSwitch, appliedFilters }: ModeSwitchProps) => import("preact").JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { JobSearchPluginParams } from '..';
2
+
3
+ type KeywordSearchProps = {
4
+ onKeywordChange?: (keyword: string | undefined) => void;
5
+ options: JobSearchPluginParams['naturalLanguageSearch'];
6
+ };
7
+ export declare const NaturalLanguageSearch: ({ onKeywordChange, options }: KeywordSearchProps) => import("preact").JSX.Element;
8
+ export {};
@@ -0,0 +1 @@
1
+ export declare const PaletteDebugger: () => import("preact").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { ApiClient, Logger } from '@inploi/sdk';
2
+ import { getJobSearchResults } from '../job-search.api';
3
+ import { JobSchema } from '../job-search.schemas';
4
+ import { JobSearchPluginParams } from '../job-search.ts';
5
+ import { FilterValue } from './filter';
6
+
7
+ type ResultsSectionProps = {
8
+ appliedFilters: Record<string, FilterValue | undefined>;
9
+ apiClient: ApiClient;
10
+ logger: Logger;
11
+ jobCardConfig: JobSearchPluginParams['jobCard'];
12
+ initialData?: Awaited<ReturnType<typeof getJobSearchResults>>;
13
+ onResultsUpdate?: (data: {
14
+ totalCount: number;
15
+ }) => void;
16
+ onJobClick: (job: JobSchema, page: number) => void;
17
+ onPaginate: (page: number) => void;
18
+ mode: 'vector' | 'query';
19
+ };
20
+ export declare const ResultsSection: ({ appliedFilters, apiClient, logger, jobCardConfig, initialData, onResultsUpdate, onJobClick, onPaginate, mode, }: ResultsSectionProps) => import("preact").JSX.Element;
21
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from 'preact';
2
+
3
+ export declare const RovingText: ({ intervalMs, strings, class: className, }: {
4
+ intervalMs: number;
5
+ strings: string[];
6
+ } & ComponentProps<'div'>) => import("preact").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const SkeletonText: ({ chars }: {
2
+ chars: number;
3
+ }) => import("preact").JSX.Element;
@@ -0,0 +1,60 @@
1
+ export declare const tagClass: (props?: ({
2
+ variant?: "neutralWeak" | "neutralStrong" | "accentStrong" | "monetaryWeak" | undefined;
3
+ interactive?: boolean | undefined;
4
+ size?: "xs" | "sm" | "lg" | undefined;
5
+ disabled?: boolean | undefined;
6
+ } & ({
7
+ class?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
8
+ [x: string]: any;
9
+ } | null | undefined)[] | {
10
+ [x: string]: any;
11
+ } | null | undefined)[] | {
12
+ [x: string]: any;
13
+ } | null | undefined)[] | {
14
+ [x: string]: any;
15
+ } | null | undefined)[] | {
16
+ [x: string]: any;
17
+ } | null | undefined)[] | {
18
+ [x: string]: any;
19
+ } | null | undefined)[] | {
20
+ [x: string]: any;
21
+ } | null | undefined)[] | {
22
+ [x: string]: any;
23
+ } | null | undefined)[] | {
24
+ [x: string]: any;
25
+ } | null | undefined)[] | {
26
+ [x: string]: any;
27
+ } | null | undefined)[] | {
28
+ [x: string]: any;
29
+ } | null | undefined)[] | {
30
+ [x: string]: any;
31
+ } | null | undefined;
32
+ className?: undefined;
33
+ } | {
34
+ class?: undefined;
35
+ className?: string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | (string | number | boolean | any | {
36
+ [x: string]: any;
37
+ } | null | undefined)[] | {
38
+ [x: string]: any;
39
+ } | null | undefined)[] | {
40
+ [x: string]: any;
41
+ } | null | undefined)[] | {
42
+ [x: string]: any;
43
+ } | null | undefined)[] | {
44
+ [x: string]: any;
45
+ } | null | undefined)[] | {
46
+ [x: string]: any;
47
+ } | null | undefined)[] | {
48
+ [x: string]: any;
49
+ } | null | undefined)[] | {
50
+ [x: string]: any;
51
+ } | null | undefined)[] | {
52
+ [x: string]: any;
53
+ } | null | undefined)[] | {
54
+ [x: string]: any;
55
+ } | null | undefined)[] | {
56
+ [x: string]: any;
57
+ } | null | undefined)[] | {
58
+ [x: string]: any;
59
+ } | null | undefined;
60
+ })) | undefined) => string;
@@ -0,0 +1 @@
1
+ "use strict";const y={ANNUALLY:"per year",DAILY:"per day",HOURLY:"per hour",MONTHLY:"per month",WEEKLY:"per week"},s=a=>{const{salary:e,config:i}=a,t=new Intl.NumberFormat(i.locales,{style:"currency",currency:e.pay_currency,trailingZeroDisplay:"stripIfInteger"});if(e.pay_display===!1)return;if(e.pay_mask)return a.t("competitive");if(e.pay_max&&isNaN(+e.pay_max)||e.pay_min&&isNaN(+e.pay_min)||e.pay&&isNaN(+e.pay))return a.t("invalid_salary");const r=e.pay_type&&e.pay_type in y?y[e.pay_type]:void 0;return e.pay?[t.format(+e.pay),r].filter(Boolean).join(" "):e.pay_max&&e.pay_min?[t.formatRange(+e.pay_min,+e.pay_max),r].filter(Boolean).join(" "):e.pay_max?a.t("up_to")+" "+[t.format(+e.pay_max),r].filter(Boolean).join(" "):e.pay_min?a.t("from")+" "+[t.format(+e.pay_min),r].filter(Boolean).join(" "):a.t("invalid_salary")},f=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"}),l=({from:a=new Date,to:e,formatter:i=f,t})=>{const o=(e instanceof Date?e:new Date(e)).getTime()-a.getTime(),n={days:Math.round(o/1e3/60/60/24),months:Math.round(o/1e3/60/60/24/30)};return n.days===0?t("today"):Math.abs(n.days)<30?i.format(n.days,"days"):Math.abs(n.days)<3?i.format(n.months,"months"):n.months<0?t("over_30_days_ago"):t("in_over_30_days")};exports.getRelativeTimeDifference=l;exports.getSalaryAsText=s;
@@ -0,0 +1,32 @@
1
+ const y = {
2
+ ANNUALLY: "per year",
3
+ DAILY: "per day",
4
+ HOURLY: "per hour",
5
+ MONTHLY: "per month",
6
+ WEEKLY: "per week"
7
+ }, f = (e) => {
8
+ const { salary: a, config: i } = e, t = new Intl.NumberFormat(i.locales, {
9
+ style: "currency",
10
+ currency: a.pay_currency,
11
+ // @ts-expect-error - it exists, but TS doesn't know it
12
+ trailingZeroDisplay: "stripIfInteger"
13
+ });
14
+ if (a.pay_display === !1)
15
+ return;
16
+ if (a.pay_mask)
17
+ return e.t("competitive");
18
+ if (a.pay_max && isNaN(+a.pay_max) || a.pay_min && isNaN(+a.pay_min) || a.pay && isNaN(+a.pay))
19
+ return e.t("invalid_salary");
20
+ const r = a.pay_type && a.pay_type in y ? y[a.pay_type] : void 0;
21
+ return a.pay ? [t.format(+a.pay), r].filter(Boolean).join(" ") : a.pay_max && a.pay_min ? [t.formatRange(+a.pay_min, +a.pay_max), r].filter(Boolean).join(" ") : a.pay_max ? e.t("up_to") + " " + [t.format(+a.pay_max), r].filter(Boolean).join(" ") : a.pay_min ? e.t("from") + " " + [t.format(+a.pay_min), r].filter(Boolean).join(" ") : e.t("invalid_salary");
22
+ }, s = new Intl.RelativeTimeFormat(void 0, { numeric: "auto" }), p = ({ from: e = /* @__PURE__ */ new Date(), to: a, formatter: i = s, t }) => {
23
+ const o = (a instanceof Date ? a : new Date(a)).getTime() - e.getTime(), n = {
24
+ days: Math.round(o / 1e3 / 60 / 60 / 24),
25
+ months: Math.round(o / 1e3 / 60 / 60 / 24 / 30)
26
+ };
27
+ return n.days === 0 ? t("today") : Math.abs(n.days) < 30 ? i.format(n.days, "days") : Math.abs(n.days) < 3 ? i.format(n.months, "months") : n.months < 0 ? t("over_30_days_ago") : t("in_over_30_days");
28
+ };
29
+ export {
30
+ p as a,
31
+ f as g
32
+ };