@pathscale/ui 1.1.34 → 1.1.36
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.
- package/dist/components/breadcrumbs/Breadcrumbs.classes.d.ts +8 -0
- package/dist/components/breadcrumbs/Breadcrumbs.classes.js +13 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +8 -3
- package/dist/components/button/Button.classes.d.ts +27 -0
- package/dist/components/button/Button.classes.js +28 -0
- package/dist/components/button/Button.css +10 -1
- package/dist/components/button/Button.d.ts +6 -3
- package/dist/components/button/Button.js +37 -21
- package/dist/components/button-group/ButtonGroup.classes.d.ts +15 -0
- package/dist/components/button-group/ButtonGroup.classes.js +16 -0
- package/dist/components/button-group/ButtonGroup.css +117 -0
- package/dist/components/button-group/ButtonGroup.d.ts +23 -0
- package/dist/components/button-group/ButtonGroup.js +88 -0
- package/dist/components/button-group/context.d.ts +8 -0
- package/dist/components/button-group/context.js +3 -0
- package/dist/components/button-group/index.d.ts +1 -0
- package/dist/components/button-group/index.js +6 -0
- package/dist/components/card/Card.classes.d.ts +24 -0
- package/dist/components/card/Card.classes.js +25 -0
- package/dist/components/card/Card.css +110 -0
- package/dist/components/card/Card.d.ts +26 -26
- package/dist/components/card/Card.js +126 -70
- package/dist/components/card/index.d.ts +1 -1
- package/dist/components/card/index.js +6 -1
- package/dist/components/checkbox/Checkbox.js +18 -4
- package/dist/components/checkbox-group/CheckboxGroup.classes.d.ts +11 -0
- package/dist/components/checkbox-group/CheckboxGroup.classes.js +12 -0
- package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
- package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
- package/dist/components/checkbox-group/CheckboxGroup.js +94 -0
- package/dist/components/checkbox-group/context.d.ts +11 -0
- package/dist/components/checkbox-group/context.js +3 -0
- package/dist/components/checkbox-group/index.d.ts +4 -0
- package/dist/components/checkbox-group/index.js +4 -0
- package/dist/components/chip/Chip.css +11 -9
- package/dist/components/chip/Chip.d.ts +2 -2
- package/dist/components/chip/Chip.js +38 -30
- package/dist/components/close-button/CloseButton.classes.d.ts +11 -0
- package/dist/components/close-button/CloseButton.classes.js +12 -0
- package/dist/components/close-button/CloseButton.css +81 -0
- package/dist/components/close-button/CloseButton.d.ts +14 -0
- package/dist/components/close-button/CloseButton.js +76 -0
- package/dist/components/close-button/index.d.ts +1 -0
- package/dist/components/close-button/index.js +3 -0
- package/dist/components/combo-box/ComboBox.classes.d.ts +42 -0
- package/dist/components/combo-box/ComboBox.classes.js +43 -0
- package/dist/components/combo-box/ComboBox.css +344 -0
- package/dist/components/combo-box/ComboBox.d.ts +86 -0
- package/dist/components/combo-box/ComboBox.js +725 -0
- package/dist/components/combo-box/index.d.ts +1 -0
- package/dist/components/combo-box/index.js +10 -0
- package/dist/components/date-field/DateField.classes.d.ts +37 -0
- package/dist/components/date-field/DateField.classes.js +38 -0
- package/dist/components/date-field/DateField.css +215 -0
- package/dist/components/date-field/DateField.d.ts +64 -0
- package/dist/components/date-field/DateField.js +334 -0
- package/dist/components/date-field/index.d.ts +1 -0
- package/dist/components/date-field/index.js +11 -0
- package/dist/components/description/Description.classes.d.ts +3 -0
- package/dist/components/description/Description.classes.js +4 -0
- package/dist/components/description/Description.css +10 -0
- package/dist/components/description/Description.d.ts +11 -0
- package/dist/components/description/Description.js +41 -0
- package/dist/components/description/index.d.ts +1 -0
- package/dist/components/description/index.js +5 -0
- package/dist/components/drawer/Drawer.css +15 -0
- package/dist/components/drawer/Drawer.d.ts +2 -0
- package/dist/components/drawer/Drawer.js +24 -16
- package/dist/components/error-message/ErrorMessage.classes.d.ts +3 -0
- package/dist/components/error-message/ErrorMessage.classes.js +4 -0
- package/dist/components/error-message/ErrorMessage.css +20 -0
- package/dist/components/error-message/ErrorMessage.d.ts +11 -0
- package/dist/components/error-message/ErrorMessage.js +41 -0
- package/dist/components/error-message/index.d.ts +1 -0
- package/dist/components/error-message/index.js +5 -0
- package/dist/components/field-error/FieldError.classes.d.ts +3 -0
- package/dist/components/field-error/FieldError.classes.js +4 -0
- package/dist/components/field-error/FieldError.css +27 -0
- package/dist/components/field-error/FieldError.d.ts +21 -0
- package/dist/components/field-error/FieldError.js +70 -0
- package/dist/components/field-error/index.d.ts +1 -0
- package/dist/components/field-error/index.js +5 -0
- package/dist/components/fieldset/Fieldset.classes.d.ts +14 -0
- package/dist/components/fieldset/Fieldset.classes.js +15 -0
- package/dist/components/fieldset/Fieldset.css +30 -0
- package/dist/components/fieldset/Fieldset.d.ts +22 -9
- package/dist/components/fieldset/Fieldset.js +89 -44
- package/dist/components/fieldset/index.d.ts +1 -2
- package/dist/components/fieldset/index.js +7 -2
- package/dist/components/form/Form.classes.d.ts +3 -0
- package/dist/components/form/Form.classes.js +4 -0
- package/dist/components/form/Form.css +5 -0
- package/dist/components/form/Form.d.ts +10 -16
- package/dist/components/form/Form.js +34 -16
- package/dist/components/form/index.d.ts +1 -4
- package/dist/components/form/index.js +3 -4
- package/dist/components/header/Header.classes.d.ts +3 -0
- package/dist/components/header/Header.classes.js +4 -0
- package/dist/components/header/Header.css +13 -0
- package/dist/components/header/Header.d.ts +9 -0
- package/dist/components/{form/Label.js → header/Header.js} +18 -14
- package/dist/components/header/index.d.ts +1 -0
- package/dist/components/header/index.js +5 -0
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
- package/dist/components/input/Input.css +3 -2
- package/dist/components/input/Input.d.ts +2 -2
- package/dist/components/input/Input.js +7 -7
- package/dist/components/input-group/InputGroup.classes.d.ts +21 -0
- package/dist/components/input-group/InputGroup.classes.js +22 -0
- package/dist/components/input-group/InputGroup.css +172 -0
- package/dist/components/input-group/InputGroup.d.ts +44 -0
- package/dist/components/input-group/InputGroup.js +224 -0
- package/dist/components/input-group/index.d.ts +1 -0
- package/dist/components/input-group/index.js +9 -0
- package/dist/components/input-otp/InputOTP.classes.d.ts +23 -0
- package/dist/components/input-otp/InputOTP.classes.js +24 -0
- package/dist/components/input-otp/InputOTP.css +170 -0
- package/dist/components/input-otp/InputOTP.d.ts +46 -0
- package/dist/components/input-otp/InputOTP.js +385 -0
- package/dist/components/input-otp/index.d.ts +1 -0
- package/dist/components/input-otp/index.js +11 -0
- package/dist/components/label/Label.classes.d.ts +8 -0
- package/dist/components/label/Label.classes.js +9 -0
- package/dist/components/label/Label.css +30 -0
- package/dist/components/label/Label.d.ts +17 -0
- package/dist/components/label/Label.js +60 -0
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/index.js +5 -0
- package/dist/components/list-box/ListBox.classes.d.ts +23 -0
- package/dist/components/list-box/ListBox.classes.js +24 -0
- package/dist/components/list-box/ListBox.css +148 -0
- package/dist/components/list-box/ListBox.d.ts +23 -0
- package/dist/components/list-box/ListBox.js +221 -0
- package/dist/components/list-box/ListBoxItem.d.ts +28 -0
- package/dist/components/list-box/ListBoxItem.js +228 -0
- package/dist/components/list-box/ListBoxSection.d.ts +11 -0
- package/dist/components/list-box/ListBoxSection.js +50 -0
- package/dist/components/list-box/context.d.ts +27 -0
- package/dist/components/list-box/context.js +3 -0
- package/dist/components/list-box/index.d.ts +17 -0
- package/dist/components/list-box/index.js +17 -0
- package/dist/components/menu/Menu.classes.d.ts +20 -0
- package/dist/components/menu/Menu.classes.js +21 -0
- package/dist/components/menu/Menu.css +199 -0
- package/dist/components/menu/Menu.d.ts +32 -20
- package/dist/components/menu/Menu.js +214 -39
- package/dist/components/menu/MenuItem.d.ts +35 -5
- package/dist/components/menu/MenuItem.js +267 -19
- package/dist/components/menu/MenuSection.d.ts +11 -0
- package/dist/components/menu/MenuSection.js +50 -0
- package/dist/components/menu/context.d.ts +26 -0
- package/dist/components/menu/context.js +3 -0
- package/dist/components/menu/index.d.ts +4 -3
- package/dist/components/menu/index.js +11 -2
- package/dist/components/navbar/Navbar.classes.d.ts +37 -0
- package/dist/components/navbar/Navbar.classes.js +41 -0
- package/dist/components/navbar/Navbar.js +2 -1
- package/dist/components/navbar/NavbarRow.js +3 -14
- package/dist/components/navbar/NavbarSection.js +2 -6
- package/dist/components/navbar/NavbarStack.js +2 -5
- package/dist/components/number-field/NumberField.classes.d.ts +27 -0
- package/dist/components/number-field/NumberField.classes.js +28 -0
- package/dist/components/number-field/NumberField.css +198 -0
- package/dist/components/number-field/NumberField.d.ts +48 -0
- package/dist/components/number-field/NumberField.js +347 -0
- package/dist/components/number-field/index.d.ts +1 -0
- package/dist/components/number-field/index.js +9 -0
- package/dist/components/search-field/SearchField.classes.d.ts +27 -0
- package/dist/components/search-field/SearchField.classes.js +28 -0
- package/dist/components/search-field/SearchField.css +183 -0
- package/dist/components/search-field/SearchField.d.ts +53 -0
- package/dist/components/search-field/SearchField.js +300 -0
- package/dist/components/search-field/index.d.ts +1 -0
- package/dist/components/search-field/index.js +9 -0
- package/dist/components/select/Select.css +16 -10
- package/dist/components/select/Select.d.ts +10 -2
- package/dist/components/select/Select.js +119 -33
- package/dist/components/separator/Separator.classes.d.ts +12 -0
- package/dist/components/separator/Separator.classes.js +13 -0
- package/dist/components/separator/Separator.css +35 -0
- package/dist/components/separator/Separator.d.ts +12 -0
- package/dist/components/separator/Separator.js +49 -0
- package/dist/components/separator/index.d.ts +1 -0
- package/dist/components/separator/index.js +4 -0
- package/dist/components/sidenav/Sidenav.js +2 -2
- package/dist/components/surface/Surface.classes.d.ts +9 -0
- package/dist/components/surface/Surface.classes.js +10 -0
- package/dist/components/surface/Surface.css +37 -0
- package/dist/components/surface/Surface.d.ts +12 -0
- package/dist/components/{menu/MenuDetails.js → surface/Surface.js} +19 -20
- package/dist/components/surface/index.d.ts +1 -0
- package/dist/components/surface/index.js +4 -0
- package/dist/components/table/hooks/index.d.ts +1 -9
- package/dist/components/table/hooks/index.js +1 -18
- package/dist/components/tag/Tag.classes.d.ts +20 -0
- package/dist/components/tag/Tag.classes.js +21 -0
- package/dist/components/tag/Tag.css +121 -0
- package/dist/components/tag/Tag.d.ts +33 -0
- package/dist/components/tag/Tag.js +235 -0
- package/dist/components/tag/index.d.ts +1 -0
- package/dist/components/tag/index.js +6 -0
- package/dist/components/tag-group/TagGroup.classes.d.ts +8 -0
- package/dist/components/tag-group/TagGroup.classes.js +9 -0
- package/dist/components/tag-group/TagGroup.css +22 -0
- package/dist/components/tag-group/TagGroup.d.ts +32 -0
- package/dist/components/tag-group/TagGroup.js +178 -0
- package/dist/components/tag-group/context.d.ts +15 -0
- package/dist/components/tag-group/context.js +3 -0
- package/dist/components/tag-group/index.d.ts +2 -0
- package/dist/components/tag-group/index.js +6 -0
- package/dist/components/text/Text.classes.d.ts +3 -0
- package/dist/components/text/Text.classes.js +4 -0
- package/dist/components/text/Text.css +66 -0
- package/dist/components/text/Text.d.ts +17 -0
- package/dist/components/text/Text.js +47 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/index.js +5 -0
- package/dist/components/text-area/TextArea.classes.d.ts +10 -0
- package/dist/components/text-area/TextArea.classes.js +11 -0
- package/dist/components/text-area/TextArea.css +95 -0
- package/dist/components/text-area/TextArea.d.ts +19 -0
- package/dist/components/text-area/TextArea.js +61 -0
- package/dist/components/text-area/index.d.ts +1 -0
- package/dist/components/text-area/index.js +5 -0
- package/dist/components/text-field/TextField.classes.d.ts +10 -0
- package/dist/components/text-field/TextField.classes.js +11 -0
- package/dist/components/text-field/TextField.css +33 -0
- package/dist/components/text-field/TextField.d.ts +34 -0
- package/dist/components/text-field/TextField.js +82 -0
- package/dist/components/text-field/index.d.ts +1 -0
- package/dist/components/text-field/index.js +7 -0
- package/dist/components/textarea/Textarea.d.ts +8 -13
- package/dist/components/textarea/Textarea.js +14 -45
- package/dist/components/textarea/index.d.ts +2 -1
- package/dist/components/textarea/index.js +4 -1
- package/dist/components/time-field/TimeField.classes.d.ts +37 -0
- package/dist/components/time-field/TimeField.classes.js +38 -0
- package/dist/components/time-field/TimeField.css +215 -0
- package/dist/components/time-field/TimeField.d.ts +64 -0
- package/dist/components/time-field/TimeField.js +334 -0
- package/dist/components/time-field/index.d.ts +1 -0
- package/dist/components/time-field/index.js +11 -0
- package/dist/components/utils.d.ts +2 -2
- package/dist/components/utils.js +3 -17
- package/dist/hooks/form/index.d.ts +5 -0
- package/dist/hooks/form/index.js +12 -0
- package/dist/hooks/form/useField.d.ts +11 -0
- package/dist/hooks/form/useField.js +20 -0
- package/dist/hooks/form/useFieldError.d.ts +3 -0
- package/dist/hooks/form/useFieldError.js +3 -0
- package/dist/hooks/form/useFieldMeta.d.ts +20 -0
- package/dist/hooks/form/useFieldMeta.js +49 -0
- package/dist/hooks/form/useFieldProps.d.ts +10 -0
- package/dist/hooks/form/useFieldProps.js +51 -0
- package/dist/hooks/form/useForm.d.ts +27 -0
- package/dist/hooks/form/useForm.js +54 -0
- package/dist/hooks/form/utils.d.ts +4 -0
- package/dist/hooks/form/utils.js +30 -0
- package/dist/hooks/layout/index.d.ts +1 -0
- package/dist/hooks/layout/index.js +3 -0
- package/dist/hooks/layout/useDesktop.d.ts +1 -0
- package/dist/hooks/layout/useDesktop.js +17 -0
- package/dist/hooks/table/index.d.ts +9 -0
- package/dist/hooks/table/index.js +18 -0
- package/dist/index.d.ts +59 -7
- package/dist/index.js +140 -15
- package/dist/styles/icons/generated-icons.css +1 -1
- package/package.json +1 -1
- package/dist/components/card/CardActions.d.ts +0 -4
- package/dist/components/card/CardActions.js +0 -15
- package/dist/components/card/CardBody.d.ts +0 -4
- package/dist/components/card/CardBody.js +0 -15
- package/dist/components/card/CardImage.d.ts +0 -3
- package/dist/components/card/CardImage.js +0 -10
- package/dist/components/card/CardTitle.d.ts +0 -6
- package/dist/components/card/CardTitle.js +0 -13
- package/dist/components/card/card.css +0 -171
- package/dist/components/form/FormBase.d.ts +0 -8
- package/dist/components/form/FormBase.js +0 -74
- package/dist/components/form/FormDropdown.d.ts +0 -25
- package/dist/components/form/FormDropdown.js +0 -139
- package/dist/components/form/FormField.d.ts +0 -14
- package/dist/components/form/FormField.js +0 -78
- package/dist/components/form/Label.d.ts +0 -7
- package/dist/components/form/NumberField.d.ts +0 -20
- package/dist/components/form/NumberField.js +0 -109
- package/dist/components/form/PasswordField.d.ts +0 -16
- package/dist/components/form/PasswordField.js +0 -113
- package/dist/components/form/ValidatedForm.d.ts +0 -26
- package/dist/components/form/ValidatedForm.js +0 -55
- package/dist/components/menu/MenuDetails.d.ts +0 -8
- package/dist/components/menu/MenuDropdown.d.ts +0 -12
- package/dist/components/menu/MenuDropdown.js +0 -48
- package/dist/components/menu/MenuTitle.d.ts +0 -8
- package/dist/components/menu/MenuTitle.js +0 -22
- package/dist/components/menu/menu.css +0 -364
- package/dist/components/textarea/textarea.css +0 -191
- /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
- /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
|
|
2
|
+
import "./Tag.css";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__close_button_index_js_620c3b77__ from "../close-button/index.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__tag_group_context_js_fcbb3264__ from "../tag-group/context.js";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__ from "./Tag.classes.js";
|
|
8
|
+
var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span data-slot=tag-start-icon>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span data-slot=tag-end-icon>");
|
|
9
|
+
const invokeEventHandler = (handler, event)=>{
|
|
10
|
+
if ("function" == typeof handler) return void handler(event);
|
|
11
|
+
if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
|
|
12
|
+
};
|
|
13
|
+
const toSlug = (value)=>value.trim().toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-");
|
|
14
|
+
const extractTextValue = (nodes)=>{
|
|
15
|
+
for (const node of nodes){
|
|
16
|
+
if ("string" == typeof node && node.trim().length > 0) return node.trim();
|
|
17
|
+
if ("number" == typeof node) return String(node);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const TagContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
|
|
21
|
+
const TagRoot = (props)=>{
|
|
22
|
+
const fallbackKey = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
|
|
23
|
+
const group = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(__WEBPACK_EXTERNAL_MODULE__tag_group_context_js_fcbb3264__.TagGroupContext);
|
|
24
|
+
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
25
|
+
"children",
|
|
26
|
+
"class",
|
|
27
|
+
"className",
|
|
28
|
+
"dataTheme",
|
|
29
|
+
"style",
|
|
30
|
+
"id",
|
|
31
|
+
"textValue",
|
|
32
|
+
"isDisabled",
|
|
33
|
+
"size",
|
|
34
|
+
"variant",
|
|
35
|
+
"startIcon",
|
|
36
|
+
"endIcon",
|
|
37
|
+
"onClick",
|
|
38
|
+
"onKeyDown",
|
|
39
|
+
"role",
|
|
40
|
+
"tabIndex"
|
|
41
|
+
]);
|
|
42
|
+
const resolvedChildren = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.children)(()=>local.children);
|
|
43
|
+
const isRenderFnChild = ()=>"function" == typeof local.children;
|
|
44
|
+
const derivedText = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>isRenderFnChild() ? void 0 : extractTextValue(resolvedChildren.toArray()));
|
|
45
|
+
const tagKey = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
|
|
46
|
+
if (null != local.id) return String(local.id);
|
|
47
|
+
if (local.textValue) return toSlug(local.textValue);
|
|
48
|
+
if (derivedText()) return toSlug(derivedText());
|
|
49
|
+
return fallbackKey;
|
|
50
|
+
});
|
|
51
|
+
const size = ()=>local.size ?? group?.size() ?? "md";
|
|
52
|
+
const variant = ()=>local.variant ?? group?.variant() ?? "default";
|
|
53
|
+
const isSelectable = ()=>Boolean(group && "none" !== group.selectionMode());
|
|
54
|
+
const isSelected = ()=>Boolean(group?.selectedKeys().has(tagKey()));
|
|
55
|
+
const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(group?.isDisabled()) || Boolean(group?.disabledKeys().has(tagKey()));
|
|
56
|
+
const allowsRemoving = ()=>Boolean(group?.allowsRemoving()) && Boolean(tagKey());
|
|
57
|
+
const renderState = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>({
|
|
58
|
+
isSelected: isSelected(),
|
|
59
|
+
isDisabled: isDisabled(),
|
|
60
|
+
allowsRemoving: allowsRemoving()
|
|
61
|
+
}));
|
|
62
|
+
const handleSelect = (event)=>{
|
|
63
|
+
if (!group || !isSelectable() || isDisabled()) return;
|
|
64
|
+
group.selectKey(tagKey(), event);
|
|
65
|
+
};
|
|
66
|
+
const handleClick = (event)=>{
|
|
67
|
+
invokeEventHandler(local.onClick, event);
|
|
68
|
+
if (event.defaultPrevented) return;
|
|
69
|
+
handleSelect(event);
|
|
70
|
+
};
|
|
71
|
+
const handleKeyDown = (event)=>{
|
|
72
|
+
invokeEventHandler(local.onKeyDown, event);
|
|
73
|
+
if (event.defaultPrevented) return;
|
|
74
|
+
if (event.target !== event.currentTarget) return;
|
|
75
|
+
if (!isSelectable() || isDisabled()) return;
|
|
76
|
+
if ("Enter" !== event.key && " " !== event.key) return;
|
|
77
|
+
event.preventDefault();
|
|
78
|
+
handleSelect(event);
|
|
79
|
+
};
|
|
80
|
+
const remove = (event)=>{
|
|
81
|
+
if (!group || !allowsRemoving() || isDisabled()) return;
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
event.stopPropagation();
|
|
84
|
+
group.removeKey(tagKey(), event);
|
|
85
|
+
};
|
|
86
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(TagContext.Provider, {
|
|
87
|
+
value: {
|
|
88
|
+
allowsRemoving,
|
|
89
|
+
isDisabled,
|
|
90
|
+
removeIcon: ()=>local.endIcon,
|
|
91
|
+
remove
|
|
92
|
+
},
|
|
93
|
+
get children () {
|
|
94
|
+
var _el$ = _tmpl$();
|
|
95
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
|
|
96
|
+
get ["class"] () {
|
|
97
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.Root.base, __WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.Root.size[size()], __WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.Root.variant[variant()], local.class, local.className);
|
|
98
|
+
},
|
|
99
|
+
"data-slot": "tag",
|
|
100
|
+
get ["data-theme"] () {
|
|
101
|
+
return local.dataTheme;
|
|
102
|
+
},
|
|
103
|
+
get ["data-size"] () {
|
|
104
|
+
return size();
|
|
105
|
+
},
|
|
106
|
+
get ["data-variant"] () {
|
|
107
|
+
return variant();
|
|
108
|
+
},
|
|
109
|
+
get ["data-selected"] () {
|
|
110
|
+
return isSelected() ? "true" : "false";
|
|
111
|
+
},
|
|
112
|
+
get ["data-disabled"] () {
|
|
113
|
+
return isDisabled() ? "true" : "false";
|
|
114
|
+
},
|
|
115
|
+
get ["data-key"] () {
|
|
116
|
+
return tagKey();
|
|
117
|
+
},
|
|
118
|
+
get ["aria-selected"] () {
|
|
119
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!isSelectable())() ? isSelected() ? "true" : "false" : void 0;
|
|
120
|
+
},
|
|
121
|
+
get ["aria-disabled"] () {
|
|
122
|
+
return isDisabled() ? "true" : "false";
|
|
123
|
+
},
|
|
124
|
+
get role () {
|
|
125
|
+
return local.role ?? (isSelectable() ? "option" : void 0);
|
|
126
|
+
},
|
|
127
|
+
get tabIndex () {
|
|
128
|
+
return local.tabIndex ?? (isSelectable() && !isDisabled() ? 0 : void 0);
|
|
129
|
+
},
|
|
130
|
+
get style () {
|
|
131
|
+
return local.style;
|
|
132
|
+
},
|
|
133
|
+
onClick: handleClick,
|
|
134
|
+
onKeyDown: handleKeyDown
|
|
135
|
+
}), false, true);
|
|
136
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
137
|
+
get when () {
|
|
138
|
+
return isRenderFnChild();
|
|
139
|
+
},
|
|
140
|
+
get fallback () {
|
|
141
|
+
return [
|
|
142
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
143
|
+
get when () {
|
|
144
|
+
return local.startIcon;
|
|
145
|
+
},
|
|
146
|
+
get children () {
|
|
147
|
+
var _el$2 = _tmpl$2();
|
|
148
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.startIcon);
|
|
149
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.slot.icon, __WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.slot.iconStart)));
|
|
150
|
+
return _el$2;
|
|
151
|
+
}
|
|
152
|
+
}),
|
|
153
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(resolvedChildren),
|
|
154
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
155
|
+
get when () {
|
|
156
|
+
return allowsRemoving() && local.endIcon;
|
|
157
|
+
},
|
|
158
|
+
get children () {
|
|
159
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(TagRemoveButton, {
|
|
160
|
+
get children () {
|
|
161
|
+
return local.endIcon;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}),
|
|
166
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
167
|
+
get when () {
|
|
168
|
+
return !allowsRemoving() && local.endIcon;
|
|
169
|
+
},
|
|
170
|
+
get children () {
|
|
171
|
+
var _el$3 = _tmpl$3();
|
|
172
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.endIcon);
|
|
173
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.slot.icon, __WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.slot.iconEnd)));
|
|
174
|
+
return _el$3;
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
];
|
|
178
|
+
},
|
|
179
|
+
get children () {
|
|
180
|
+
return local.children(renderState());
|
|
181
|
+
}
|
|
182
|
+
}));
|
|
183
|
+
return _el$;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
const TagRemoveButton = (props)=>{
|
|
188
|
+
const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(TagContext);
|
|
189
|
+
const hasIcon = ()=>null != props.children || null != props.startIcon || null != props.endIcon || context?.removeIcon() != null;
|
|
190
|
+
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
191
|
+
"children",
|
|
192
|
+
"class",
|
|
193
|
+
"className",
|
|
194
|
+
"dataTheme",
|
|
195
|
+
"style",
|
|
196
|
+
"onClick",
|
|
197
|
+
"isDisabled",
|
|
198
|
+
"aria-label"
|
|
199
|
+
]);
|
|
200
|
+
const handleClick = (event)=>{
|
|
201
|
+
invokeEventHandler(local.onClick, event);
|
|
202
|
+
if (event.defaultPrevented) return;
|
|
203
|
+
context?.remove(event);
|
|
204
|
+
};
|
|
205
|
+
if (!context?.allowsRemoving()) return null;
|
|
206
|
+
if (!hasIcon()) return null;
|
|
207
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__close_button_index_js_620c3b77__["default"], (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
|
|
208
|
+
get ["aria-label"] () {
|
|
209
|
+
return local["aria-label"] ?? "Remove tag";
|
|
210
|
+
},
|
|
211
|
+
get ["class"] () {
|
|
212
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Tag_classes_js_e42200b9__.CLASSES.slot.removeButton, local.class, local.className);
|
|
213
|
+
},
|
|
214
|
+
"data-slot": "tag-remove-button",
|
|
215
|
+
get ["data-theme"] () {
|
|
216
|
+
return local.dataTheme;
|
|
217
|
+
},
|
|
218
|
+
get style () {
|
|
219
|
+
return local.style;
|
|
220
|
+
},
|
|
221
|
+
get isDisabled () {
|
|
222
|
+
return local.isDisabled ?? context.isDisabled();
|
|
223
|
+
},
|
|
224
|
+
onClick: handleClick,
|
|
225
|
+
get children () {
|
|
226
|
+
return local.children ?? context.removeIcon();
|
|
227
|
+
}
|
|
228
|
+
}));
|
|
229
|
+
};
|
|
230
|
+
const Tag_Tag = Object.assign(TagRoot, {
|
|
231
|
+
Root: TagRoot,
|
|
232
|
+
RemoveButton: TagRemoveButton
|
|
233
|
+
});
|
|
234
|
+
const Tag = Tag_Tag;
|
|
235
|
+
export { Tag_Tag as Tag, TagRemoveButton, TagRoot, Tag as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default, Tag, TagRoot, TagRemoveButton, type TagProps, type TagRootProps, type TagRemoveButtonProps, type TagSize, type TagVariant, } from "./Tag";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__ from "./Tag.js";
|
|
2
|
+
var __webpack_exports__Tag = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.Tag;
|
|
3
|
+
var __webpack_exports__TagRemoveButton = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.TagRemoveButton;
|
|
4
|
+
var __webpack_exports__TagRoot = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__.TagRoot;
|
|
5
|
+
var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__Tag_js_f7333ee7__["default"];
|
|
6
|
+
export { __webpack_exports__Tag as Tag, __webpack_exports__TagRemoveButton as TagRemoveButton, __webpack_exports__TagRoot as TagRoot, __webpack_exports__default as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.tag-group {
|
|
3
|
+
position: relative;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
gap: 0.25rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.tag-group__list {
|
|
10
|
+
position: relative;
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
gap: 0.375rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.tag-group [slot="description"],
|
|
17
|
+
.tag-group [data-slot="description"],
|
|
18
|
+
.tag-group [slot="errorMessage"],
|
|
19
|
+
.tag-group [data-slot="error-message"] {
|
|
20
|
+
padding: 0.25rem;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./TagGroup.css";
|
|
2
|
+
import { type Component, type JSX, type ParentComponent } from "solid-js";
|
|
3
|
+
import type { IComponentBaseProps } from "../types";
|
|
4
|
+
import type { TagSize, TagVariant } from "../tag";
|
|
5
|
+
import { type TagSelectionMode } from "./context";
|
|
6
|
+
export type TagGroupRootProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & IComponentBaseProps & {
|
|
7
|
+
children?: JSX.Element;
|
|
8
|
+
size?: TagSize;
|
|
9
|
+
variant?: TagVariant;
|
|
10
|
+
selectionMode?: TagSelectionMode;
|
|
11
|
+
selectedKeys?: Iterable<string | number>;
|
|
12
|
+
defaultSelectedKeys?: Iterable<string | number>;
|
|
13
|
+
disabledKeys?: Iterable<string | number>;
|
|
14
|
+
onSelectionChange?: (keys: Set<string>) => void;
|
|
15
|
+
onRemove?: (keys: Set<string>) => void;
|
|
16
|
+
isDisabled?: boolean;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type TagGroupListProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> & IComponentBaseProps & {
|
|
20
|
+
children?: JSX.Element | ((item: unknown) => JSX.Element);
|
|
21
|
+
items?: readonly unknown[];
|
|
22
|
+
renderEmptyState?: () => JSX.Element;
|
|
23
|
+
};
|
|
24
|
+
declare const TagGroupRoot: ParentComponent<TagGroupRootProps>;
|
|
25
|
+
declare const TagGroupList: Component<TagGroupListProps>;
|
|
26
|
+
declare const TagGroup: ParentComponent<TagGroupRootProps> & {
|
|
27
|
+
Root: ParentComponent<TagGroupRootProps>;
|
|
28
|
+
List: Component<TagGroupListProps>;
|
|
29
|
+
};
|
|
30
|
+
export default TagGroup;
|
|
31
|
+
export { TagGroup, TagGroupRoot, TagGroupList };
|
|
32
|
+
export type { TagGroupRootProps as TagGroupProps };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
|
|
2
|
+
import "./TagGroup.css";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__TagGroup_classes_js_5288e22c__ from "./TagGroup.classes.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__ from "./context.js";
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
|
|
8
|
+
const normalizeKeys = (keys)=>{
|
|
9
|
+
if (!keys) return new Set();
|
|
10
|
+
return new Set(Array.from(keys, (key)=>String(key)));
|
|
11
|
+
};
|
|
12
|
+
const TagGroupRoot = (props)=>{
|
|
13
|
+
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
14
|
+
"children",
|
|
15
|
+
"class",
|
|
16
|
+
"className",
|
|
17
|
+
"dataTheme",
|
|
18
|
+
"style",
|
|
19
|
+
"size",
|
|
20
|
+
"variant",
|
|
21
|
+
"selectionMode",
|
|
22
|
+
"selectedKeys",
|
|
23
|
+
"defaultSelectedKeys",
|
|
24
|
+
"disabledKeys",
|
|
25
|
+
"onSelectionChange",
|
|
26
|
+
"onRemove",
|
|
27
|
+
"isDisabled",
|
|
28
|
+
"disabled",
|
|
29
|
+
"role"
|
|
30
|
+
]);
|
|
31
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(normalizeKeys(local.defaultSelectedKeys));
|
|
32
|
+
const selectionMode = ()=>local.selectionMode ?? "none";
|
|
33
|
+
const size = ()=>local.size ?? "md";
|
|
34
|
+
const variant = ()=>local.variant ?? "default";
|
|
35
|
+
const isControlled = ()=>void 0 !== local.selectedKeys;
|
|
36
|
+
const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
|
|
37
|
+
const selectedKeys = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>isControlled() ? normalizeKeys(local.selectedKeys) : internalSelectedKeys());
|
|
38
|
+
const disabledKeys = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>normalizeKeys(local.disabledKeys));
|
|
39
|
+
const allowsRemoving = ()=>"function" == typeof local.onRemove;
|
|
40
|
+
const updateSelection = (nextKeys)=>{
|
|
41
|
+
if (!isControlled()) setInternalSelectedKeys(nextKeys);
|
|
42
|
+
local.onSelectionChange?.(nextKeys);
|
|
43
|
+
};
|
|
44
|
+
const selectKey = (key, event)=>{
|
|
45
|
+
if (event.defaultPrevented || isDisabled() || disabledKeys().has(key)) return;
|
|
46
|
+
if ("none" === selectionMode()) return;
|
|
47
|
+
const current = selectedKeys();
|
|
48
|
+
let next;
|
|
49
|
+
if ("single" === selectionMode()) {
|
|
50
|
+
if (current.has(key) && 1 === current.size) return;
|
|
51
|
+
next = new Set([
|
|
52
|
+
key
|
|
53
|
+
]);
|
|
54
|
+
} else {
|
|
55
|
+
next = new Set(current);
|
|
56
|
+
if (next.has(key)) next.delete(key);
|
|
57
|
+
else next.add(key);
|
|
58
|
+
}
|
|
59
|
+
updateSelection(next);
|
|
60
|
+
};
|
|
61
|
+
const removeKey = (key, event)=>{
|
|
62
|
+
if (event.defaultPrevented || isDisabled()) return;
|
|
63
|
+
local.onRemove?.(new Set([
|
|
64
|
+
key
|
|
65
|
+
]));
|
|
66
|
+
if (selectedKeys().has(key)) {
|
|
67
|
+
const next = new Set(selectedKeys());
|
|
68
|
+
next.delete(key);
|
|
69
|
+
updateSelection(next);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.TagGroupContext.Provider, {
|
|
73
|
+
value: {
|
|
74
|
+
size,
|
|
75
|
+
variant,
|
|
76
|
+
selectionMode,
|
|
77
|
+
selectedKeys,
|
|
78
|
+
disabledKeys,
|
|
79
|
+
isDisabled,
|
|
80
|
+
allowsRemoving,
|
|
81
|
+
selectKey,
|
|
82
|
+
removeKey
|
|
83
|
+
},
|
|
84
|
+
get children () {
|
|
85
|
+
var _el$ = _tmpl$();
|
|
86
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
|
|
87
|
+
get role () {
|
|
88
|
+
return local.role ?? "group";
|
|
89
|
+
},
|
|
90
|
+
"data-slot": "tag-group",
|
|
91
|
+
get ["data-theme"] () {
|
|
92
|
+
return local.dataTheme;
|
|
93
|
+
},
|
|
94
|
+
get ["data-size"] () {
|
|
95
|
+
return size();
|
|
96
|
+
},
|
|
97
|
+
get ["data-variant"] () {
|
|
98
|
+
return variant();
|
|
99
|
+
},
|
|
100
|
+
get ["data-selection-mode"] () {
|
|
101
|
+
return selectionMode();
|
|
102
|
+
},
|
|
103
|
+
get ["data-disabled"] () {
|
|
104
|
+
return isDisabled() ? "true" : "false";
|
|
105
|
+
},
|
|
106
|
+
get ["aria-disabled"] () {
|
|
107
|
+
return isDisabled() ? "true" : void 0;
|
|
108
|
+
},
|
|
109
|
+
get ["class"] () {
|
|
110
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__TagGroup_classes_js_5288e22c__.CLASSES.Root.base, local.class, local.className);
|
|
111
|
+
},
|
|
112
|
+
get style () {
|
|
113
|
+
return local.style;
|
|
114
|
+
}
|
|
115
|
+
}), false, true);
|
|
116
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
|
|
117
|
+
return _el$;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
const TagGroupList = (props)=>{
|
|
122
|
+
const group = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.TagGroupContext);
|
|
123
|
+
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
124
|
+
"children",
|
|
125
|
+
"class",
|
|
126
|
+
"className",
|
|
127
|
+
"dataTheme",
|
|
128
|
+
"style",
|
|
129
|
+
"items",
|
|
130
|
+
"renderEmptyState",
|
|
131
|
+
"role"
|
|
132
|
+
]);
|
|
133
|
+
const renderChildren = ()=>{
|
|
134
|
+
if (local.items) {
|
|
135
|
+
if (0 === local.items.length) return local.renderEmptyState?.() ?? null;
|
|
136
|
+
if ("function" == typeof local.children) {
|
|
137
|
+
const renderItem = local.children;
|
|
138
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
|
|
139
|
+
get each () {
|
|
140
|
+
return local.items;
|
|
141
|
+
},
|
|
142
|
+
children: (item)=>renderItem(item)
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return local.children ?? null;
|
|
146
|
+
}
|
|
147
|
+
return "function" == typeof local.children ? null : local.children ?? null;
|
|
148
|
+
};
|
|
149
|
+
return (()=>{
|
|
150
|
+
var _el$2 = _tmpl$();
|
|
151
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
|
|
152
|
+
get role () {
|
|
153
|
+
return local.role ?? (group?.selectionMode() === "none" ? "list" : "listbox");
|
|
154
|
+
},
|
|
155
|
+
get ["aria-multiselectable"] () {
|
|
156
|
+
return group?.selectionMode() === "multiple" ? "true" : void 0;
|
|
157
|
+
},
|
|
158
|
+
"data-slot": "tag-group-list",
|
|
159
|
+
get ["data-theme"] () {
|
|
160
|
+
return local.dataTheme;
|
|
161
|
+
},
|
|
162
|
+
get ["class"] () {
|
|
163
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__TagGroup_classes_js_5288e22c__.CLASSES.List.base, local.class, local.className);
|
|
164
|
+
},
|
|
165
|
+
get style () {
|
|
166
|
+
return local.style;
|
|
167
|
+
}
|
|
168
|
+
}), false, true);
|
|
169
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, renderChildren);
|
|
170
|
+
return _el$2;
|
|
171
|
+
})();
|
|
172
|
+
};
|
|
173
|
+
const TagGroup_TagGroup = Object.assign(TagGroupRoot, {
|
|
174
|
+
Root: TagGroupRoot,
|
|
175
|
+
List: TagGroupList
|
|
176
|
+
});
|
|
177
|
+
const TagGroup = TagGroup_TagGroup;
|
|
178
|
+
export { TagGroup_TagGroup as TagGroup, TagGroupList, TagGroupRoot, TagGroup as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Accessor } from "solid-js";
|
|
2
|
+
import type { TagSize, TagVariant } from "../tag";
|
|
3
|
+
export type TagSelectionMode = "none" | "single" | "multiple";
|
|
4
|
+
export type TagGroupContextValue = {
|
|
5
|
+
size: Accessor<TagSize>;
|
|
6
|
+
variant: Accessor<TagVariant>;
|
|
7
|
+
selectionMode: Accessor<TagSelectionMode>;
|
|
8
|
+
selectedKeys: Accessor<Set<string>>;
|
|
9
|
+
disabledKeys: Accessor<Set<string>>;
|
|
10
|
+
isDisabled: Accessor<boolean>;
|
|
11
|
+
allowsRemoving: Accessor<boolean>;
|
|
12
|
+
selectKey: (key: string, event: Event) => void;
|
|
13
|
+
removeKey: (key: string, event: Event) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare const TagGroupContext: import("solid-js").Context<TagGroupContextValue | undefined>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__ from "./TagGroup.js";
|
|
2
|
+
var __webpack_exports__TagGroup = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroup;
|
|
3
|
+
var __webpack_exports__TagGroupList = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroupList;
|
|
4
|
+
var __webpack_exports__TagGroupRoot = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__.TagGroupRoot;
|
|
5
|
+
var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__TagGroup_js_6bd6ff12__["default"];
|
|
6
|
+
export { __webpack_exports__TagGroup as TagGroup, __webpack_exports__TagGroupList as TagGroupList, __webpack_exports__TagGroupRoot as TagGroupRoot, __webpack_exports__default as default };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.text {
|
|
3
|
+
--text-color-default: var(--color-foreground);
|
|
4
|
+
--text-color-muted: var(
|
|
5
|
+
--color-muted,
|
|
6
|
+
color-mix(in oklab, var(--color-base-content) 55%, transparent)
|
|
7
|
+
);
|
|
8
|
+
--text-color-success: var(--color-success);
|
|
9
|
+
--text-color-warning: var(--color-warning);
|
|
10
|
+
--text-color-danger: var(--color-danger);
|
|
11
|
+
--text-color: var(--text-color-default);
|
|
12
|
+
--text-font-size: 1rem;
|
|
13
|
+
--text-line-height: 1.5rem;
|
|
14
|
+
|
|
15
|
+
color: var(--text-color);
|
|
16
|
+
font-size: var(--text-font-size);
|
|
17
|
+
line-height: var(--text-line-height);
|
|
18
|
+
transition-property: color;
|
|
19
|
+
transition-duration: 200ms;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.text[data-size="xs"] {
|
|
23
|
+
--text-font-size: 0.75rem;
|
|
24
|
+
--text-line-height: 1rem;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.text[data-size="sm"] {
|
|
28
|
+
--text-font-size: 0.875rem;
|
|
29
|
+
--text-line-height: 1.25rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.text[data-size="base"] {
|
|
33
|
+
--text-font-size: 1rem;
|
|
34
|
+
--text-line-height: 1.5rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.text[data-size="lg"] {
|
|
38
|
+
--text-font-size: 1.125rem;
|
|
39
|
+
--text-line-height: 1.75rem;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.text[data-size="xl"] {
|
|
43
|
+
--text-font-size: 1.25rem;
|
|
44
|
+
--text-line-height: 1.75rem;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.text[data-variant="default"] {
|
|
48
|
+
--text-color: var(--text-color-default);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.text[data-variant="muted"] {
|
|
52
|
+
--text-color: var(--text-color-muted);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.text[data-variant="success"] {
|
|
56
|
+
--text-color: var(--text-color-success);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.text[data-variant="warning"] {
|
|
60
|
+
--text-color: var(--text-color-warning);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.text[data-variant="danger"] {
|
|
64
|
+
--text-color: var(--text-color-danger);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "./Text.css";
|
|
2
|
+
import { type Component, type JSX } from "solid-js";
|
|
3
|
+
import type { IComponentBaseProps } from "../types";
|
|
4
|
+
export type TextSize = "xs" | "sm" | "base" | "lg" | "xl";
|
|
5
|
+
export type TextVariant = "default" | "muted" | "success" | "warning" | "danger";
|
|
6
|
+
export type TextRootProps = Omit<JSX.HTMLAttributes<HTMLSpanElement>, "color"> & IComponentBaseProps & {
|
|
7
|
+
size?: TextSize;
|
|
8
|
+
variant?: TextVariant;
|
|
9
|
+
children?: JSX.Element;
|
|
10
|
+
};
|
|
11
|
+
declare const TextRoot: Component<TextRootProps>;
|
|
12
|
+
declare const Text: Component<TextRootProps> & {
|
|
13
|
+
Root: Component<TextRootProps>;
|
|
14
|
+
};
|
|
15
|
+
export default Text;
|
|
16
|
+
export { Text, TextRoot };
|
|
17
|
+
export type { TextRootProps as TextProps };
|