@pathscale/ui 1.1.65 → 1.1.67

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.
@@ -20,7 +20,7 @@ const normalizeSelection = (selectionMode, value)=>{
20
20
  entries = Array.isArray(value) ? value : isIterableValue(value) ? Array.from(value) : [
21
21
  value
22
22
  ];
23
- const normalized = entries.map((entry)=>String(entry)).filter((entry, index, source)=>entry.length > 0 && source.indexOf(entry) === index);
23
+ const normalized = entries.map((entry)=>String(entry)).filter((entry, index, source)=>source.indexOf(entry) === index);
24
24
  if ("single" === selectionMode) return normalized.slice(0, 1);
25
25
  return normalized;
26
26
  };
@@ -69,6 +69,7 @@ const SelectRoot = (props)=>{
69
69
  const [internalSelectedKeys, setInternalSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(initialSelected);
70
70
  const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(Boolean(local.defaultOpen));
71
71
  const [options, setOptions] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)([]);
72
+ const [optionTextByKey, setOptionTextByKey] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(new Map());
72
73
  const [focusedKey, setFocusedKey] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
73
74
  const [focusRequest, setFocusRequest] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(null);
74
75
  const [triggerRef, setTriggerRefSignal] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
@@ -85,11 +86,7 @@ const SelectRoot = (props)=>{
85
86
  const selectedSet = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>new Set(selectedKeys()));
86
87
  const selectedText = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
87
88
  if (!selectedKeys().length) return "";
88
- const optionMap = new Map(options().map((option)=>[
89
- option.key,
90
- option.textValue
91
- ]));
92
- return selectedKeys().map((key)=>optionMap.get(key) ?? key).join("multiple" === selectionMode() ? ", " : "");
89
+ return selectedKeys().map((key)=>optionTextByKey().get(key) ?? key).join("multiple" === selectionMode() ? ", " : "");
93
90
  });
94
91
  const getEnabledOptions = ()=>options().filter((option)=>!option.disabled);
95
92
  const focusOption = (option)=>{
@@ -156,6 +153,12 @@ const SelectRoot = (props)=>{
156
153
  });
157
154
  };
158
155
  const registerOption = (option)=>{
156
+ setOptionTextByKey((current)=>{
157
+ if (current.get(option.key) === option.textValue) return current;
158
+ const next = new Map(current);
159
+ next.set(option.key, option.textValue);
160
+ return next;
161
+ });
159
162
  setOptions((current)=>sortOptionsByDomOrder([
160
163
  ...current.filter((entry)=>entry.key !== option.key),
161
164
  option
@@ -434,7 +437,7 @@ const SelectValue = (props)=>{
434
437
  ]);
435
438
  const placeholder = ()=>ctx?.placeholder() ?? "";
436
439
  const text = ()=>ctx?.selectedText() ?? "";
437
- const isPlaceholder = ()=>0 === text().length;
440
+ const isPlaceholder = ()=>(ctx?.selectedKeys().length ?? 0) === 0;
438
441
  return (()=>{
439
442
  var _el$8 = _tmpl$3();
440
443
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$8, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
@@ -513,7 +516,8 @@ const SelectPopover = (props)=>{
513
516
  "class",
514
517
  "className",
515
518
  "dataTheme",
516
- "style"
519
+ "style",
520
+ "onPointerDown"
517
521
  ]);
518
522
  const overlayPosition = (0, __WEBPACK_EXTERNAL_MODULE__shared_overlayPosition_js_ab299723__.createOverlayPosition)({
519
523
  open: ()=>ctx?.open() ?? false,
@@ -537,37 +541,34 @@ const SelectPopover = (props)=>{
537
541
  ...overlayStyle
538
542
  };
539
543
  };
540
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
541
- get when () {
542
- return ctx?.open();
543
- },
544
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Portal, {
544
545
  get children () {
545
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Portal, {
546
- get children () {
547
- var _el$10 = _tmpl$();
548
- var _ref$ = ctx?.setPopoverRef;
549
- "function" == typeof _ref$ && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$10);
550
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$10, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
551
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Select_classes_js_98857364__.CLASSES.slot.popover, local.class, local.className)
552
- }), {
553
- get ["data-theme"] () {
554
- return local.dataTheme;
555
- },
556
- "data-slot": "ui-select-popover",
557
- get ["data-open"] () {
558
- return ctx?.open() ? "true" : "false";
559
- },
560
- get ["data-placement"] () {
561
- return overlayPosition.placement();
562
- },
563
- get style () {
564
- return popoverStyle();
565
- }
566
- }), false, true);
567
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, ()=>local.children);
568
- return _el$10;
546
+ var _el$10 = _tmpl$();
547
+ var _ref$ = ctx?.setPopoverRef;
548
+ "function" == typeof _ref$ && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$10);
549
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$10, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
550
+ class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Select_classes_js_98857364__.CLASSES.slot.popover, local.class, local.className)
551
+ }), {
552
+ get ["data-theme"] () {
553
+ return local.dataTheme;
554
+ },
555
+ "data-slot": "ui-select-popover",
556
+ get ["data-open"] () {
557
+ return ctx?.open() ? "true" : "false";
558
+ },
559
+ get ["data-placement"] () {
560
+ return overlayPosition.placement();
561
+ },
562
+ get style () {
563
+ return popoverStyle();
564
+ },
565
+ onPointerDown: (event)=>{
566
+ invokeEventHandler(local.onPointerDown, event);
567
+ if (!event.defaultPrevented) event.stopPropagation();
569
568
  }
570
- });
569
+ }), false, true);
570
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, ()=>local.children);
571
+ return _el$10;
571
572
  }
572
573
  });
573
574
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pathscale/ui",
3
- "version": "1.1.65",
3
+ "version": "1.1.67",
4
4
  "author": "pathscale",
5
5
  "repository": {
6
6
  "type": "git",