@trebired/frontend 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/inputs/advanced/index.d.ts +2 -0
  3. package/dist/inputs/advanced/index.d.ts.map +1 -1
  4. package/dist/inputs/advanced/input/styles/input.scss +32 -0
  5. package/dist/inputs/upload/config.d.ts +2 -0
  6. package/dist/inputs/upload/config.d.ts.map +1 -1
  7. package/dist/inputs/upload/config.js +1 -0
  8. package/dist/inputs/upload/config.js.map +1 -1
  9. package/dist/inputs/upload/dom.d.ts +2 -1
  10. package/dist/inputs/upload/dom.d.ts.map +1 -1
  11. package/dist/inputs/upload/dom.js +4 -1
  12. package/dist/inputs/upload/dom.js.map +1 -1
  13. package/dist/inputs/upload/manager.d.ts.map +1 -1
  14. package/dist/inputs/upload/manager.js +3 -2
  15. package/dist/inputs/upload/manager.js.map +1 -1
  16. package/dist/inputs/upload/markup.d.ts +1 -0
  17. package/dist/inputs/upload/markup.d.ts.map +1 -1
  18. package/dist/inputs/upload/markup.js +1 -0
  19. package/dist/inputs/upload/markup.js.map +1 -1
  20. package/dist/inputs/upload/model.d.ts +1 -0
  21. package/dist/inputs/upload/model.d.ts.map +1 -1
  22. package/dist/inputs/upload/model.js +1 -0
  23. package/dist/inputs/upload/model.js.map +1 -1
  24. package/dist/inputs/upload/state.d.ts +2 -1
  25. package/dist/inputs/upload/state.d.ts.map +1 -1
  26. package/dist/inputs/upload/state.js +37 -5
  27. package/dist/inputs/upload/state.js.map +1 -1
  28. package/dist/inputs/upload/types.d.ts +2 -0
  29. package/dist/inputs/upload/types.d.ts.map +1 -1
  30. package/dist/layout/components/shell/product/sidebar.d.ts.map +1 -1
  31. package/dist/layout/components/shell/product/sidebar.js +6 -4
  32. package/dist/layout/components/shell/product/sidebar.js.map +1 -1
  33. package/dist/logs/styles.scss +0 -18
  34. package/dist/primitives/components/classes.js +1 -1
  35. package/dist/primitives/components/classes.js.map +1 -1
  36. package/dist/search/client/cache.d.ts +16 -0
  37. package/dist/search/client/cache.d.ts.map +1 -0
  38. package/dist/search/client/cache.js +132 -0
  39. package/dist/search/client/cache.js.map +1 -0
  40. package/dist/search/client/state.d.ts +23 -1
  41. package/dist/search/client/state.d.ts.map +1 -1
  42. package/dist/search/client/state.js.map +1 -1
  43. package/dist/search/client.d.ts +6 -0
  44. package/dist/search/client.d.ts.map +1 -1
  45. package/dist/search/client.js +47 -117
  46. package/dist/search/client.js.map +1 -1
  47. package/dist/src/inputs/advanced/index.d.ts +2 -0
  48. package/dist/src/inputs/advanced/index.d.ts.map +1 -1
  49. package/dist/src/inputs/upload/config.d.ts +2 -0
  50. package/dist/src/inputs/upload/config.d.ts.map +1 -1
  51. package/dist/src/inputs/upload/config.js +1 -0
  52. package/dist/src/inputs/upload/config.js.map +1 -1
  53. package/dist/src/inputs/upload/dom.d.ts +2 -1
  54. package/dist/src/inputs/upload/dom.d.ts.map +1 -1
  55. package/dist/src/inputs/upload/dom.js +4 -1
  56. package/dist/src/inputs/upload/dom.js.map +1 -1
  57. package/dist/src/inputs/upload/manager.d.ts.map +1 -1
  58. package/dist/src/inputs/upload/manager.js +3 -2
  59. package/dist/src/inputs/upload/manager.js.map +1 -1
  60. package/dist/src/inputs/upload/markup.d.ts +1 -0
  61. package/dist/src/inputs/upload/markup.d.ts.map +1 -1
  62. package/dist/src/inputs/upload/markup.js +1 -0
  63. package/dist/src/inputs/upload/markup.js.map +1 -1
  64. package/dist/src/inputs/upload/model.d.ts +1 -0
  65. package/dist/src/inputs/upload/model.d.ts.map +1 -1
  66. package/dist/src/inputs/upload/model.js +1 -0
  67. package/dist/src/inputs/upload/model.js.map +1 -1
  68. package/dist/src/inputs/upload/state.d.ts +2 -1
  69. package/dist/src/inputs/upload/state.d.ts.map +1 -1
  70. package/dist/src/inputs/upload/state.js +37 -5
  71. package/dist/src/inputs/upload/state.js.map +1 -1
  72. package/dist/src/inputs/upload/types.d.ts +2 -0
  73. package/dist/src/inputs/upload/types.d.ts.map +1 -1
  74. package/dist/src/layout/components/shell/product/sidebar.d.ts.map +1 -1
  75. package/dist/src/layout/components/shell/product/sidebar.js +6 -4
  76. package/dist/src/layout/components/shell/product/sidebar.js.map +1 -1
  77. package/dist/src/primitives/components/classes.js +1 -1
  78. package/dist/src/primitives/components/classes.js.map +1 -1
  79. package/dist/src/search/client/cache.d.ts +16 -0
  80. package/dist/src/search/client/cache.d.ts.map +1 -0
  81. package/dist/src/search/client/cache.js +132 -0
  82. package/dist/src/search/client/cache.js.map +1 -0
  83. package/dist/src/search/client/state.d.ts +23 -1
  84. package/dist/src/search/client/state.d.ts.map +1 -1
  85. package/dist/src/search/client/state.js.map +1 -1
  86. package/dist/src/search/client.d.ts +6 -0
  87. package/dist/src/search/client.d.ts.map +1 -1
  88. package/dist/src/search/client.js +47 -117
  89. package/dist/src/search/client.js.map +1 -1
  90. package/dist/src/tooltip/index.d.ts.map +1 -1
  91. package/dist/src/tooltip/index.js +24 -0
  92. package/dist/src/tooltip/index.js.map +1 -1
  93. package/dist/tooltip/index.d.ts.map +1 -1
  94. package/dist/tooltip/index.js +24 -0
  95. package/dist/tooltip/index.js.map +1 -1
  96. package/package.json +1 -1
@@ -39,7 +39,8 @@ function ProductShellSidebarDefaultControls(props) {
39
39
  const minimizeLabel = productShellLabel(labels, "minimize");
40
40
  const themeLabel = productShellLabel(labels, "toggleTheme");
41
41
  const aboutLabel = productShellLabel(labels, "about");
42
- return (_jsx(ProductShellSidebarControls, { ...rest, minimize: (_jsx(ProductShellSidebarMinimizeButton, { controls: controlsId, className: buttonClassName, expandedIcon: productShellControlIcon("remixicon arrow-left-s-line"), labels: labels, minimizedIcon: productShellControlIcon("remixicon arrow-right-s-line"), title: minimizeLabel })), theme: (_jsx(ProductShellThemeToggle, { dark: dark, id: `${prefix}_theme_toggle_btn`, light: light, modes: modes, className: buttonClassName, ...frontendDataAttrs({ "tooltip": themeLabel }), icon: productShellThemeIcon(theme), labels: labels, theme: theme })), language: locale_switcher({ id: `${prefix}_lang_switch_btn`, lang }), about: (_jsx(ProductShellAboutButton, { href: aboutHref, className: buttonClassName, icon: productShellControlIcon("remixicon information-2-line"), labels: labels, productName: productName, title: aboutLabel })) }));
42
+ const hasIconOnlyControls = /\bicon\b/u.test(buttonClassName);
43
+ return (_jsx(ProductShellSidebarControls, { ...rest, minimize: (_jsx(ProductShellSidebarMinimizeButton, { controls: controlsId, className: buttonClassName, expandedIcon: productShellControlIcon("remixicon arrow-left-s-line"), labels: labels, minimizedIcon: productShellControlIcon("remixicon arrow-right-s-line"), title: minimizeLabel })), theme: (_jsx(ProductShellThemeToggle, { dark: dark, id: `${prefix}_theme_toggle_btn`, light: light, modes: modes, className: buttonClassName, ...(hasIconOnlyControls ? frontendDataAttrs({ "tooltip": themeLabel }) : {}), icon: productShellThemeIcon(theme), labels: labels, theme: theme })), language: locale_switcher({ id: `${prefix}_lang_switch_btn`, lang }), about: (_jsx(ProductShellAboutButton, { href: aboutHref, className: buttonClassName, icon: productShellControlIcon("remixicon information-2-line"), labels: labels, productName: productName, title: aboutLabel })) }));
43
44
  }
44
45
  function productShellThemeSelect(props) {
45
46
  return (_jsx(ThemeSelect, { "aria-hidden": "true", className: `popover popover-portaled ${frontendClassName("theme-switch-popover")}`, dark: props.dark, ...frontendDataAttrs({ "popover": "" }), id: props.popoverId, inert: true, label: props.label, light: props.light, modes: props.modes, optionClassName: "popover-item", value: props.theme, variant: "buttons" }));
@@ -50,6 +51,7 @@ function ProductShellThemeToggle(props) {
50
51
  const id = String(rest.id || `${FRONTEND_PREFIX}_product_shell_theme_control`);
51
52
  const themePopoverId = popoverId || `${id}_menu`;
52
53
  const body = children || icon;
54
+ const iconOnly = !children;
53
55
  return (_jsxs(_Fragment, { children: [button({
54
56
  ...rest,
55
57
  "aria-controls": themePopoverId,
@@ -59,10 +61,10 @@ function ProductShellThemeToggle(props) {
59
61
  children: body,
60
62
  className: classNames(frontendClassName("product-shell-theme-control"), className),
61
63
  [frontendDataAttr("popover-trigger")]: "",
62
- icon: !children,
64
+ icon: iconOnly,
63
65
  id,
64
- title: String(label),
65
- tooltip: true,
66
+ title: iconOnly ? String(label) : undefined,
67
+ tooltip: iconOnly,
66
68
  type,
67
69
  }), productShellThemeSelect({
68
70
  dark,
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,OAAO,EACP,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAU/C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAQ9H,SAAS,yBAAyB,CAAC,KAAqC;IACtE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,QAAQ,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,CACL,KAAC,aAAa,OACV,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,SAAS,CAAC,YAElF,IAAI,GACW,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvE,OAAO,CACL,MAAC,IAAI,OAAK,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,aACpG,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,IACC,CACR,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,uBAAuB,CAC5B,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO;QAC7C,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,oBAAoB,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,KAA6C;IAE7C,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,MAAM,EACN,aAAa,EACb,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,CACL,KAAC,qBAAqB,OAClB,IAAI,gBACI,KAAK,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,EACrF,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAEnB,QAAQ,IAAI,CACT,8BACA,eAAM,SAAS,EAAE,oBAAoB,CAAC,gCAAgC,EAAE,UAAU,CAAC,YAClF,YAAY,GACN,EACP,eAAM,SAAS,EAAE,oBAAoB,CAAC,gCAAgC,EAAE,QAAQ,CAAC,YAChF,aAAa,GACP,IACJ,CACN,GACuB,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,KAA8C;IAE9C,MAAM,EACJ,SAAS,EACT,eAAe,GAAG,sBAAsB,EACxC,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,GAAG,MAAM,EACb,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,QAAQ,IAAI,yBAAyB,IAAI,EAAE,CAAC;IAC3D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,CACL,KAAC,2BAA2B,OACxB,IAAI,EACR,QAAQ,EAAE,CACN,KAAC,iCAAiC,IAClC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,EACpE,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,uBAAuB,CAAC,8BAA8B,CAAC,EACtE,KAAK,EAAE,aAAa,GAClB,CACL,EACD,KAAK,EAAE,CACH,KAAC,uBAAuB,IACxB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,GAAG,MAAM,mBAAmB,EAChC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,eAAe,KACtB,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAChD,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACV,CACL,EACD,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,kBAAkB,EAAE,IAAI,EAAE,CAAC,EACpE,KAAK,EAAE,CACH,KAAC,uBAAuB,IACxB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,uBAAuB,CAAC,8BAA8B,CAAC,EAC7D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,UAAU,GACf,CACL,GACC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmC;IAClE,OAAO,CACL,KAAC,WAAW,mBACA,MAAM,EAClB,SAAS,EAAE,4BAA4B,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,EAClF,IAAI,EAAE,KAAK,CAAC,IAAI,KACZ,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EACxC,EAAE,EAAE,KAAK,CAAC,SAAS,EACnB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,eAAe,EAAC,cAAc,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAC,SAAS,GACf,CACH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,eAAe,8BAA8B,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,SAAS,IAAI,GAAG,EAAE,OAAO,CAAC;IACjD,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC;IAC9B,OAAO,CACL,8BACC,MAAM,CAAC;gBACF,GAAG,IAAI;gBACP,eAAe,EAAE,cAAc;gBAC/B,eAAe,EAAE,OAAO;gBACxB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK;gBAC1C,eAAe,EAAE,MAAM;gBACvB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,EAAE,SAAS,CAAC;gBAClF,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE;gBACzC,IAAI,EAAE,CAAC,QAAQ;gBACf,EAAE;gBACF,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI;aACT,CAAC,EACD,uBAAuB,CAAC;gBACnB,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,KAAK;gBACL,KAAK;gBACL,SAAS,EAAE,cAAc;gBACzB,KAAK;aACV,CAAC,IACC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrF,MAAM,KAAK,GAAG,KAAK,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,CACL,eACI,IAAI,gBACI,KAAK,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC,EAC1E,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAEnB,QAAQ,IAAI,IAAI,IAAI,KAAK,GACtB,CACL,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA+B;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,iBAAiB,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,gBAAgB,IAAI,EAAE,CAAC;IACtD,OAAO,CACL,KAAC,YAAY,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,YACnH,MAAC,OAAO,kBAAa,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,uBAAuB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,aACvF,KAAC,WAAW,IAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,YACzG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,GAClB,EACb,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjC,KAAC,yBAAyB,IAAC,OAAO,EAAE,KAAK,CAAC,aAAa,YACtD,KAAK,CAAC,MAAM,GACe,CAC/B,IACS,GACK,CAChB,CAAC;AACJ,CAAC;AAED,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,kCAAkC,EAClC,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -241,21 +241,3 @@
241
241
  min-width: 0;
242
242
  }
243
243
  }
244
-
245
- .input-search-icon {
246
- position: absolute;
247
- top: 50%;
248
- right: 10px;
249
- transform: translateY(-50%);
250
- display: inline-flex;
251
- align-items: center;
252
- justify-content: center;
253
- color: var(--text-color-muted);
254
- pointer-events: none;
255
- line-height: 0;
256
-
257
- svg {
258
- width: 16px;
259
- height: 16px;
260
- }
261
- }
@@ -12,7 +12,7 @@ function primitiveButtonTone(options) {
12
12
  return tone || "";
13
13
  }
14
14
  function primitiveButtonClassName(options = {}) {
15
- return appendClassName("btn", options.icon ? "icon" : "", options.size, primitiveButtonTone(options), options.active ? "active" : "", options.tooltip ? "has-tooltip" : "", options.transparent ? "transparent" : "", options.className);
15
+ return appendClassName("btn", options.icon ? "icon" : "", options.size, primitiveButtonTone(options), options.active ? "active" : "", options.icon && options.tooltip ? "has-tooltip" : "", options.transparent ? "transparent" : "", options.className);
16
16
  }
17
17
  function primitiveStackClassName(options = {}) {
18
18
  return joinClassNames("column", primitiveGapClass(options.gap), options.center ? "center" : "", options.horizontalCenter ? "hor-center" : "", options.verticalCenter ? "ver-center" : "", options.grow ? "grow" : "", options.noShrink ? "no-shrink" : "", options.className);
@@ -1 +1 @@
1
- {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../../src/primitives/components/classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwEtE,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA0B;IACvD,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACxD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAuC,EAAE;IACzE,OAAO,eAAe,CACpB,KAAK,EACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1B,OAAO,CAAC,IAAI,EACZ,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EACpC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EACxC,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsC,EAAE;IACvE,OAAO,cAAc,CACnB,QAAQ,EACR,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAC5C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACnC,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,UAA0C,EAAE;IAC/E,OAAO,cAAc,CACnB,YAAY,EACZ,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAChC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACnC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1B,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAqC,EAAE;IACrE,OAAO,cAAc,CACnB,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAChD,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAC9B,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAqC,EAAE;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ;QACjD,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnI,OAAO,cAAc,CACnB,MAAM,EACN,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAC1F,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EACzC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAwC,EAAE;IAC3E,OAAO,cAAc,CACnB,UAAU,EACV,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAClC,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAqC,EAAE;IACrE,OAAO,cAAc,CACnB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAC1C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EACrC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EACpC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAC5B,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,UAI/B,EAAE;IACN,OAAO,cAAc,CACnB,KAAK,EACL,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,EACjD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,EAC1C,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../../src/primitives/components/classes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SearchFilterRecord, SearchItemRecord, SearchPanelBinding } from "./state.js";
2
+ declare function refreshPanelCache(panel: SearchPanelBinding): import("./state.js").SearchPanelCache;
3
+ declare function panelCache(panel: SearchPanelBinding): import("./state.js").SearchPanelCache;
4
+ declare function getSearchInputs(panel: SearchPanelBinding): import("./state.js").SearchInput[];
5
+ declare function getFilterInputs(panel: SearchPanelBinding): SearchFilterRecord[];
6
+ declare function getCombinedQuery(panel: SearchPanelBinding): string;
7
+ declare function itemMatchesFilters(item: SearchItemRecord, filters: SearchFilterRecord[]): boolean;
8
+ declare function itemMatchesQuery(item: SearchItemRecord, query: string): boolean;
9
+ declare function filterDetails(filters: SearchFilterRecord[]): {
10
+ input: import("./state.js").SearchInput;
11
+ key: string;
12
+ value: string;
13
+ }[];
14
+ declare function syncDropdownSections(panel: SearchPanelBinding, visibleSections: Set<string>): void;
15
+ export { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, };
16
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/search/client/cache.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAuFpB,iBAAS,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,yCAWnD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,yCAE5C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,kBAAkB,sCAEjD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,kBAAkB,wBAEjD;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,UAKlD;AAMD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAShF;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,WAG9D;AAED,iBAAS,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE;;;;IAMnD;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,QAQpF;AAED,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,GACrB,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { searchText, toText } from "../model.js";
2
+ import { isInUnhydratedIsland } from "./dom.js";
3
+ import { searchPanelHostFromNode } from "./hosts.js";
4
+ import { firstFormControl, normalizeSearchKey, readSearchFilterConfig, readSearchItemConfig, searchFilterValues, tagName, } from "./config.js";
5
+ import { registeredSearchControls } from "./registry.js";
6
+ function controlsForPanel(panel) {
7
+ if (!panel.familyKey)
8
+ return [];
9
+ return registeredSearchControls(panel.familyKey).filter((node) => !isInUnhydratedIsland(node));
10
+ }
11
+ function belongsToPanel(panel, node) {
12
+ const host = searchPanelHostFromNode(node);
13
+ return !host || host === panel.host;
14
+ }
15
+ function collectHosts(panel, rootSelector, controlSelector) {
16
+ const out = new Set();
17
+ if (rootSelector) {
18
+ Array.from(panel.root.querySelectorAll(rootSelector)).forEach((node) => {
19
+ if (node instanceof HTMLElement && belongsToPanel(panel, node))
20
+ out.add(node);
21
+ });
22
+ }
23
+ if (controlSelector) {
24
+ controlsForPanel(panel).forEach((controls) => {
25
+ Array.from(controls.querySelectorAll(controlSelector)).forEach((node) => {
26
+ if (node instanceof HTMLElement)
27
+ out.add(node);
28
+ });
29
+ });
30
+ }
31
+ return Array.from(out);
32
+ }
33
+ function readSearchInputs(panel) {
34
+ return collectHosts(panel, "search-query-input", "search-query-input")
35
+ .map(firstFormControl)
36
+ .filter((input) => input instanceof HTMLInputElement || input instanceof HTMLSelectElement);
37
+ }
38
+ function readFilterRecords(panel) {
39
+ return collectHosts(panel, "search-filter", "search-filter")
40
+ .map((host) => {
41
+ const input = firstFormControl(host);
42
+ const config = readSearchFilterConfig(host);
43
+ return {
44
+ input,
45
+ key: normalizeSearchKey(config.attr),
46
+ };
47
+ })
48
+ .filter((filter) => Boolean(filter.input && filter.key));
49
+ }
50
+ function getEmptyNodes(panel) {
51
+ return collectHosts(panel, "search-empty, [data-search-empty-slot]", "");
52
+ }
53
+ function getSearchItems(panel) {
54
+ return collectHosts(panel, "search-item, [data-search-item]", "");
55
+ }
56
+ function getSectionHeadings(panel) {
57
+ return Array.from(panel.root.querySelectorAll("[data-dropdown-section-heading]"));
58
+ }
59
+ function readSearchItemRecord(item) {
60
+ const config = readSearchItemConfig(item);
61
+ return {
62
+ element: item,
63
+ exclude: config.exclude === true,
64
+ filters: config.filters,
65
+ section: tagName(item) === "li"
66
+ ? toText(item.getAttribute("data-dropdown-section"))
67
+ : "",
68
+ text: searchText(config.text || item.textContent),
69
+ };
70
+ }
71
+ function refreshPanelCache(panel) {
72
+ const items = getSearchItems(panel).map(readSearchItemRecord);
73
+ panel.cache = {
74
+ emptyNodes: getEmptyNodes(panel),
75
+ filters: readFilterRecords(panel),
76
+ inputs: readSearchInputs(panel),
77
+ items,
78
+ sectionHeadings: getSectionHeadings(panel),
79
+ total: items.filter((item) => !item.exclude).length,
80
+ };
81
+ return panel.cache;
82
+ }
83
+ function panelCache(panel) {
84
+ return panel.cache || refreshPanelCache(panel);
85
+ }
86
+ function getSearchInputs(panel) {
87
+ return panelCache(panel).inputs;
88
+ }
89
+ function getFilterInputs(panel) {
90
+ return panelCache(panel).filters;
91
+ }
92
+ function getCombinedQuery(panel) {
93
+ return getSearchInputs(panel)
94
+ .map((input) => searchText(input.value))
95
+ .filter(Boolean)
96
+ .join(" ");
97
+ }
98
+ function filterValue(filter) {
99
+ return toText(filter.input.value, "all");
100
+ }
101
+ function itemMatchesFilters(item, filters) {
102
+ return filters.every((filter) => {
103
+ if (!filter.key)
104
+ return true;
105
+ const value = filterValue(filter);
106
+ if (!value || value === "all")
107
+ return true;
108
+ return searchFilterValues(item.filters, filter.key).includes(value);
109
+ });
110
+ }
111
+ function itemMatchesQuery(item, query) {
112
+ if (!query)
113
+ return true;
114
+ return item.text.includes(query);
115
+ }
116
+ function filterDetails(filters) {
117
+ return filters.map((filter) => ({
118
+ input: filter.input,
119
+ key: filter.key,
120
+ value: filterValue(filter),
121
+ }));
122
+ }
123
+ function syncDropdownSections(panel, visibleSections) {
124
+ panelCache(panel).sectionHeadings.forEach((sectionNode) => {
125
+ const section = toText(sectionNode.getAttribute("data-dropdown-section-heading"));
126
+ if (!section)
127
+ return;
128
+ sectionNode.hidden = !visibleSections.has(section);
129
+ });
130
+ }
131
+ export { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, };
132
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/search/client/cache.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,30 @@
1
1
  type SearchPanelBinding = {
2
+ cache: SearchPanelCache | null;
2
3
  familyKey: string;
3
4
  host: HTMLElement;
5
+ renderFrame: number;
4
6
  root: HTMLElement;
5
7
  };
8
+ type SearchInput = HTMLInputElement | HTMLSelectElement;
9
+ type SearchFilterRecord = {
10
+ input: SearchInput;
11
+ key: string;
12
+ };
13
+ type SearchItemRecord = {
14
+ element: HTMLElement;
15
+ exclude: boolean;
16
+ filters: Record<string, unknown> | undefined;
17
+ section: string;
18
+ text: string;
19
+ };
20
+ type SearchPanelCache = {
21
+ emptyNodes: HTMLElement[];
22
+ filters: SearchFilterRecord[];
23
+ inputs: SearchInput[];
24
+ items: SearchItemRecord[];
25
+ sectionHeadings: HTMLElement[];
26
+ total: number;
27
+ };
6
28
  declare const SEARCH_PANEL_SELECTOR = "search-panel";
7
29
  declare const SEARCH_CONTROLS_SELECTOR = "search-controls";
8
30
  declare const panelBindings: WeakMap<HTMLElement, SearchPanelBinding>;
@@ -10,5 +32,5 @@ declare const controlBindings: WeakSet<HTMLElement>;
10
32
  declare const inputBindings: WeakMap<HTMLElement, Set<string>>;
11
33
  declare function panelToken(panel: SearchPanelBinding): string;
12
34
  export { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, controlBindings, inputBindings, panelBindings, panelToken, };
13
- export type { SearchPanelBinding };
35
+ export type { SearchFilterRecord, SearchInput, SearchItemRecord, SearchPanelBinding, SearchPanelCache, };
14
36
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,qBAAqB,iBAAiB,CAAC;AAC7C,QAAA,MAAM,wBAAwB,oBAAoB,CAAC;AACnD,QAAA,MAAM,aAAa,0CAAiD,CAAC;AACrE,QAAA,MAAM,eAAe,sBAA6B,CAAC;AACnD,QAAA,MAAM,aAAa,mCAA0C,CAAC;AAK9D,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,UAO5C;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAExD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,SAAS,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,qBAAqB,iBAAiB,CAAC;AAC7C,QAAA,MAAM,wBAAwB,oBAAoB,CAAC;AACnD,QAAA,MAAM,aAAa,0CAAiD,CAAC;AACrE,QAAA,MAAM,eAAe,sBAA6B,CAAC;AACnD,QAAA,MAAM,aAAa,mCAA0C,CAAC;AAK9D,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,UAO5C;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC;AACF,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAMA,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAC7C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmC,CAAC;AACrE,MAAM,eAAe,GAAG,IAAI,OAAO,EAAe,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAA4B,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,gBAAgB,IAAI,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,gBAAgB,gBAAgB,EAAE,CAAC;IACjD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAgCA,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAC7C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmC,CAAC;AACrE,MAAM,eAAe,GAAG,IAAI,OAAO,EAAe,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAA4B,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,gBAAgB,IAAI,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,gBAAgB,gBAAgB,EAAE,CAAC;IACjD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC"}
@@ -1,19 +1,25 @@
1
1
  import type { BindRoot } from "../dom/index.d.ts";
2
2
  import { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, type SearchPanelBinding } from "./client/state.js";
3
3
  declare function bindSearchPanel(host: HTMLElement | null): {
4
+ cache: any;
4
5
  familyKey: string;
5
6
  host: HTMLElement;
7
+ renderFrame: number;
6
8
  root: HTMLElement;
7
9
  };
8
10
  declare function bindSearchControls(host: HTMLElement | null): HTMLElement;
9
11
  declare function bind(target?: BindRoot): {
12
+ cache: any;
10
13
  familyKey: string;
11
14
  host: HTMLElement;
15
+ renderFrame: number;
12
16
  root: HTMLElement;
13
17
  }[];
14
18
  declare function bindSearchRoot(root: HTMLElement | null): {
19
+ cache: any;
15
20
  familyKey: string;
16
21
  host: HTMLElement;
22
+ renderFrame: number;
17
23
  root: HTMLElement;
18
24
  };
19
25
  declare function refreshSearchResults(target?: BindRoot): void;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/search/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA6B9C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EAKrB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAkM3B,iBAAS,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;EAahD;AAQD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,eAanD;AAYD,iBAAS,IAAI,CAAC,MAAM,GAAE,QAAmB;;;;IAGxC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;EAQ/C;AAED,iBAAS,oBAAoB,CAAC,MAAM,GAAE,QAAmB,QAYxD;AAED,iBAAS,iBAAiB;;;;;;;GAGzB;AAED,QAAA,MAAM,aAAa;;;;;;;EAOjB,CAAC;AAEH,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,IAAI,EACJ,cAAc,IAAI,QAAQ,EAC1B,kBAAkB,EAClB,eAAe,EACf,iBAAiB,IAAI,IAAI,EACzB,oBAAoB,EACpB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/search/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgC9C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EAKrB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AA6F3B,iBAAS,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;;;EAchD;AAQD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,eAgBnD;AAaD,iBAAS,IAAI,CAAC,MAAM,GAAE,QAAmB;;;;;;IAGxC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;;;EAQ/C;AAED,iBAAS,oBAAoB,CAAC,MAAM,GAAE,QAAmB,QAYxD;AAED,iBAAS,iBAAiB;;;;;;;GAGzB;AAED,QAAA,MAAM,aAAa;;;;;;;EAOjB,CAAC;AAEH,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,IAAI,EACJ,cAAc,IAAI,QAAQ,EAC1B,kBAAkB,EAClB,eAAe,EACf,iBAAiB,IAAI,IAAI,EACzB,oBAAoB,EACpB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,eAAe,aAAa,CAAC"}
@@ -1,8 +1,9 @@
1
- import { searchText, toText } from "./model.js";
1
+ import { toText } from "./model.js";
2
2
  import { firstNonScriptHTMLElementChild, isInUnhydratedIsland, } from "./client/dom.js";
3
3
  import { searchControlHostsFromNode, searchPanelHostFromNode, searchPanelHostsFromNode, } from "./client/hosts.js";
4
- import { firstFormControl, normalizeSearchKey, readSearchControlsConfig, readSearchFilterConfig, readSearchItemConfig, readSearchPanelConfig, searchFilterValues, tagName, } from "./client/config.js";
5
- import { registerFamilyElement, registeredSearchControls, registeredSearchPanels, searchControlsByFamily, searchPanelsByFamily, } from "./client/registry.js";
4
+ import { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, } from "./client/cache.js";
5
+ import { readSearchControlsConfig, readSearchPanelConfig, } from "./client/config.js";
6
+ import { registerFamilyElement, registeredSearchPanels, searchControlsByFamily, searchPanelsByFamily, } from "./client/registry.js";
6
7
  import { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, controlBindings, inputBindings, panelBindings, panelToken, } from "./client/state.js";
7
8
  function panelBindingFromRoot(root) {
8
9
  if (!(root instanceof HTMLElement))
@@ -20,139 +21,63 @@ function searchPanelFromHost(host) {
20
21
  return null;
21
22
  const config = readSearchPanelConfig(host);
22
23
  const familyKey = toText(config.familyKey);
23
- return { familyKey, host, root };
24
- }
25
- function controlsForPanel(panel) {
26
- if (!panel.familyKey)
27
- return [];
28
- return registeredSearchControls(panel.familyKey).filter((node) => !isInUnhydratedIsland(node));
29
- }
30
- function belongsToPanel(panel, node) {
31
- const host = searchPanelHostFromNode(node);
32
- return !host || host === panel.host;
33
- }
34
- function collectHosts(panel, rootSelector, controlSelector) {
35
- const out = new Set();
36
- if (rootSelector) {
37
- Array.from(panel.root.querySelectorAll(rootSelector)).forEach((node) => {
38
- if (node instanceof HTMLElement && belongsToPanel(panel, node))
39
- out.add(node);
40
- });
41
- }
42
- if (controlSelector) {
43
- controlsForPanel(panel).forEach((controls) => {
44
- Array.from(controls.querySelectorAll(controlSelector)).forEach((node) => {
45
- if (node instanceof HTMLElement)
46
- out.add(node);
47
- });
48
- });
49
- }
50
- return Array.from(out);
51
- }
52
- function getSearchInputs(panel) {
53
- return collectHosts(panel, "search-query-input", "search-query-input")
54
- .map(firstFormControl)
55
- .filter((input) => input instanceof HTMLInputElement || input instanceof HTMLSelectElement);
56
- }
57
- function getFilterInputs(panel) {
58
- return collectHosts(panel, "search-filter", "search-filter")
59
- .map((host) => {
60
- const input = firstFormControl(host);
61
- const config = readSearchFilterConfig(host);
62
- return {
63
- input,
64
- key: normalizeSearchKey(config.attr),
65
- value: toText(input && input.value, "all"),
66
- };
67
- })
68
- .filter((filter) => Boolean(filter.input && filter.key));
69
- }
70
- function getEmptyNodes(panel) {
71
- return collectHosts(panel, "search-empty, [data-search-empty-slot]", "");
72
- }
73
- function getSearchItems(panel) {
74
- return collectHosts(panel, "search-item, [data-search-item]", "");
75
- }
76
- function getCombinedQuery(panel) {
77
- return getSearchInputs(panel)
78
- .map((input) => toText(input.value).toLowerCase())
79
- .filter(Boolean)
80
- .join(" ");
24
+ return { cache: null, familyKey, host, renderFrame: 0, root };
81
25
  }
82
26
  function setItemVisibility(item, visible) {
83
27
  item.hidden = !visible;
84
28
  }
85
- function isExcludedItem(item) {
86
- return readSearchItemConfig(item).exclude === true;
87
- }
88
- function itemMatchesFilters(item, filters) {
89
- const config = readSearchItemConfig(item);
90
- return filters.every((filter) => {
91
- if (!filter.key)
92
- return true;
93
- if (!filter.value || filter.value === "all")
94
- return true;
95
- return searchFilterValues(config.filters, filter.key).includes(filter.value);
96
- });
97
- }
98
- function itemMatchesQuery(item, query) {
99
- if (!query)
100
- return true;
101
- return searchText(readSearchItemConfig(item).text || item.textContent).includes(query);
102
- }
103
- function visibleDropdownItemInSection(panel, section) {
104
- return getSearchItems(panel).some((item) => {
105
- if (item.hidden)
106
- return false;
107
- if (tagName(item) !== "li")
108
- return false;
109
- return toText(item.getAttribute("data-dropdown-section")) === section;
110
- });
111
- }
112
- function syncDropdownSections(panel) {
113
- panel.root
114
- .querySelectorAll("[data-dropdown-section-heading]")
115
- .forEach((sectionNode) => {
116
- if (!(sectionNode instanceof HTMLElement))
117
- return;
118
- const section = toText(sectionNode.getAttribute("data-dropdown-section-heading"));
119
- if (!section)
120
- return;
121
- sectionNode.hidden = !visibleDropdownItemInSection(panel, section);
122
- });
123
- }
124
- function renderSearchPanel(panel) {
29
+ function renderSearchPanelNow(panel) {
125
30
  if (!panel || !panel.host.isConnected)
126
31
  return;
32
+ if (panel.renderFrame) {
33
+ window.cancelAnimationFrame(panel.renderFrame);
34
+ panel.renderFrame = 0;
35
+ }
36
+ const cache = panelCache(panel);
127
37
  const query = getCombinedQuery(panel);
128
38
  const filters = getFilterInputs(panel);
129
- const items = getSearchItems(panel);
130
- const total = items.filter((item) => !isExcludedItem(item)).length;
39
+ const visibleSections = new Set();
131
40
  let visible = 0;
132
- items.forEach((item) => {
133
- if (isExcludedItem(item)) {
134
- setItemVisibility(item, true);
41
+ cache.items.forEach((item) => {
42
+ if (item.exclude) {
43
+ setItemVisibility(item.element, true);
135
44
  return;
136
45
  }
137
46
  const matches = itemMatchesQuery(item, query) && itemMatchesFilters(item, filters);
138
- setItemVisibility(item, matches);
139
- if (matches)
140
- visible += 1;
47
+ setItemVisibility(item.element, matches);
48
+ if (!matches)
49
+ return;
50
+ visible += 1;
51
+ if (item.section)
52
+ visibleSections.add(item.section);
141
53
  });
142
- syncDropdownSections(panel);
143
- getEmptyNodes(panel).forEach((node) => {
144
- node.hidden = !(total > 0 && visible === 0);
54
+ syncDropdownSections(panel, visibleSections);
55
+ cache.emptyNodes.forEach((node) => {
56
+ node.hidden = !(cache.total > 0 && visible === 0);
145
57
  });
146
58
  panel.root.dispatchEvent(new CustomEvent("search:updated", {
147
59
  bubbles: true,
148
60
  detail: {
149
61
  query,
150
- filters,
151
- total,
62
+ filters: filterDetails(filters),
63
+ total: cache.total,
152
64
  visible,
153
65
  },
154
66
  }));
155
67
  }
68
+ function renderSearchPanel(panel) {
69
+ renderSearchPanelNow(panel);
70
+ }
71
+ function scheduleSearchPanel(panel) {
72
+ if (!panel.host.isConnected)
73
+ return;
74
+ if (panel.renderFrame)
75
+ return;
76
+ panel.renderFrame = window.requestAnimationFrame(() => {
77
+ panel.renderFrame = 0;
78
+ renderSearchPanelNow(panel);
79
+ });
80
+ }
156
81
  function bindControlForPanel(panel, input, eventName) {
157
82
  const token = panelToken(panel);
158
83
  let bindings = inputBindings.get(input);
@@ -164,7 +89,7 @@ function bindControlForPanel(panel, input, eventName) {
164
89
  if (bindings.has(key))
165
90
  return;
166
91
  bindings.add(key);
167
- input.addEventListener(eventName, () => renderSearchPanel(panel));
92
+ input.addEventListener(eventName, () => scheduleSearchPanel(panel));
168
93
  }
169
94
  function bindSearchPanel(host) {
170
95
  const panel = searchPanelFromHost(host);
@@ -172,6 +97,7 @@ function bindSearchPanel(host) {
172
97
  return null;
173
98
  panelBindings.set(panel.host, panel);
174
99
  registerFamilyElement(searchPanelsByFamily, panel.familyKey, panel.host);
100
+ refreshPanelCache(panel);
175
101
  getSearchInputs(panel).forEach((input) => {
176
102
  bindControlForPanel(panel, input, "input");
177
103
  });
@@ -195,7 +121,10 @@ function bindSearchControls(host) {
195
121
  const familyKey = toText(config.familyKey);
196
122
  registerFamilyElement(searchControlsByFamily, familyKey, host);
197
123
  if (controlBindings.has(host)) {
198
- panelsForFamily(familyKey).forEach(renderSearchPanel);
124
+ panelsForFamily(familyKey).forEach((panel) => {
125
+ refreshPanelCache(panel);
126
+ renderSearchPanel(panel);
127
+ });
199
128
  return host;
200
129
  }
201
130
  controlBindings.add(host);
@@ -203,6 +132,7 @@ function bindSearchControls(host) {
203
132
  return host;
204
133
  }
205
134
  function bindSearchPanelInputs(panel) {
135
+ refreshPanelCache(panel);
206
136
  getSearchInputs(panel).forEach((input) => {
207
137
  bindControlForPanel(panel, input, "input");
208
138
  });
@@ -220,7 +150,7 @@ function bindSearchRoot(root) {
220
150
  return null;
221
151
  const config = readSearchPanelConfig(root);
222
152
  const familyKey = toText(config.familyKey);
223
- const panel = { familyKey, host: root, root };
153
+ const panel = { cache: null, familyKey, host: root, renderFrame: 0, root };
224
154
  panelBindings.set(root, panel);
225
155
  bindSearchPanelInputs(panel);
226
156
  return panel;