@trendyol/baklava 3.4.0-beta.9 → 3.4.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.
- package/dist/baklava-react.d.ts +262 -307
- package/dist/baklava-react.d.ts.map +1 -1
- package/dist/baklava-react.js +1 -1
- package/dist/baklava-react.js.map +3 -3
- package/dist/baklava-svelte.d.ts +807 -0
- package/dist/baklava-vue.d.ts +26 -24
- package/dist/baklava.d.ts +22 -19
- package/dist/baklava.d.ts.map +1 -1
- package/dist/baklava.js +1 -1
- package/dist/chunk-3IZAFXL6.js +59 -0
- package/dist/chunk-3IZAFXL6.js.map +7 -0
- package/dist/chunk-5NSAJ3SX.js +23 -0
- package/dist/chunk-5NSAJ3SX.js.map +7 -0
- package/dist/{chunk-YLNOOPBO.js → chunk-5QGKDF4O.js} +2 -2
- package/dist/chunk-7N7YHRPA.js +22 -0
- package/dist/chunk-7N7YHRPA.js.map +7 -0
- package/dist/chunk-BDTCJ2JC.js +16 -0
- package/dist/chunk-BDTCJ2JC.js.map +7 -0
- package/dist/{chunk-4BO66Y63.js → chunk-C2UDBDKV.js} +7 -6
- package/dist/chunk-C2UDBDKV.js.map +7 -0
- package/dist/chunk-HCSEQTUP.js +37 -0
- package/dist/chunk-HCSEQTUP.js.map +7 -0
- package/dist/chunk-IEFQ6PGY.js +80 -0
- package/dist/chunk-IEFQ6PGY.js.map +7 -0
- package/dist/chunk-IR2QY2VG.js +24 -0
- package/dist/chunk-IR2QY2VG.js.map +7 -0
- package/dist/chunk-JN5BKKQZ.js +14 -0
- package/dist/chunk-JN5BKKQZ.js.map +7 -0
- package/dist/{chunk-KIQZ3N7J.js → chunk-JTNWYMYZ.js} +2 -2
- package/dist/{chunk-2Q566BEQ.js → chunk-KYLWO3YR.js} +14 -14
- package/dist/chunk-KYLWO3YR.js.map +7 -0
- package/dist/{chunk-6PSDYX3J.js → chunk-LZ6VDMPM.js} +2 -2
- package/dist/chunk-M4E4CVZ4.js +18 -0
- package/dist/{chunk-M54AQSC3.js.map → chunk-M4E4CVZ4.js.map} +2 -2
- package/dist/components/accordion-group/accordion/bl-accordion.d.ts +1 -0
- package/dist/components/accordion-group/accordion/bl-accordion.d.ts.map +1 -1
- package/dist/components/accordion-group/accordion/bl-accordion.js +1 -1
- package/dist/components/accordion-group/bl-accordion-group.test.d.ts.map +1 -1
- package/dist/components/calendar/bl-calendar.d.ts.map +1 -1
- package/dist/components/calendar/bl-calendar.js +1 -1
- package/dist/components/calendar/bl-calendar.test.d.ts.map +1 -1
- package/dist/components/datepicker/bl-datepicker.d.ts.map +1 -1
- package/dist/components/datepicker/bl-datepicker.js +1 -1
- package/dist/components/dialog/bl-dialog.stories.js +1 -1
- package/dist/components/input/bl-input.js +1 -1
- package/dist/components/link/bl-link.d.ts +77 -0
- package/dist/components/link/bl-link.d.ts.map +1 -0
- package/dist/components/link/bl-link.js +2 -0
- package/dist/components/link/bl-link.js.map +7 -0
- package/dist/components/link/bl-link.stories.d.ts +31 -0
- package/dist/components/link/bl-link.stories.d.ts.map +1 -0
- package/dist/components/link/bl-link.stories.js +63 -0
- package/dist/components/link/bl-link.stories.js.map +7 -0
- package/dist/components/link/bl-link.test.d.ts +2 -0
- package/dist/components/link/bl-link.test.d.ts.map +1 -0
- package/dist/components/notification/bl-notification.stories.js +1 -1
- package/dist/components/pagination/bl-pagination.js +1 -1
- package/dist/components/select/bl-select.d.ts.map +1 -1
- package/dist/components/select/bl-select.js +1 -1
- package/dist/components/select/option/bl-select-option.d.ts +5 -0
- package/dist/components/select/option/bl-select-option.d.ts.map +1 -1
- package/dist/components/select/option/bl-select-option.js +1 -1
- package/dist/components/stepper/bl-stepper-item.d.ts +107 -0
- package/dist/components/stepper/bl-stepper-item.d.ts.map +1 -0
- package/dist/components/stepper/bl-stepper-item.js +2 -0
- package/dist/components/stepper/bl-stepper-item.js.map +7 -0
- package/dist/components/stepper/bl-stepper-item.test.d.ts +2 -0
- package/dist/components/stepper/bl-stepper-item.test.d.ts.map +1 -0
- package/dist/components/stepper/bl-stepper.d.ts +46 -0
- package/dist/components/stepper/bl-stepper.d.ts.map +1 -0
- package/dist/components/stepper/bl-stepper.js +2 -0
- package/dist/components/stepper/bl-stepper.js.map +7 -0
- package/dist/components/stepper/bl-stepper.stories.d.ts +23 -0
- package/dist/components/stepper/bl-stepper.stories.d.ts.map +1 -0
- package/dist/components/stepper/bl-stepper.stories.js +100 -0
- package/dist/components/stepper/bl-stepper.stories.js.map +7 -0
- package/dist/components/stepper/bl-stepper.test.d.ts +2 -0
- package/dist/components/stepper/bl-stepper.test.d.ts.map +1 -0
- package/dist/components/table/table-body/bl-table-body.d.ts +5 -1
- package/dist/components/table/table-body/bl-table-body.d.ts.map +1 -1
- package/dist/components/table/table-body/bl-table-body.js +1 -1
- package/dist/components/table/table-cell/bl-table-cell.js +1 -1
- package/dist/components/table/table-header-cell/bl-table-header-cell.js +1 -1
- package/dist/components/table/table-row/bl-table-row.js +1 -1
- package/dist/custom-elements.json +10157 -2901
- package/dist/generated/locales/ar.d.ts +2 -0
- package/dist/generated/locales/ar.d.ts.map +1 -1
- package/dist/generated/locales/ar.js +1 -1
- package/dist/generated/locales/ar.js.map +2 -2
- package/dist/generated/locales/ro.d.ts +2 -0
- package/dist/generated/locales/ro.d.ts.map +1 -1
- package/dist/generated/locales/ro.js +1 -1
- package/dist/generated/locales/ro.js.map +2 -2
- package/dist/generated/locales/tr.d.ts +2 -0
- package/dist/generated/locales/tr.d.ts.map +1 -1
- package/dist/generated/locales/tr.js +1 -1
- package/dist/generated/locales/tr.js.map +2 -2
- package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts +4 -0
- package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts.map +1 -1
- package/dist/utilities/format-to-date-array.d.ts +1 -1
- package/dist/utilities/format-to-date-array.d.ts.map +1 -1
- package/package.json +3 -5
- package/dist/chunk-2P3LD4HV.js +0 -80
- package/dist/chunk-2P3LD4HV.js.map +0 -7
- package/dist/chunk-2Q566BEQ.js.map +0 -7
- package/dist/chunk-4BO66Y63.js.map +0 -7
- package/dist/chunk-7KND5OUR.js +0 -59
- package/dist/chunk-7KND5OUR.js.map +0 -7
- package/dist/chunk-EXUCTLBU.js +0 -24
- package/dist/chunk-EXUCTLBU.js.map +0 -7
- package/dist/chunk-H6EUN6QV.js +0 -22
- package/dist/chunk-H6EUN6QV.js.map +0 -7
- package/dist/chunk-HEB5ZFIH.js +0 -2
- package/dist/chunk-HEB5ZFIH.js.map +0 -7
- package/dist/chunk-M54AQSC3.js +0 -7
- /package/dist/{chunk-YLNOOPBO.js.map → chunk-5QGKDF4O.js.map} +0 -0
- /package/dist/{chunk-KIQZ3N7J.js.map → chunk-JTNWYMYZ.js.map} +0 -0
- /package/dist/{chunk-6PSDYX3J.js.map → chunk-LZ6VDMPM.js.map} +0 -0
package/dist/baklava-vue.d.ts
CHANGED
|
@@ -1,47 +1,49 @@
|
|
|
1
|
-
|
|
2
1
|
import type * as Baklava from '@trendyol/baklava/dist/baklava'
|
|
3
2
|
|
|
4
3
|
declare module 'vue' {
|
|
5
4
|
export interface GlobalComponents {
|
|
6
|
-
|
|
5
|
+
BlIcon: import("vue").Component<Baklava.BlIcon>
|
|
6
|
+
BlAccordion: import("vue").Component<Baklava.BlAccordion>
|
|
7
|
+
BlSpinner: import("vue").Component<Baklava.BlSpinner>
|
|
8
|
+
BlButton: import("vue").Component<Baklava.BlButton>
|
|
7
9
|
BlAlert: import("vue").Component<Baklava.BlAlert>
|
|
8
10
|
BlBadge: import("vue").Component<Baklava.BlBadge>
|
|
9
|
-
BlButton: import("vue").Component<Baklava.BlButton>
|
|
10
11
|
BlCalendar: import("vue").Component<Baklava.BlCalendar>
|
|
12
|
+
BlCheckbox: import("vue").Component<Baklava.BlCheckbox>
|
|
11
13
|
BlCheckboxGroup: import("vue").Component<Baklava.BlCheckboxGroup>
|
|
14
|
+
BlInput: import("vue").Component<Baklava.BlInput>
|
|
15
|
+
BlPopover: import("vue").Component<Baklava.BlPopover>
|
|
16
|
+
BlTooltip: import("vue").Component<Baklava.BlTooltip>
|
|
12
17
|
BlDatepicker: import("vue").Component<Baklava.BlDatepicker>
|
|
13
18
|
BlDialog: import("vue").Component<Baklava.BlDialog>
|
|
14
19
|
BlDrawer: import("vue").Component<Baklava.BlDrawer>
|
|
20
|
+
BlSplitButton: import("vue").Component<Baklava.BlSplitButton>
|
|
21
|
+
BlDropdownGroup: import("vue").Component<Baklava.BlDropdownGroup>
|
|
22
|
+
BlDropdownItem: import("vue").Component<Baklava.BlDropdownItem>
|
|
15
23
|
BlDropdown: import("vue").Component<Baklava.BlDropdown>
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
BlLink: import("vue").Component<Baklava.BlLink>
|
|
25
|
+
BlNotificationCard: import("vue").Component<Baklava.BlNotificationCard>
|
|
18
26
|
BlNotification: import("vue").Component<Baklava.BlNotification>
|
|
27
|
+
BlSelectOption: import("vue").Component<Baklava.BlSelectOption>
|
|
28
|
+
BlSelect: import("vue").Component<Baklava.BlSelect>
|
|
19
29
|
BlPagination: import("vue").Component<Baklava.BlPagination>
|
|
20
|
-
BlPopover: import("vue").Component<Baklava.BlPopover>
|
|
21
30
|
BlProgressIndicator: import("vue").Component<Baklava.BlProgressIndicator>
|
|
31
|
+
BlRadio: import("vue").Component<Baklava.BlRadio>
|
|
22
32
|
BlRadioGroup: import("vue").Component<Baklava.BlRadioGroup>
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
BlSplitButton: import("vue").Component<Baklava.BlSplitButton>
|
|
33
|
+
BlStepperItem: import("vue").Component<Baklava.BlStepperItem>
|
|
34
|
+
BlStepper: import("vue").Component<Baklava.BlStepper>
|
|
26
35
|
BlSwitch: import("vue").Component<Baklava.BlSwitch>
|
|
27
|
-
BlTabGroup: import("vue").Component<Baklava.BlTabGroup>
|
|
28
|
-
BlTable: import("vue").Component<Baklava.BlTable>
|
|
29
|
-
BlTag: import("vue").Component<Baklava.BlTag>
|
|
30
|
-
BlTextarea: import("vue").Component<Baklava.BlTextarea>
|
|
31
|
-
BlTooltip: import("vue").Component<Baklava.BlTooltip>
|
|
32
|
-
BlAccordion: import("vue").Component<Baklava.BlAccordion>
|
|
33
|
-
BlCheckbox: import("vue").Component<Baklava.BlCheckbox>
|
|
34
|
-
BlDropdownGroup: import("vue").Component<Baklava.BlDropdownGroup>
|
|
35
|
-
BlDropdownItem: import("vue").Component<Baklava.BlDropdownItem>
|
|
36
|
-
BlNotificationCard: import("vue").Component<Baklava.BlNotificationCard>
|
|
37
|
-
BlRadio: import("vue").Component<Baklava.BlRadio>
|
|
38
|
-
BlSelectOption: import("vue").Component<Baklava.BlSelectOption>
|
|
39
|
-
BlTab: import("vue").Component<Baklava.BlTab>
|
|
40
36
|
BlTabPanel: import("vue").Component<Baklava.BlTabPanel>
|
|
37
|
+
BlTab: import("vue").Component<Baklava.BlTab>
|
|
38
|
+
BlTabGroup: import("vue").Component<Baklava.BlTabGroup>
|
|
41
39
|
BlTableBody: import("vue").Component<Baklava.BlTableBody>
|
|
42
|
-
BlTableCell: import("vue").Component<Baklava.BlTableCell>
|
|
43
|
-
BlTableHeader: import("vue").Component<Baklava.BlTableHeader>
|
|
44
40
|
BlTableHeaderCell: import("vue").Component<Baklava.BlTableHeaderCell>
|
|
41
|
+
BlTableHeader: import("vue").Component<Baklava.BlTableHeader>
|
|
45
42
|
BlTableRow: import("vue").Component<Baklava.BlTableRow>
|
|
43
|
+
BlTableCell: import("vue").Component<Baklava.BlTableCell>
|
|
44
|
+
BlTable: import("vue").Component<Baklava.BlTable>
|
|
45
|
+
BlTag: import("vue").Component<Baklava.BlTag>
|
|
46
|
+
BlTextarea: import("vue").Component<Baklava.BlTextarea>
|
|
47
|
+
BlAccordionGroup: import("vue").Component<Baklava.BlAccordionGroup>
|
|
46
48
|
}
|
|
47
49
|
}
|
package/dist/baklava.d.ts
CHANGED
|
@@ -1,43 +1,46 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { html as litHtmlRenderer } from "lit";
|
|
2
2
|
export { default as BlAccordion } from "./components/accordion-group/accordion/bl-accordion";
|
|
3
|
+
export { default as BlAccordionGroup } from "./components/accordion-group/bl-accordion-group";
|
|
3
4
|
export { default as BlAlert } from "./components/alert/bl-alert";
|
|
4
5
|
export { default as BlBadge } from "./components/badge/bl-badge";
|
|
5
6
|
export { default as BlButton } from "./components/button/bl-button";
|
|
7
|
+
export { default as BlCalendar } from "./components/calendar/bl-calendar";
|
|
6
8
|
export { default as BlCheckboxGroup } from "./components/checkbox-group/bl-checkbox-group";
|
|
7
9
|
export { default as BlCheckbox } from "./components/checkbox-group/checkbox/bl-checkbox";
|
|
10
|
+
export { default as BlDatePicker } from "./components/datepicker/bl-datepicker";
|
|
8
11
|
export { default as BlDialog } from "./components/dialog/bl-dialog";
|
|
9
12
|
export { default as BlDrawer } from "./components/drawer/bl-drawer";
|
|
13
|
+
export { default as BlDropdown } from "./components/dropdown/bl-dropdown";
|
|
14
|
+
export { default as BlDropdownGroup } from "./components/dropdown/group/bl-dropdown-group";
|
|
15
|
+
export { default as BlDropdownItem } from "./components/dropdown/item/bl-dropdown-item";
|
|
10
16
|
export { default as BlIcon } from "./components/icon/bl-icon";
|
|
11
17
|
export { default as BlInput } from "./components/input/bl-input";
|
|
18
|
+
export { default as BlLink } from "./components/link/bl-link";
|
|
19
|
+
export { default as BlNotification } from "./components/notification/bl-notification";
|
|
20
|
+
export { default as BlNotificationCard } from "./components/notification/card/bl-notification-card";
|
|
12
21
|
export { default as BlPagination } from "./components/pagination/bl-pagination";
|
|
22
|
+
export { default as BlPopover } from "./components/popover/bl-popover";
|
|
13
23
|
export { default as BlProgressIndicator } from "./components/progress-indicator/bl-progress-indicator";
|
|
14
24
|
export { default as BlRadioGroup } from "./components/radio-group/bl-radio-group";
|
|
15
25
|
export { default as BlRadio } from "./components/radio-group/radio/bl-radio";
|
|
16
26
|
export { default as BlSelect } from "./components/select/bl-select";
|
|
17
27
|
export { default as BlSelectOption } from "./components/select/option/bl-select-option";
|
|
18
|
-
export { default as
|
|
28
|
+
export { default as BlSpinner } from "./components/spinner/bl-spinner";
|
|
29
|
+
export { default as BlSplitButton } from "./components/split-button/bl-split-button";
|
|
30
|
+
export { default as BlStepper } from "./components/stepper/bl-stepper";
|
|
31
|
+
export { default as BlStepperItem } from "./components/stepper/bl-stepper-item";
|
|
32
|
+
export { default as BlSwitch } from "./components/switch/bl-switch";
|
|
19
33
|
export { default as BlTabGroup } from "./components/tab-group/bl-tab-group";
|
|
20
34
|
export { default as BlTabPanel } from "./components/tab-group/tab-panel/bl-tab-panel";
|
|
21
|
-
export { default as
|
|
22
|
-
export { default as BlTooltip } from "./components/tooltip/bl-tooltip";
|
|
23
|
-
export { default as BlPopover } from "./components/popover/bl-popover";
|
|
24
|
-
export { default as BlDropdown } from "./components/dropdown/bl-dropdown";
|
|
25
|
-
export { default as BlDropdownItem } from "./components/dropdown/item/bl-dropdown-item";
|
|
26
|
-
export { default as BlDropdownGroup } from "./components/dropdown/group/bl-dropdown-group";
|
|
27
|
-
export { default as BlSwitch } from "./components/switch/bl-switch";
|
|
28
|
-
export { default as BlSpinner } from "./components/spinner/bl-spinner";
|
|
29
|
-
export { default as BlNotification } from "./components/notification/bl-notification";
|
|
30
|
-
export { default as BlNotificationCard } from "./components/notification/card/bl-notification-card";
|
|
35
|
+
export { default as BlTab } from "./components/tab-group/tab/bl-tab";
|
|
31
36
|
export { default as BlTable } from "./components/table/bl-table";
|
|
32
|
-
export { default as BlTableHeader } from "./components/table/table-header/bl-table-header";
|
|
33
37
|
export { default as BlTableBody } from "./components/table/table-body/bl-table-body";
|
|
34
|
-
export { default as BlTableRow } from "./components/table/table-row/bl-table-row";
|
|
35
|
-
export { default as BlTableHeaderCell } from "./components/table/table-header-cell/bl-table-header-cell";
|
|
36
38
|
export { default as BlTableCell } from "./components/table/table-cell/bl-table-cell";
|
|
37
|
-
export { default as
|
|
38
|
-
export { default as
|
|
39
|
+
export { default as BlTableHeaderCell } from "./components/table/table-header-cell/bl-table-header-cell";
|
|
40
|
+
export { default as BlTableHeader } from "./components/table/table-header/bl-table-header";
|
|
41
|
+
export { default as BlTableRow } from "./components/table/table-row/bl-table-row";
|
|
39
42
|
export { default as BlTag } from "./components/tag/bl-tag";
|
|
40
|
-
export { default as
|
|
43
|
+
export { default as BlTextarea } from "./components/textarea/bl-textarea";
|
|
44
|
+
export { default as BlTooltip } from "./components/tooltip/bl-tooltip";
|
|
41
45
|
export { getIconPath, setIconPath } from "./utilities/asset-paths";
|
|
42
|
-
export { html as litHtmlRenderer } from "lit";
|
|
43
46
|
//# sourceMappingURL=baklava.d.ts.map
|
package/dist/baklava.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baklava.d.ts","sourceRoot":"","sources":["../src/baklava.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"baklava.d.ts","sourceRoot":"","sources":["../src/baklava.ts"],"names":[],"mappings":"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"}
|
package/dist/baklava.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as J}from"./chunk-LZ6VDMPM.js";import{b as K}from"./chunk-JTNWYMYZ.js";import{b as F}from"./chunk-5QGKDF4O.js";import{b as z}from"./chunk-JN5BKKQZ.js";import{b as E}from"./chunk-DPKNQOJX.js";import{a as M}from"./chunk-Z2AZS34W.js";import{a as Q}from"./chunk-UF5VCR36.js";import{a as r}from"./chunk-IR2QY2VG.js";import{b as C}from"./chunk-7HEDOM2M.js";import{a as v}from"./chunk-BDTCJ2JC.js";import{a as N}from"./chunk-HCSEQTUP.js";import{b as y}from"./chunk-NW7MDZJB.js";import{a as j}from"./chunk-3MLXIDOD.js";import{a as O}from"./chunk-YH3MSMXL.js";import{a as L}from"./chunk-WZBUJ4ER.js";import{b as q}from"./chunk-FCOVZEHC.js";import{a as h}from"./chunk-7N7YHRPA.js";import{b as w}from"./chunk-23AVKNCC.js";import{a as k}from"./chunk-P4S537UY.js";import{a as R}from"./chunk-UK2ZEQBN.js";import{c as A,f as H}from"./chunk-FS3MTRC3.js";import{a as G}from"./chunk-KYLWO3YR.js";import{a as D}from"./chunk-5NSAJ3SX.js";import{a as T}from"./chunk-UV7BOOVA.js";import{a as b}from"./chunk-D7VPTSSK.js";import{b as I,d as S,f as g}from"./chunk-LIUATY6B.js";import{b as P}from"./chunk-FANRUDPK.js";import{a as f}from"./chunk-LCAPXVGE.js";import"./chunk-ECPWEUBG.js";import{a as p}from"./chunk-UGRBWOQE.js";import{b as x,e as s}from"./chunk-6XM52E7W.js";import{a as c}from"./chunk-C2UDBDKV.js";import{a as i}from"./chunk-BCRV6HG6.js";import{b as n}from"./chunk-RCHKJINV.js";import"./chunk-EZSEQHRH.js";import{a as B}from"./chunk-3IZAFXL6.js";import"./chunk-23PSWIUF.js";import{b as m}from"./chunk-IEFQ6PGY.js";import"./chunk-IPYZIIRV.js";import{b as u}from"./chunk-NM74WWXQ.js";import{b as d}from"./chunk-OYHUG47P.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-AYJMIZZ3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-6LT7O7T2.js";import"./chunk-DINNT5P2.js";import{a as o,b as t,c as a}from"./chunk-3OQA4BKQ.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import"./chunk-HBPBDC7T.js";import{a as l}from"./chunk-HD7EU6S5.js";import"./chunk-5MOOXA2X.js";import{b as e}from"./chunk-4OT5AMS5.js";import"./chunk-BWWXE4SL.js";export{r as BlAccordion,l as BlAccordionGroup,f as BlAlert,p as BlBadge,u as BlButton,m as BlCalendar,x as BlCheckbox,s as BlCheckboxGroup,c as BlDatePicker,T as BlDialog,b as BlDrawer,g as BlDropdown,P as BlDropdownGroup,S as BlDropdownItem,a as BlIcon,B as BlInput,h as BlLink,w as BlNotification,C as BlNotificationCard,k as BlPagination,n as BlPopover,R as BlProgressIndicator,A as BlRadio,H as BlRadioGroup,G as BlSelect,D as BlSelectOption,d as BlSpinner,I as BlSplitButton,v as BlStepper,N as BlStepperItem,y as BlSwitch,O as BlTab,j as BlTabGroup,L as BlTabPanel,q as BlTable,z as BlTableBody,J as BlTableCell,E as BlTableHeader,K as BlTableHeaderCell,F as BlTableRow,M as BlTag,Q as BlTextarea,i as BlTooltip,t as getIconPath,e as litHtmlRenderer,o as setIconPath};
|
|
2
2
|
//# sourceMappingURL=baklava.js.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import{a as x}from"./chunk-23PSWIUF.js";import{a as b}from"./chunk-NM74WWXQ.js";import{c as y}from"./chunk-EG7U7PM3.js";import{a as f}from"./chunk-XDUIVR6I.js";import{a as p}from"./chunk-6LT7O7T2.js";import{a as l}from"./chunk-DINNT5P2.js";import{a as n}from"./chunk-GRL4DWKG.js";import{a as g,c as m}from"./chunk-HBPBDC7T.js";import{a as u,b as i,c,e as v}from"./chunk-5MOOXA2X.js";import{a as h,b as r,f as d}from"./chunk-4OT5AMS5.js";import{d as t}from"./chunk-BWWXE4SL.js";var M=h`:host{display:inline-block;width:200px;position:relative}.wrapper{--border-color:var(--bl-color-neutral-lighter);--icon-color:var(--bl-color-neutral-light);--text-color:var(--bl-color-neutral-darker);--height:var(--bl-size-2xl);--input-font:var(--bl-font-body-text-2);--line-height:var(--bl-font-body-text-2-line-height);--icon-size:var(--line-height);--icon-gap:var(--bl-size-4xs);--padding-vertical:calc((var(--height) - var(--line-height)) / 2);--padding-horizontal:var(--bl-size-xs);--autofill-bg-color:var(--bl-color-primary-contrast);--label-padding:var(--bl-size-2xs);--background-color:var(--bl-color-neutral-full);display:grid;position:relative;gap:var(--bl-size-3xs)}.wrapper:focus-within{--border-color:var(--bl-color-primary);--icon-color:var(--bl-color-primary)}.wrapper.dirty.invalid{--border-color:var(--bl-color-danger);--icon-color:var(--bl-color-danger)}:host([size=large]) .wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m)}:host([size=small]) .wrapper{--height:var(--bl-size-xl);--input-font:var(--bl-font-body-text-3);--padding-vertical:var(--bl-size-3xs)}.input-wrapper{--border-size:1px;outline:0;display:flex;box-sizing:border-box;gap:var(--padding-vertical);height:var(--height);border:solid var(--border-size) var(--border-color);padding-block:0;padding-inline:calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding) - var(--border-size)) calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding) - var(--border-size));background-color:var(--background-color);border-radius:var(--bl-size-3xs);margin:0;width:0;min-width:100%}:host([disabled]) .wrapper{cursor:not-allowed;--background-color:var(--bl-color-neutral-lightest);--text-color:var(--bl-color-neutral-light)}.wrapper:has(input:autofill){--background-color:var(--autofill-bg-color)}.wrapper:has(input:-webkit-autofill){--background-color:var(--autofill-bg-color)}.input-wrapper legend,label{padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label{position:absolute;max-width:max-content;transition:.1s ease-in;font:var(--input-font);top:var(--padding-vertical);inset-inline-start:var(--bl-input-padding-start,var(--padding-horizontal));inset-inline-end:var(--bl-input-padding-end,var(--padding-horizontal));pointer-events:none;color:var(--bl-color-neutral-light)}.has-icon label{inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) + var(--icon-size) + var(--padding-vertical))}.input-wrapper legend{height:0;visibility:hidden;display:none}.input-wrapper legend span{padding:0 var(--label-padding);display:inline-block;opacity:0;visibility:visible}input{width:100%;align-self:stretch;outline:0;border:0;padding-block:0;padding-inline:var(--label-padding) 0;font:var(--input-font);color:var(--text-color);-webkit-text-fill-color:var(--text-color);background-color:transparent;cursor:var(--bl-input-cursor,unset)}input::-webkit-credentials-auto-fill-button{color:red}:where(.wrapper:focus-within,.wrapper.has-value) input{padding-inline-start:var(--label-padding)}input:disabled{cursor:not-allowed}input::-webkit-calendar-picker-indicator{display:none}input::-webkit-search-cancel-button{display:none}input::-moz-calendar-picker-indicator{display:none}input:autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}input:-webkit-autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}.icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;height:var(--icon-size);margin-inline-end:var(--label-padding)}.icon:has(.clear-icon){gap:var(--bl-size-3xs)}::slotted(bl-icon),bl-icon:not(.reveal-icon,.clear-icon){font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.reveal-button bl-icon{display:none}bl-icon[name=eye_on]{display:inline-block}.password-visible bl-icon[name=eye_on]{display:none}.password-visible bl-icon[name=eye_off]{display:inline-block}.wrapper:not(.has-icon) .icon{display:none}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label]) ::placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:color .4s ease-out}:host :focus-within ::placeholder,:host([label-fixed]) ::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label-fixed]) label{position:static;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0}:host([label-fixed]) legend{display:none}:host(:not([label-fixed])) .has-value label,:host(:not([label-fixed])) :focus-within label{top:0;inset-inline-start:calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding));inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding));transform:translateY(-50%);font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0 var(--label-padding);pointer-events:initial;z-index:var(--bl-index-base)}:host([label]:not([label-fixed])) :where(:focus-within,.has-value) legend{max-width:100%;font:var(--bl-font-caption);display:block}.error-icon,.invalid-text{display:none}.dirty.invalid label,.error-icon,.invalid-text{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-neutral-dark)}.dirty.invalid .hint,:host([help-text]) .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}.dirty.invalid .error-icon{display:inline-block}.split-divider{display:block;height:1rem;width:1px;background-color:var(--bl-color-neutral-lighter)}slot[name=icon] bl-icon{margin-inline-start:var(--bl-size-3xs);font-size:var(--bl-font-size-m)}`,w=M;var H={date:"calendar","datetime-local":"calendar",month:"calendar",week:"calendar",time:"clock",search:"search"},e=class extends f(d){constructor(){super(...arguments);this.type="text";this.value="";this.required=!1;this.loading=!1;this.autocomplete="on";this.autofocus=!1;this.size="medium";this.disabled=!1;this.readonly=!1;this.labelFixed=!1;this.onKeydown=a=>{a.code==="Enter"&&this.form&&setTimeout(()=>{a.defaultPrevented||b(this.form)})};this.dirty=!1;this.passwordVisible=!1;this.inputId=Math.random().toString(36).substring(2)}static get styles(){return[w]}set customInvalidText(a){this._customInvalidText=a,this.setValue(this.value)}get customInvalidText(){return this._customInvalidText}connectedCallback(){var a;super.connectedCallback(),this.addEventListener("keydown",this.onKeydown),(a=this.form)==null||a.addEventListener("submit",()=>{this.reportValidity()})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this.onKeydown)}textVisibilityToggle(){this.passwordVisible=!this.passwordVisible}async handleSearchClear(){this.value="",this.setValue(this.value),this.onInput(this.value),await this.clearCustomError(),this.validationTarget.focus()}showPicker(){"showPicker"in HTMLInputElement.prototype&&this.validationTarget.showPicker()}validityCallback(){var a;return this.onInvalid(this.internals.validity),this.customInvalidText||((a=this.validationTarget)==null?void 0:a.validationMessage)}setCustomValidity(a){this.validationTarget.setCustomValidity(a)}async forceCustomError(){await this.updateComplete,this.setCustomValidity(this.customInvalidText||m("An error occurred",{desc:"bl-input: default custom error message"})),this.setValue(this.value),this.reportValidity()}async clearCustomError(){await this.updateComplete,this.setCustomValidity(""),this.setValue(this.value),this.reportValidity()}reportValidity(){return this.dirty=!0,this.requestUpdate(),this.checkValidity()}inputHandler(a){let o=a.target.value;this.value=o,this.setValue(this.value),this.onInput(o)}changeHandler(a){let o=a.target.value;this.dirty=!0,this.value=o,this.setValue(this.value),this.onChange(o)}firstUpdated(){this.setValue(this.value),this.icon||(this.icon=H[this.type])}async updated(a){a.size>0&&(this.setValue(this.value),await this.validationComplete,this.requestUpdate()),a.has("error")&&this.error&&!this.dirty&&this.reportValidity()}get _hasIconSlot(){return this.querySelector(':scope > [slot="icon"]')!==null}render(){let a=this.checkValidity()?"":r`<p id="errorMessage" aria-live="polite" class="invalid-text">
|
|
2
|
+
${this.validationMessage}
|
|
3
|
+
</p>`,o=this.helpText?r`<p id="helpText" class="help-text">${this.helpText}</p>`:"",k=r`
|
|
4
|
+
<slot name="icon">
|
|
5
|
+
${this.loading&&this.type==="search"&&this.value!==""&&this.value!==null?r`<bl-spinner></bl-spinner>`:this.icon?r`<bl-icon name="${this.icon}"></bl-icon>`:r`<bl-icon class="error-icon" name="alert"></bl-icon>`}
|
|
6
|
+
</slot>
|
|
7
|
+
`,z=this.label?r`<label for=${this.inputId}>${this.label}</label>`:"",s=this.type==="password",T=s?r`<bl-button
|
|
8
|
+
size="small"
|
|
9
|
+
kind="neutral"
|
|
10
|
+
variant="tertiary"
|
|
11
|
+
class="${p({"reveal-button":!0,"password-visible":this.passwordVisible})}"
|
|
12
|
+
aria-label="Toggle password reveal"
|
|
13
|
+
@bl-click="${this.textVisibilityToggle}"
|
|
14
|
+
>
|
|
15
|
+
<bl-icon class="reveal-icon" slot="icon" name="eye_on"></bl-icon>
|
|
16
|
+
<bl-icon class="reveal-icon" slot="icon" name="eye_off"></bl-icon>
|
|
17
|
+
</bl-button>`:"",$=this.type==="search"&&this.value!==""&&this.value!==null?r`
|
|
18
|
+
<bl-button
|
|
19
|
+
size="small"
|
|
20
|
+
kind="neutral"
|
|
21
|
+
variant="tertiary"
|
|
22
|
+
aria-label="Clear search"
|
|
23
|
+
icon="close"
|
|
24
|
+
@bl-click=${this.handleSearchClear}
|
|
25
|
+
>
|
|
26
|
+
</bl-button>
|
|
27
|
+
<div class="split-divider"></div>
|
|
28
|
+
`:"",V=this.icon||this._hasIconSlot,C={wrapper:!0,dirty:this.dirty,invalid:!this.checkValidity(),"has-icon":s||V||this.dirty&&!this.checkValidity(),"has-value":this.value!==null&&this.value!==""},E=this.passwordVisible?"text":"password",S=s?E:this.type;return r`<div class=${p(C)}>
|
|
29
|
+
${z}
|
|
30
|
+
<fieldset class="input-wrapper">
|
|
31
|
+
<legend><span>${this.label}</span></legend>
|
|
32
|
+
<input
|
|
33
|
+
id=${this.inputId}
|
|
34
|
+
type=${S}
|
|
35
|
+
.value=${y(this.value)}
|
|
36
|
+
inputmode="${l(this.inputmode)}"
|
|
37
|
+
?autofocus=${this.autofocus}
|
|
38
|
+
.autocomplete="${this.autocomplete}"
|
|
39
|
+
placeholder="${l(this.placeholder)}"
|
|
40
|
+
minlength="${l(this.minlength)}"
|
|
41
|
+
maxlength="${l(this.maxlength)}"
|
|
42
|
+
min="${l(this.min)}"
|
|
43
|
+
max="${l(this.max)}"
|
|
44
|
+
pattern="${l(this.pattern)}"
|
|
45
|
+
step="${l(this.step)}"
|
|
46
|
+
?required=${this.required}
|
|
47
|
+
?disabled=${this.disabled}
|
|
48
|
+
?readonly=${this.readonly}
|
|
49
|
+
@change=${this.changeHandler}
|
|
50
|
+
@input=${this.inputHandler}
|
|
51
|
+
aria-invalid=${this.checkValidity()?"false":"true"}
|
|
52
|
+
aria-describedby=${l(this.helpText?"helpText":void 0)}
|
|
53
|
+
aria-errormessage=${l(this.checkValidity()?void 0:"errorMessage")}
|
|
54
|
+
/>
|
|
55
|
+
<div class="icon">${T} ${$} ${k}</div>
|
|
56
|
+
</fieldset>
|
|
57
|
+
<div class="hint">${a} ${o}</div>
|
|
58
|
+
</div>`}};e.shadowRootOptions={...d.shadowRootOptions,delegatesFocus:!0},e.formControlValidators=x,t([v("input")],e.prototype,"validationTarget",2),t([i({reflect:!0})],e.prototype,"name",2),t([i({reflect:!0})],e.prototype,"type",2),t([i({reflect:!0})],e.prototype,"label",2),t([i({reflect:!0})],e.prototype,"placeholder",2),t([i({reflect:!0})],e.prototype,"value",2),t([i({type:Boolean,reflect:!0})],e.prototype,"required",2),t([i({type:Number,reflect:!0})],e.prototype,"minlength",2),t([i({type:Number,reflect:!0})],e.prototype,"maxlength",2),t([i({reflect:!0})],e.prototype,"min",2),t([i({type:Boolean,reflect:!0})],e.prototype,"loading",2),t([i({reflect:!0})],e.prototype,"max",2),t([i({type:String,reflect:!0})],e.prototype,"pattern",2),t([i({type:Number,reflect:!0})],e.prototype,"step",2),t([i({type:String,reflect:!0})],e.prototype,"autocomplete",2),t([i({type:String,reflect:!0})],e.prototype,"inputmode",2),t([i({type:Boolean,reflect:!0})],e.prototype,"autofocus",2),t([i({type:String,reflect:!0})],e.prototype,"icon",2),t([i({type:String,reflect:!0})],e.prototype,"size",2),t([i({type:Boolean,reflect:!0})],e.prototype,"disabled",2),t([i({type:Boolean,reflect:!0})],e.prototype,"readonly",2),t([i({type:Boolean,attribute:"label-fixed",reflect:!0})],e.prototype,"labelFixed",2),t([i({type:String,attribute:"invalid-text",reflect:!0})],e.prototype,"customInvalidText",1),t([i({reflect:!0,type:String})],e.prototype,"error",2),t([i({type:String,attribute:"help-text",reflect:!0})],e.prototype,"helpText",2),t([n("bl-change")],e.prototype,"onChange",2),t([n("bl-input")],e.prototype,"onInput",2),t([n("bl-invalid")],e.prototype,"onInvalid",2),t([c()],e.prototype,"dirty",2),t([c()],e.prototype,"passwordVisible",2),e=t([u("bl-input"),g()],e);export{e as a};
|
|
59
|
+
//# sourceMappingURL=chunk-3IZAFXL6.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/input/bl-input.css", "../src/components/input/bl-input.ts"],
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-block;width:200px;position:relative}.wrapper{--border-color:var(--bl-color-neutral-lighter);--icon-color:var(--bl-color-neutral-light);--text-color:var(--bl-color-neutral-darker);--height:var(--bl-size-2xl);--input-font:var(--bl-font-body-text-2);--line-height:var(--bl-font-body-text-2-line-height);--icon-size:var(--line-height);--icon-gap:var(--bl-size-4xs);--padding-vertical:calc((var(--height) - var(--line-height)) / 2);--padding-horizontal:var(--bl-size-xs);--autofill-bg-color:var(--bl-color-primary-contrast);--label-padding:var(--bl-size-2xs);--background-color:var(--bl-color-neutral-full);display:grid;position:relative;gap:var(--bl-size-3xs)}.wrapper:focus-within{--border-color:var(--bl-color-primary);--icon-color:var(--bl-color-primary)}.wrapper.dirty.invalid{--border-color:var(--bl-color-danger);--icon-color:var(--bl-color-danger)}:host([size=large]) .wrapper{--height:var(--bl-size-3xl);--padding-vertical:var(--bl-size-xs);--padding-horizontal:var(--bl-size-m)}:host([size=small]) .wrapper{--height:var(--bl-size-xl);--input-font:var(--bl-font-body-text-3);--padding-vertical:var(--bl-size-3xs)}.input-wrapper{--border-size:1px;outline:0;display:flex;box-sizing:border-box;gap:var(--padding-vertical);height:var(--height);border:solid var(--border-size) var(--border-color);padding-block:0;padding-inline:calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding) - var(--border-size)) calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding) - var(--border-size));background-color:var(--background-color);border-radius:var(--bl-size-3xs);margin:0;width:0;min-width:100%}:host([disabled]) .wrapper{cursor:not-allowed;--background-color:var(--bl-color-neutral-lightest);--text-color:var(--bl-color-neutral-light)}.wrapper:has(input:autofill){--background-color:var(--autofill-bg-color)}.wrapper:has(input:-webkit-autofill){--background-color:var(--autofill-bg-color)}.input-wrapper legend,label{padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label{position:absolute;max-width:max-content;transition:.1s ease-in;font:var(--input-font);top:var(--padding-vertical);inset-inline-start:var(--bl-input-padding-start,var(--padding-horizontal));inset-inline-end:var(--bl-input-padding-end,var(--padding-horizontal));pointer-events:none;color:var(--bl-color-neutral-light)}.has-icon label{inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) + var(--icon-size) + var(--padding-vertical))}.input-wrapper legend{height:0;visibility:hidden;display:none}.input-wrapper legend span{padding:0 var(--label-padding);display:inline-block;opacity:0;visibility:visible}input{width:100%;align-self:stretch;outline:0;border:0;padding-block:0;padding-inline:var(--label-padding) 0;font:var(--input-font);color:var(--text-color);-webkit-text-fill-color:var(--text-color);background-color:transparent;cursor:var(--bl-input-cursor,unset)}input::-webkit-credentials-auto-fill-button{color:red}:where(.wrapper:focus-within,.wrapper.has-value) input{padding-inline-start:var(--label-padding)}input:disabled{cursor:not-allowed}input::-webkit-calendar-picker-indicator{display:none}input::-webkit-search-cancel-button{display:none}input::-moz-calendar-picker-indicator{display:none}input:autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}input:-webkit-autofill{background-color:var(--autofill-bg-color);box-shadow:0 0 0 40rem var(--autofill-bg-color) inset}.icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;height:var(--icon-size);margin-inline-end:var(--label-padding)}.icon:has(.clear-icon){gap:var(--bl-size-3xs)}::slotted(bl-icon),bl-icon:not(.reveal-icon,.clear-icon){font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.reveal-button bl-icon{display:none}bl-icon[name=eye_on]{display:inline-block}.password-visible bl-icon[name=eye_on]{display:none}.password-visible bl-icon[name=eye_off]{display:inline-block}.wrapper:not(.has-icon) .icon{display:none}.hint{display:none;font:var(--bl-font-body-text-3)}.hint p{padding:0;margin:0}::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label]) ::placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:color .4s ease-out}:host :focus-within ::placeholder,:host([label-fixed]) ::placeholder{color:var(--bl-color-neutral-light);-webkit-text-fill-color:var(--bl-color-neutral-light)}:host([label-fixed]) label{position:static;transition:none;transform:none;pointer-events:initial;font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0}:host([label-fixed]) legend{display:none}:host(:not([label-fixed])) .has-value label,:host(:not([label-fixed])) :focus-within label{top:0;inset-inline-start:calc(var(--bl-input-padding-start,var(--padding-horizontal)) - var(--label-padding));inset-inline-end:calc(var(--bl-input-padding-end,var(--padding-horizontal)) - var(--label-padding));transform:translateY(-50%);font:var(--bl-font-caption);color:var(--bl-color-neutral-dark);padding:0 var(--label-padding);pointer-events:initial;z-index:var(--bl-index-base)}:host([label]:not([label-fixed])) :where(:focus-within,.has-value) legend{max-width:100%;font:var(--bl-font-caption);display:block}.error-icon,.invalid-text{display:none}.dirty.invalid label,.error-icon,.invalid-text{color:var(--bl-color-danger)}.help-text{color:var(--bl-color-neutral-dark)}.dirty.invalid .hint,:host([help-text]) .hint{display:block}.dirty.invalid .invalid-text{display:block}.dirty.invalid .help-text{display:none}.dirty.invalid .error-icon{display:inline-block}.split-divider{display:block;height:1rem;width:1px;background-color:var(--bl-color-neutral-lighter)}slot[name=icon] bl-icon{margin-inline-start:var(--bl-size-3xs);font-size:var(--bl-font-size-m)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { localized, msg } from \"@lit/localize\";\nimport { FormControlMixin } from \"@open-wc/form-control\";\nimport { submit } from \"@open-wc/form-helpers\";\nimport \"element-internals-polyfill\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport { innerInputValidators } from \"../../utilities/form-control\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport style from \"./bl-input.css\";\n\nexport type InputType =\n | \"text\"\n | \"email\"\n | \"date\"\n | \"time\"\n | \"datetime-local\"\n | \"month\"\n | \"week\"\n | \"password\"\n | \"number\"\n | \"tel\"\n | \"url\"\n | \"search\";\n\nconst inputTypeIcons: Partial<Record<InputType, BaklavaIcon>> = {\n \"date\": \"calendar\",\n \"datetime-local\": \"calendar\",\n \"month\": \"calendar\",\n \"week\": \"calendar\",\n \"time\": \"clock\",\n \"search\": \"search\",\n};\n\nexport type InputSize = \"small\" | \"medium\" | \"large\";\n/**\n * @tag bl-input\n * @summary Baklava Input component\n *\n * @cssproperty [--bl-input-padding-start] Sets the padding start\n * @cssproperty [--bl-input-padding-end] Sets the padding end\n */\n@customElement(\"bl-input\")\n@localized()\nexport default class BlInput extends FormControlMixin(LitElement) {\n static get styles(): CSSResultGroup {\n return [style];\n }\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n static formControlValidators = innerInputValidators;\n\n @query(\"input\")\n validationTarget: HTMLInputElement;\n\n /**\n * Sets name of the input\n */\n @property({ reflect: true })\n name?: string;\n\n /**\n * Type of the input. It's used to set `type` attribute of native input inside.\n */\n @property({ reflect: true })\n type: InputType = \"text\";\n\n /**\n * Sets label of the input\n */\n @property({ reflect: true })\n label?: string;\n\n /**\n * Sets placeholder of the input\n */\n @property({ reflect: true })\n placeholder?: string;\n\n /**\n * Sets initial value of the input\n */\n @property({ reflect: true })\n value = \"\";\n\n /**\n * Makes input a mandatory field\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Sets minimum length of the input\n */\n @property({ type: Number, reflect: true })\n minlength?: number;\n\n /**\n * Sets maximum length of the input\n */\n @property({ type: Number, reflect: true })\n maxlength?: number;\n\n /**\n * Sets the minimum acceptable value for the input\n */\n @property({ reflect: true })\n min?: number | string;\n\n /**\n * Sets the loading value for the input\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Sets the maximum acceptable value for the input\n */\n @property({ reflect: true })\n max?: number | string;\n\n /**\n * Sets a regex pattern form the input validation\n */\n @property({ type: String, reflect: true })\n pattern?: string;\n\n /**\n * Sets the increase and decrease step to a `number` input\n */\n @property({ type: Number, reflect: true })\n step?: number;\n\n /**\n * Hints browser to autocomplete this field.\n */\n @property({ type: String, reflect: true })\n autocomplete: HTMLInputElement[\"autocomplete\"] = \"on\";\n\n /**\n * Sets the input mode of the field for asking browser to show the desired keyboard.\n */\n @property({ type: String, reflect: true })\n inputmode: HTMLInputElement[\"inputMode\"];\n\n /**\n * Sets input to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the custom icon name. `bl-icon` component is used to show an icon\n */\n @property({ type: String, reflect: true })\n icon?: BaklavaIcon;\n\n /**\n * Sets input size.\n */\n @property({ type: String, reflect: true })\n size?: InputSize = \"medium\";\n\n /**\n * Disables the input\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Makes the input readonly.\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Makes label as fixed positioned\n */\n @property({ type: Boolean, attribute: \"label-fixed\", reflect: true })\n labelFixed = false;\n\n /**\n * Overrides error message. This message will override default error messages\n * @deprecated use setCustomValidity instead\n */\n @property({ type: String, attribute: \"invalid-text\", reflect: true })\n set customInvalidText(value: string) {\n this._customInvalidText = value;\n this.setValue(this.value);\n }\n\n /**\n * @deprecated\n */\n get customInvalidText(): string {\n return this._customInvalidText;\n }\n\n @property({ reflect: true, type: String })\n error: string;\n\n private _customInvalidText: string;\n\n /**\n * Adds help text\n */\n @property({ type: String, attribute: \"help-text\", reflect: true })\n helpText?: string;\n\n /**\n * Fires when an alteration to the element's value is committed by the user. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value.\n */\n @event(\"bl-change\") private onChange: EventDispatcher<string>;\n\n /**\n * Fires when the value of an input element has been changed.\n */\n @event(\"bl-input\") private onInput: EventDispatcher<string>;\n\n /**\n * Fires when the value of an input element has been changed.\n */\n @event(\"bl-invalid\") private onInvalid: EventDispatcher<ValidityState>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this.onKeydown);\n\n this.form?.addEventListener(\"submit\", () => {\n this.reportValidity();\n });\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.onKeydown);\n }\n\n private onKeydown = (event: KeyboardEvent): void => {\n if (event.code === \"Enter\" && this.form) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n submit(this.form);\n }\n });\n }\n };\n\n @state() private dirty = false;\n\n @state() private passwordVisible = false;\n\n private textVisibilityToggle() {\n this.passwordVisible = !this.passwordVisible;\n }\n\n private async handleSearchClear() {\n this.value = \"\";\n this.setValue(this.value);\n this.onInput(this.value);\n\n await this.clearCustomError();\n this.validationTarget.focus();\n }\n\n showPicker() {\n if (\"showPicker\" in HTMLInputElement.prototype) {\n this.validationTarget.showPicker();\n }\n }\n\n validityCallback(): string | void {\n this.onInvalid(this.internals.validity);\n return this.customInvalidText || this.validationTarget?.validationMessage;\n }\n\n /**\n * Sets a custom validity on the form element.\n * @param message\n */\n setCustomValidity(message: string) {\n this.validationTarget.setCustomValidity(message);\n }\n\n /**\n * Force to set input as in invalid state.\n * @deprecated use error attribute instead\n */\n async forceCustomError() {\n await this.updateComplete;\n this.setCustomValidity(\n this.customInvalidText ||\n msg(\"An error occurred\", { desc: \"bl-input: default custom error message\" })\n );\n this.setValue(this.value);\n this.reportValidity();\n }\n\n /**\n * Clear forced invalid state\n * @deprecated use error attribute instead\n */\n async clearCustomError() {\n await this.updateComplete;\n this.setCustomValidity(\"\");\n this.setValue(this.value);\n this.reportValidity();\n }\n\n reportValidity() {\n this.dirty = true;\n this.requestUpdate();\n return this.checkValidity();\n }\n\n private inputHandler(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.value = value;\n this.setValue(this.value);\n this.onInput(value);\n }\n\n private changeHandler(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.dirty = true;\n this.value = value;\n this.setValue(this.value);\n this.onChange(value);\n }\n\n firstUpdated() {\n this.setValue(this.value);\n if (!this.icon) this.icon = inputTypeIcons[this.type];\n }\n\n protected async updated(changedProperties: PropertyValues) {\n if (changedProperties.size > 0) {\n this.setValue(this.value);\n\n await this.validationComplete;\n\n this.requestUpdate();\n }\n\n if (changedProperties.has(\"error\") && this.error && !this.dirty) {\n this.reportValidity();\n }\n }\n\n private inputId = Math.random().toString(36).substring(2);\n\n private get _hasIconSlot() {\n return this.querySelector(':scope > [slot=\"icon\"]') !== null;\n }\n\n render(): TemplateResult {\n const invalidMessage = !this.checkValidity()\n ? html`<p id=\"errorMessage\" aria-live=\"polite\" class=\"invalid-text\">\n ${this.validationMessage}\n </p>`\n : \"\";\n const helpMessage = this.helpText\n ? html`<p id=\"helpText\" class=\"help-text\">${this.helpText}</p>`\n : \"\";\n\n const icon = html`\n <slot name=\"icon\">\n ${this.loading && this.type === \"search\" && this.value !== \"\" && this.value !== null\n ? html`<bl-spinner></bl-spinner>`\n : this.icon\n ? html`<bl-icon name=\"${this.icon}\"></bl-icon>`\n : html`<bl-icon class=\"error-icon\" name=\"alert\"></bl-icon>`}\n </slot>\n `;\n\n const label = this.label ? html`<label for=${this.inputId}>${this.label}</label>` : \"\";\n const passwordInput = this.type === \"password\";\n\n const revealButton = passwordInput\n ? html`<bl-button\n size=\"small\"\n kind=\"neutral\"\n variant=\"tertiary\"\n class=\"${classMap({\n \"reveal-button\": true,\n \"password-visible\": this.passwordVisible,\n })}\"\n aria-label=\"Toggle password reveal\"\n @bl-click=\"${this.textVisibilityToggle}\"\n >\n <bl-icon class=\"reveal-icon\" slot=\"icon\" name=\"eye_on\"></bl-icon>\n <bl-icon class=\"reveal-icon\" slot=\"icon\" name=\"eye_off\"></bl-icon>\n </bl-button>`\n : \"\";\n\n const clearSearchButton =\n this.type === \"search\" && this.value !== \"\" && this.value !== null\n ? html`\n <bl-button\n size=\"small\"\n kind=\"neutral\"\n variant=\"tertiary\"\n aria-label=\"Clear search\"\n icon=\"close\"\n @bl-click=${this.handleSearchClear}\n >\n </bl-button>\n <div class=\"split-divider\"></div>\n `\n : \"\";\n\n const hasCustomIcon = this.icon || this._hasIconSlot;\n const classes = {\n \"wrapper\": true,\n \"dirty\": this.dirty,\n \"invalid\": !this.checkValidity(),\n \"has-icon\": passwordInput || hasCustomIcon || (this.dirty && !this.checkValidity()),\n \"has-value\": this.value !== null && this.value !== \"\",\n };\n\n const passwordType = this.passwordVisible ? \"text\" : \"password\";\n const inputType = passwordInput ? passwordType : this.type;\n\n return html`<div class=${classMap(classes)}>\n ${label}\n <fieldset class=\"input-wrapper\">\n <legend><span>${this.label}</span></legend>\n <input\n id=${this.inputId}\n type=${inputType}\n .value=${live(this.value)}\n inputmode=\"${ifDefined(this.inputmode)}\"\n ?autofocus=${this.autofocus}\n .autocomplete=\"${this.autocomplete}\"\n placeholder=\"${ifDefined(this.placeholder)}\"\n minlength=\"${ifDefined(this.minlength)}\"\n maxlength=\"${ifDefined(this.maxlength)}\"\n min=\"${ifDefined(this.min)}\"\n max=\"${ifDefined(this.max)}\"\n pattern=\"${ifDefined(this.pattern)}\"\n step=\"${ifDefined(this.step)}\"\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @change=${this.changeHandler}\n @input=${this.inputHandler}\n aria-invalid=${this.checkValidity() ? \"false\" : \"true\"}\n aria-describedby=${ifDefined(this.helpText ? \"helpText\" : undefined)}\n aria-errormessage=${ifDefined(this.checkValidity() ? undefined : \"errorMessage\")}\n />\n <div class=\"icon\">${revealButton} ${clearSearchButton} ${icon}</div>\n </fieldset>\n <div class=\"hint\">${invalidMessage} ${helpMessage}</div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-input\": BlInput;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["styles", "i", "bl_input_default", "inputTypeIcons", "BlInput", "FormControlMixin", "s", "event", "submit", "bl_input_default", "value", "_a", "message", "msg", "changedProperties", "invalidMessage", "x", "helpMessage", "icon", "label", "passwordInput", "revealButton", "o", "clearSearchButton", "hasCustomIcon", "classes", "passwordType", "inputType", "l", "innerInputValidators", "__decorateClass", "i", "e", "t", "localized"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{a as r}from"./chunk-GRL4DWKG.js";import{a as c,b as l,c as p,e as h}from"./chunk-5MOOXA2X.js";import{a as n,b as i,f as a}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-BWWXE4SL.js";var d=n`:host{position:relative}.option-container{--option-font:var(--bl-font-title-3-regular);--option-spacing:var(--bl-size-xs) 0;--option-selected-color:var(--bl-color-primary);--option-hover-color:var(--bl-color-primary-highlight);--option-color:var(--bl-color-neutral-darker);--option-disabled-color:var(--bl-color-neutral-light);--option-separator:1px solid var(--bl-color-neutral-lighter);--option-gap:var(--bl-size-2xs);--option-transition:color 120ms ease-out}.option-container::after{position:absolute;content:"";width:100%;bottom:0;border-bottom:var(--option-separator)}.no-border-bottom::after{border-bottom:none}:host(:last-of-type) .option-container::after{border-bottom:none}.single-option{width:100%;display:flex;align-items:center;cursor:pointer;color:var(--option-color);margin:var(--option-spacing);transition:var(--option-transition);font:var(--option-font);user-select:none;position:relative;outline:0}:host ::slotted([slot=icon]),:host bl-icon{margin-right:var(--bl-size-2xs)}.single-option:focus-visible::after{content:"";position:absolute;inset:calc(var(--bl-size-3xs) * -1);border:var(--bl-size-4xs) solid var(--option-hover-color);border-radius:var(--bl-size-4xs)}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .single-option,:host(:hover) .single-option{color:var(--option-hover-color)}:host([selected]) .single-option{color:var(--option-selected-color)}:host([disabled]){cursor:not-allowed}:host([disabled]) .single-option{color:var(--option-disabled-color);cursor:not-allowed;pointer-events:none}.checkbox-option{width:100%;display:block;color:var(--option-color);padding:var(--option-spacing)}`,u=d;var t=class extends a{constructor(){super(...arguments);this.label="";this.disabled=!1;this.selected=!1;this.multiple=!1}static get styles(){return[u]}get value(){return this._value||this.textContent}set value(e){this._value=e}focus(){this.multiple||(this.focusTarget.tabIndex=0),this.focusTarget.focus(),this.onFocus(this.value)}blur(){this.onBlur(this.value),this.focusTarget.tabIndex=-1}singleOptionTemplate(){let e=this.icon?i`<bl-icon name=${this.icon}></bl-icon>`:null;return i`<div
|
|
2
|
+
class="single-option focus-target"
|
|
3
|
+
@blur=${this.blur}
|
|
4
|
+
@keydown=${this.handleKeydown}
|
|
5
|
+
@click="${this._onClickOption}"
|
|
6
|
+
role="option"
|
|
7
|
+
aria-selected="${this.selected}"
|
|
8
|
+
>
|
|
9
|
+
<slot name="icon">${e}</slot>
|
|
10
|
+
<slot></slot>
|
|
11
|
+
</div>`}checkboxOptionTemplate(){return i`<bl-checkbox
|
|
12
|
+
class="checkbox-option focus-target"
|
|
13
|
+
.checked="${this.selected}"
|
|
14
|
+
.disabled="${this.disabled}"
|
|
15
|
+
@bl-checkbox-change="${this._onCheckboxChange}"
|
|
16
|
+
role="option"
|
|
17
|
+
aria-selected="${this.selected}"
|
|
18
|
+
>
|
|
19
|
+
<slot></slot>
|
|
20
|
+
</bl-checkbox>`}render(){return i`<div class="option-container">
|
|
21
|
+
${this.multiple?this.checkboxOptionTemplate():this.singleOptionTemplate()}
|
|
22
|
+
</div>`}handleKeydown(e){(e.code==="Enter"||e.code==="Space")&&(this._onClickOption(),e.preventDefault())}_handleEvent(){this._onSelect(this.value)}_onClickOption(){this.selected=!this.selected,this._handleEvent()}_onCheckboxChange(e){this.selected=e.detail,this._handleEvent()}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{var e,s;this.blSelect=this.closest("bl-select"),this.multiple=((e=this.blSelect)==null?void 0:e.multiple)||!1,(s=this.blSelect)==null||s.registerOption(this)})}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.blSelect)==null||e.unregisterOption(this)}};o([l({})],t.prototype,"value",1),o([l({type:String,reflect:!0,attribute:"label"})],t.prototype,"label",2),o([l({type:Boolean,reflect:!0})],t.prototype,"disabled",2),o([l({type:Boolean,reflect:!0})],t.prototype,"selected",2),o([l({type:String})],t.prototype,"icon",2),o([p()],t.prototype,"multiple",2),o([r("bl-select-option")],t.prototype,"_onSelect",2),o([r("bl-focus")],t.prototype,"onFocus",2),o([r("bl-blur")],t.prototype,"onBlur",2),o([h(".focus-target")],t.prototype,"focusTarget",2),t=o([c("bl-select-option")],t);export{t as a};
|
|
23
|
+
//# sourceMappingURL=chunk-5NSAJ3SX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/select/option/bl-select-option.css", "../src/components/select/option/bl-select-option.ts"],
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{position:relative}.option-container{--option-font:var(--bl-font-title-3-regular);--option-spacing:var(--bl-size-xs) 0;--option-selected-color:var(--bl-color-primary);--option-hover-color:var(--bl-color-primary-highlight);--option-color:var(--bl-color-neutral-darker);--option-disabled-color:var(--bl-color-neutral-light);--option-separator:1px solid var(--bl-color-neutral-lighter);--option-gap:var(--bl-size-2xs);--option-transition:color 120ms ease-out}.option-container::after{position:absolute;content:\"\";width:100%;bottom:0;border-bottom:var(--option-separator)}.no-border-bottom::after{border-bottom:none}:host(:last-of-type) .option-container::after{border-bottom:none}.single-option{width:100%;display:flex;align-items:center;cursor:pointer;color:var(--option-color);margin:var(--option-spacing);transition:var(--option-transition);font:var(--option-font);user-select:none;position:relative;outline:0}:host ::slotted([slot=icon]),:host bl-icon{margin-right:var(--bl-size-2xs)}.single-option:focus-visible::after{content:\"\";position:absolute;inset:calc(var(--bl-size-3xs) * -1);border:var(--bl-size-4xs) solid var(--option-hover-color);border-radius:var(--bl-size-4xs)}:host(.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__) .single-option,:host(:hover) .single-option{color:var(--option-hover-color)}:host([selected]) .single-option{color:var(--option-selected-color)}:host([disabled]){cursor:not-allowed}:host([disabled]) .single-option{color:var(--option-disabled-color);cursor:not-allowed;pointer-events:none}.checkbox-option{width:100%;display:block;color:var(--option-color);padding:var(--option-spacing)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { FormValue } from \"@open-wc/form-helpers\";\nimport { event, EventDispatcher } from \"../../../utilities/event\";\nimport { BaklavaIcon } from \"../../icon/icon-list\";\nimport BlSelect from \"../bl-select\";\nimport style from \"./bl-select-option.css\";\n\n@customElement(\"bl-select-option\")\nexport default class BlSelectOption<ValueType extends FormValue = string> extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n private _value: ValueType;\n\n /* Declare reactive properties */\n /**\n * Sets the value for the option\n */\n @property({})\n get value(): ValueType {\n return this._value || (this.textContent as ValueType);\n }\n\n set value(val: ValueType) {\n this._value = val;\n }\n\n /**\n * Sets the label for bl-select, and bl-select renders this value instead of the option's textContent\n */\n @property({ type: String, reflect: true, attribute: \"label\" })\n label = \"\";\n\n /**\n * Sets option as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets option as selected state\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * Sets the name of the icon\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n @state()\n multiple = false;\n\n /**\n * Fires when clicked on the option\n */\n @event(\"bl-select-option\") private _onSelect: EventDispatcher<ValueType | string | null>;\n\n /**\n * Fires when checkbox is focused\n */\n @event(\"bl-focus\") private onFocus: EventDispatcher<ValueType | string | null>;\n\n /**\n * Fires when checkbox is blurred\n */\n @event(\"bl-blur\") private onBlur: EventDispatcher<ValueType | string | null>;\n\n @query(\".focus-target\") private focusTarget: HTMLElement;\n\n /**\n * Focuses this option\n */\n focus() {\n if (!this.multiple) {\n this.focusTarget.tabIndex = 0;\n }\n this.focusTarget.focus();\n this.onFocus(this.value);\n }\n\n /**\n * Blurs from this option\n */\n blur() {\n this.onBlur(this.value);\n this.focusTarget.tabIndex = -1;\n }\n\n private blSelect: BlSelect<ValueType> | null;\n\n private singleOptionTemplate() {\n const icon = this.icon ? html`<bl-icon name=${this.icon}></bl-icon>` : null;\n\n return html`<div\n class=\"single-option focus-target\"\n @blur=${this.blur}\n @keydown=${this.handleKeydown}\n @click=\"${this._onClickOption}\"\n role=\"option\"\n aria-selected=\"${this.selected}\"\n >\n <slot name=\"icon\">${icon}</slot>\n <slot></slot>\n </div>`;\n }\n\n private checkboxOptionTemplate() {\n return html`<bl-checkbox\n class=\"checkbox-option focus-target\"\n .checked=\"${this.selected}\"\n .disabled=\"${this.disabled}\"\n @bl-checkbox-change=\"${this._onCheckboxChange}\"\n role=\"option\"\n aria-selected=\"${this.selected}\"\n >\n <slot></slot>\n </bl-checkbox>`;\n }\n\n render() {\n return html`<div class=\"option-container\">\n ${this.multiple ? this.checkboxOptionTemplate() : this.singleOptionTemplate()}\n </div>`;\n }\n\n private handleKeydown(event: KeyboardEvent) {\n if (event.code === \"Enter\" || event.code === \"Space\") {\n this._onClickOption();\n event.preventDefault();\n }\n }\n\n private _handleEvent() {\n this._onSelect(this.value);\n }\n\n private _onClickOption() {\n this.selected = !this.selected;\n this._handleEvent();\n }\n\n private _onCheckboxChange(event: CustomEvent) {\n this.selected = event.detail;\n this._handleEvent();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.updateComplete.then(() => {\n this.blSelect = this.closest<BlSelect<ValueType>>(\"bl-select\");\n // FIXME: We should warn when parent is not bl-select\n\n this.multiple = this.blSelect?.multiple || false;\n this.blSelect?.registerOption(this);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.blSelect?.unregisterOption(this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-select-option\": BlSelectOption;\n }\n}\n"],
|
|
5
|
+
"mappings": "mMACO,IAAMA,EAASC,ulDACfC,EAAQF,ECOf,IAAqBG,EAArB,cAAkFC,CAAW,CAA7F,kCAwBE,WAAQ,GAMR,cAAW,GAMX,cAAW,GASX,cAAW,GA5CX,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CASA,IAAI,OAAmB,CACrB,OAAO,KAAK,QAAW,KAAK,WAC9B,CAEA,IAAI,MAAMC,EAAgB,CACxB,KAAK,OAASA,CAChB,CAiDA,OAAQ,CACD,KAAK,WACR,KAAK,YAAY,SAAW,GAE9B,KAAK,YAAY,MAAM,EACvB,KAAK,QAAQ,KAAK,KAAK,CACzB,CAKA,MAAO,CACL,KAAK,OAAO,KAAK,KAAK,EACtB,KAAK,YAAY,SAAW,EAC9B,CAIQ,sBAAuB,CAC7B,IAAMC,EAAO,KAAK,KAAOC,kBAAqB,KAAK,kBAAoB,KAEvE,OAAOA;AAAA;AAAA,cAEG,KAAK;AAAA,iBACF,KAAK;AAAA,gBACN,KAAK;AAAA;AAAA,uBAEE,KAAK;AAAA;AAAA,0BAEFD;AAAA;AAAA,WAGxB,CAEQ,wBAAyB,CAC/B,OAAOC;AAAA;AAAA,kBAEO,KAAK;AAAA,mBACJ,KAAK;AAAA,6BACK,KAAK;AAAA;AAAA,uBAEX,KAAK;AAAA;AAAA;AAAA,mBAI1B,CAEA,QAAS,CACP,OAAOA;AAAA,QACH,KAAK,SAAW,KAAK,uBAAuB,EAAI,KAAK,qBAAqB;AAAA,WAEhF,CAEQ,cAAcC,EAAsB,EACtCA,EAAM,OAAS,SAAWA,EAAM,OAAS,WAC3C,KAAK,eAAe,EACpBA,EAAM,eAAe,EAEzB,CAEQ,cAAe,CACrB,KAAK,UAAU,KAAK,KAAK,CAC3B,CAEQ,gBAAiB,CACvB,KAAK,SAAW,CAAC,KAAK,SACtB,KAAK,aAAa,CACpB,CAEQ,kBAAkBA,EAAoB,CAC5C,KAAK,SAAWA,EAAM,OACtB,KAAK,aAAa,CACpB,CAEA,mBAAoB,CAClB,MAAM,kBAAkB,EAExB,KAAK,eAAe,KAAK,IAAM,CAzJnC,IAAAC,EAAAC,EA0JM,KAAK,SAAW,KAAK,QAA6B,WAAW,EAG7D,KAAK,WAAWD,EAAA,KAAK,WAAL,YAAAA,EAAe,WAAY,IAC3CC,EAAA,KAAK,WAAL,MAAAA,EAAe,eAAe,KAChC,CAAC,CACH,CAEA,sBAAuB,CAlKzB,IAAAD,EAmKI,MAAM,qBAAqB,GAC3BA,EAAA,KAAK,WAAL,MAAAA,EAAe,iBAAiB,KAClC,CACF,EAjJME,EAAA,CADHC,EAAS,CAAC,CAAC,GAXOV,EAYf,qBAYJS,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,UAAW,OAAQ,CAAC,GAvB1CV,EAwBnB,qBAMAS,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA7BvBV,EA8BnB,wBAMAS,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAnCvBV,EAoCnB,wBAMAS,EAAA,CADCC,EAAS,CAAE,KAAM,MAAO,CAAC,GAzCPV,EA0CnB,oBAGAS,EAAA,CADCE,EAAM,GA5CYX,EA6CnB,wBAKmCS,EAAA,CAAlCH,EAAM,kBAAkB,GAlDNN,EAkDgB,yBAKRS,EAAA,CAA1BH,EAAM,UAAU,GAvDEN,EAuDQ,uBAKDS,EAAA,CAAzBH,EAAM,SAAS,GA5DGN,EA4DO,sBAEMS,EAAA,CAA/BG,EAAM,eAAe,GA9DHZ,EA8Da,2BA9DbA,EAArBS,EAAA,CADCC,EAAc,kBAAkB,GACZV",
|
|
6
|
+
"names": ["styles", "i", "bl_select_option_default", "BlSelectOption", "s", "bl_select_option_default", "val", "icon", "x", "event", "_a", "_b", "__decorateClass", "e", "t", "i"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-JN5BKKQZ.js";import{a as u}from"./chunk-DPKNQOJX.js";import{a as c,b as h}from"./chunk-5MOOXA2X.js";import{a,b,f as d}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-BWWXE4SL.js";var y=a`:host{display:table-row}:host([checked]),:host([checked]) ::slotted(bl-table-cell){background-color:var(--bl-color-primary-contrast)}:host([disabled]),:host([disabled]) ::slotted(bl-table-cell){background-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light)}:host(:not([checked],[disabled]).__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__),:host(:not([checked],[disabled]):hover),:host(:not([checked],[disabled]):hover) ::slotted(bl-table-cell){background-color:var(--bl-color-tertiary-background)}:host ::slotted(:first-child){border-inline-start:none}:host ::slotted(:last-child){border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell){border-top:none;border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell:first-child){border-top-left-radius:var(--bl-size-3xs)}:host(:first-child) ::slotted(bl-table-header-cell:last-child){border-top-right-radius:var(--bl-size-3xs);border-inline-end:1px}:host(:last-child) ::slotted(bl-table-cell){border-bottom:none}:host(:first-child) ::slotted(bl-table-cell){border-top:none}:host(:last-child) ::slotted(bl-table-cell:first-child){border-bottom-left-radius:var(--bl-size-3xs)}:host(:last-child) ::slotted(bl-table-cell:last-child){border-bottom-right-radius:var(--bl-size-3xs)}:host([sticky-first-column]) ::slotted(bl-table-cell:first-child),:host([sticky-first-column]) ::slotted(bl-table-header-cell:first-child){position:sticky;z-index:2;inset-inline-start:0}:host([sticky-last-column]) ::slotted(bl-table-cell:last-child),:host([sticky-last-column]) ::slotted(bl-table-header-cell:last-child){position:sticky;z-index:2;inset-inline-end:0}`,m=y;var f="bl-table-row",t=class extends d{constructor(){super(...arguments);this.selectionKey=""}static get styles(){return[m]}connectedCallback(){super.connectedCallback(),!this.closest(u)&&!this.closest(n)&&console.warn("bl-table-row is designed to be used inside a bl-table-header or bl-table-body",this)}updated(e){super.updated(e),this.removeAttribute("checked"),this.removeAttribute("disabled"),this.removeAttribute("sticky-first-column"),this.removeAttribute("sticky-last-column"),this.stickyFirstColumn&&this.setAttribute("sticky-first-column","true"),this.stickyLastColumn&&this.setAttribute("sticky-last-column","true"),this.checked?this.setAttribute("checked","true"):this.disabled&&this.setAttribute("disabled","true"),e.has("selectionKey")&&this.updateComplete.then(()=>{var s,r,o,i;Array.from(this.querySelectorAll("bl-table-header-cell,bl-table-cell")).map(p=>{p.requestUpdate()}),(s=this._table)!=null&&s.multiple&&((r=this._table)!=null&&r.selectable)&&((i=(o=this._table)==null?void 0:o.querySelector("bl-table-header-cell"))==null||i.requestUpdate())})}get _table(){return this.closest("bl-table")}get _firstTableCell(){return this.querySelector("bl-table-cell")}get disabled(){var e;return!!((e=this._firstTableCell)!=null&&e.disabled)}get checked(){var e;return!!((e=this._table)!=null&&e.isRowSelected(this.selectionKey))}get stickyFirstColumn(){var e;return!!((e=this._table)!=null&&e.isFirstColumnSticky())}get stickyLastColumn(){var e;return!!((e=this._table)!=null&&e.isLastColumnSticky())}render(){return b`<slot></slot>`}};l([h({type:String,reflect:!0,attribute:"selection-key"})],t.prototype,"selectionKey",2),t=l([c(f)],t);export{f as a,t as b};
|
|
2
|
+
//# sourceMappingURL=chunk-5QGKDF4O.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{a as h}from"./chunk-6LT7O7T2.js";import{a as i}from"./chunk-DINNT5P2.js";import{a as p,b as t}from"./chunk-5MOOXA2X.js";import{a as c,b as l,f as d}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-BWWXE4SL.js";var f=c`:host{display:inline-flex;align-items:center}.link{--color:var(--bl-link-color, var(--bl-color-primary));--hover-color:var(--bl-link-hover-color, var(--bl-color-primary-highlight));--active-color:var(--bl-link-active-color, var(--bl-color-primary-highlight));display:inline-flex;align-items:center;color:var(--color);cursor:pointer;outline:0;position:relative;font-family:var(--bl-font-family)}.link.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link:hover{text-decoration:none;color:var(--hover-color)}.link:active{color:var(--active-color)}.link:focus-visible{outline:0}.link:focus-visible::after{content:"";position:absolute;inset:-2px;border:2px solid var(--bl-color-primary);border-radius:var(--bl-border-radius-s)}.link.standalone.kind-primary{color:var(--bl-color-primary)}.link.standalone.kind-primary.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link.standalone.kind-primary:active,.link.standalone.kind-primary:hover{color:var(--bl-color-primary-highlight)}.link.standalone.kind-neutral{color:var(--bl-color-neutral)}.link.standalone.kind-neutral.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link.standalone.kind-neutral:active,.link.standalone.kind-neutral:hover{color:var(--bl-color-neutral-highlight)}.link.standalone.size-large{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-l)}.link.standalone.size-medium{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-m)}.link.standalone.size-small{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-s)}::slotted([slot=icon]){margin-inline-start:var(--bl-size-3xs);margin-inline-end:var(--bl-size-3xs);display:inline-block;vertical-align:middle}`,m=f;var e=class extends d{constructor(){super(...arguments);this.href="";this.variant="inline";this.size="medium";this.kind="primary";this.ariaLabel="";this.target="_self"}static get styles(){return[m]}get isStandalone(){return this.variant==="standalone"}renderIcon(){return this.isStandalone?l`<bl-icon name="arrow_right" class="icon" aria-hidden="true"></bl-icon>`:l`<slot name="icon"></slot>`}connectedCallback(){if(super.connectedCallback(),this.variant==="inline"){let n=this.parentElement,a=Array.from((n==null?void 0:n.childNodes)||[]).some(o=>{var s;return o.nodeType===Node.TEXT_NODE&&((s=o.textContent)==null?void 0:s.trim())});(!n||!a)&&console.warn("bl-link: Inline variant should be used within a text container. Example: <p>Text with <bl-link variant='inline'>a link</bl-link> inside.</p>")}}render(){let n={link:!0,standalone:this.isStandalone,[`size-${this.size}`]:this.isStandalone,[`kind-${this.kind}`]:this.isStandalone},a=l`
|
|
2
|
+
<slot></slot>
|
|
3
|
+
${this.renderIcon()}
|
|
4
|
+
`;return l`
|
|
5
|
+
<a
|
|
6
|
+
href="${this.href}"
|
|
7
|
+
class="${h(n)}"
|
|
8
|
+
target="${i(this.target)}"
|
|
9
|
+
rel="${i(this.rel)}"
|
|
10
|
+
hreflang="${i(this.hreflang)}"
|
|
11
|
+
type="${i(this.type)}"
|
|
12
|
+
referrerpolicy="${i(this.referrerPolicy)}"
|
|
13
|
+
download="${i(this.download)}"
|
|
14
|
+
ping="${i(this.ping)}"
|
|
15
|
+
role="link"
|
|
16
|
+
aria-label="${i(this.ariaLabel||void 0)}"
|
|
17
|
+
tabindex="0"
|
|
18
|
+
>
|
|
19
|
+
${a}
|
|
20
|
+
</a>
|
|
21
|
+
`}};r([t({type:String,reflect:!0})],e.prototype,"href",2),r([t({type:String,reflect:!0})],e.prototype,"variant",2),r([t({type:String,reflect:!0})],e.prototype,"size",2),r([t({type:String,reflect:!0})],e.prototype,"kind",2),r([t({type:String,attribute:"aria-label"})],e.prototype,"ariaLabel",2),r([t({type:String,reflect:!0})],e.prototype,"target",2),r([t({type:String,reflect:!0})],e.prototype,"rel",2),r([t({type:String,reflect:!0})],e.prototype,"hreflang",2),r([t({type:String,reflect:!0})],e.prototype,"type",2),r([t({type:String,reflect:!0,attribute:"referrerpolicy"})],e.prototype,"referrerPolicy",2),r([t({type:String,reflect:!0})],e.prototype,"download",2),r([t({type:String,reflect:!0})],e.prototype,"ping",2),e=r([p("bl-link")],e);export{e as a};
|
|
22
|
+
//# sourceMappingURL=chunk-7N7YHRPA.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/link/bl-link.css", "../src/components/link/bl-link.ts"],
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:inline-flex;align-items:center}.link{--color:var(--bl-link-color, var(--bl-color-primary));--hover-color:var(--bl-link-hover-color, var(--bl-color-primary-highlight));--active-color:var(--bl-link-active-color, var(--bl-color-primary-highlight));display:inline-flex;align-items:center;color:var(--color);cursor:pointer;outline:0;position:relative;font-family:var(--bl-font-family)}.link.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link:hover{text-decoration:none;color:var(--hover-color)}.link:active{color:var(--active-color)}.link:focus-visible{outline:0}.link:focus-visible::after{content:\"\";position:absolute;inset:-2px;border:2px solid var(--bl-color-primary);border-radius:var(--bl-border-radius-s)}.link.standalone.kind-primary{color:var(--bl-color-primary)}.link.standalone.kind-primary.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link.standalone.kind-primary:active,.link.standalone.kind-primary:hover{color:var(--bl-color-primary-highlight)}.link.standalone.kind-neutral{color:var(--bl-color-neutral)}.link.standalone.kind-neutral.__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__,.link.standalone.kind-neutral:active,.link.standalone.kind-neutral:hover{color:var(--bl-color-neutral-highlight)}.link.standalone.size-large{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-l)}.link.standalone.size-medium{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-m)}.link.standalone.size-small{font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-s)}::slotted([slot=icon]){margin-inline-start:var(--bl-size-3xs);margin-inline-end:var(--bl-size-3xs);display:inline-block;vertical-align:middle}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport style from \"./bl-link.css\";\n\nexport type LinkVariant = \"inline\" | \"standalone\";\nexport type LinkSize = \"large\" | \"medium\" | \"small\";\nexport type LinkKind = \"primary\" | \"neutral\";\n\n/**\n * @tag bl-link\n * @summary Baklava Link component for navigation\n *\n * @slot icon - Custom icon slot for non-standalone variants\n *\n * @cssproperty [--bl-link-color=--bl-color-primary] Sets the color of link\n * @cssproperty [--bl-link-hover-color=--bl-color-primary-hover] Sets the hover color of link\n * @cssproperty [--bl-link-active-color=--bl-color-primary-active] Sets the active color of link\n */\n\n@customElement(\"bl-link\")\nexport default class BlLink extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * URL that the hyperlink points to\n */\n @property({ type: String, reflect: true })\n href: HTMLAnchorElement[\"href\"] = \"\";\n\n /**\n * Link variant - inline or standalone\n */\n @property({ type: String, reflect: true })\n variant: LinkVariant = \"inline\";\n\n /**\n * Link size - only applies to standalone variant\n */\n @property({ type: String, reflect: true })\n size: LinkSize = \"medium\";\n\n /**\n * Link kind - only applies to standalone variant\n */\n @property({ type: String, reflect: true })\n kind: LinkKind = \"primary\";\n\n /**\n * Aria label for the link\n */\n @property({ type: String, attribute: \"aria-label\" })\n ariaLabel = \"\";\n\n /**\n * Where to display the linked URL\n */\n @property({ type: String, reflect: true })\n target: HTMLAnchorElement[\"target\"] = \"_self\";\n\n /**\n * Relationship between the current document and the linked document.\n * Multiple rel values can be specified by separating them with spaces.\n * Example: \"noopener noreferrer\"\n */\n @property({ type: String, reflect: true })\n rel?: HTMLAnchorElement[\"rel\"];\n\n /**\n * Language of the linked document\n */\n @property({ type: String, reflect: true })\n hreflang?: HTMLAnchorElement[\"hreflang\"];\n\n /**\n * MIME type of the linked document\n */\n @property({ type: String, reflect: true })\n type?: HTMLAnchorElement[\"type\"];\n\n /**\n * Referrer policy for the link\n */\n @property({ type: String, reflect: true, attribute: \"referrerpolicy\" })\n referrerPolicy?: HTMLAnchorElement[\"referrerPolicy\"];\n\n /**\n * Whether to download the resource instead of navigating to it\n */\n @property({ type: String, reflect: true })\n download?: HTMLAnchorElement[\"download\"];\n\n /**\n * Ping URLs to be notified when following the link\n */\n @property({ type: String, reflect: true })\n ping?: HTMLAnchorElement[\"ping\"];\n\n private get isStandalone(): boolean {\n return this.variant === \"standalone\";\n }\n\n private renderIcon(): TemplateResult | null {\n if (this.isStandalone) {\n return html`<bl-icon name=\"arrow_right\" class=\"icon\" aria-hidden=\"true\"></bl-icon>`;\n }\n return html`<slot name=\"icon\"></slot>`;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.variant === \"inline\") {\n const parentElement = this.parentElement;\n const hasTextSibling = Array.from(parentElement?.childNodes || []).some(\n node => node.nodeType === Node.TEXT_NODE && node.textContent?.trim()\n );\n\n if (!parentElement || !hasTextSibling) {\n console.warn(\n \"bl-link: Inline variant should be used within a text container. Example: <p>Text with <bl-link variant='inline'>a link</bl-link> inside.</p>\"\n );\n }\n }\n }\n\n render(): TemplateResult {\n const classes = {\n link: true,\n standalone: this.isStandalone,\n [`size-${this.size}`]: this.isStandalone,\n [`kind-${this.kind}`]: this.isStandalone,\n };\n\n const content = html`\n <slot></slot>\n ${this.renderIcon()}\n `;\n\n return html`\n <a\n href=\"${this.href}\"\n class=\"${classMap(classes)}\"\n target=\"${ifDefined(this.target)}\"\n rel=\"${ifDefined(this.rel)}\"\n hreflang=\"${ifDefined(this.hreflang)}\"\n type=\"${ifDefined(this.type)}\"\n referrerpolicy=\"${ifDefined(this.referrerPolicy)}\"\n download=\"${ifDefined(this.download)}\"\n ping=\"${ifDefined(this.ping)}\"\n role=\"link\"\n aria-label=\"${ifDefined(this.ariaLabel || undefined)}\"\n tabindex=\"0\"\n >\n ${content}\n </a>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-link\": BlLink;\n }\n}\n"],
|
|
5
|
+
"mappings": "6NACO,IAAMA,EAASC,+nDACfC,EAAQF,ECoBf,IAAqBG,EAArB,cAAoCC,CAAW,CAA/C,kCASE,UAAkC,GAMlC,aAAuB,SAMvB,UAAiB,SAMjB,UAAiB,UAMjB,eAAY,GAMZ,YAAsC,QAtCtC,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CA4EA,IAAY,cAAwB,CAClC,OAAO,KAAK,UAAY,YAC1B,CAEQ,YAAoC,CAC1C,OAAI,KAAK,aACAC,0EAEFA,4BACT,CAEA,mBAAoB,CAGlB,GAFA,MAAM,kBAAkB,EAEpB,KAAK,UAAY,SAAU,CAC7B,IAAMC,EAAgB,KAAK,cACrBC,EAAiB,MAAM,MAAKD,GAAA,YAAAA,EAAe,aAAc,CAAC,CAAC,EAAE,KACjEE,GAAK,CAtHb,IAAAC,EAsHgB,OAAAD,EAAK,WAAa,KAAK,aAAaC,EAAAD,EAAK,cAAL,YAAAC,EAAkB,QAChE,GAEI,CAACH,GAAiB,CAACC,IACrB,QAAQ,KACN,8IACF,EAGN,CAEA,QAAyB,CACvB,IAAMG,EAAU,CACd,KAAM,GACN,WAAY,KAAK,aACjB,CAAC,QAAQ,KAAK,MAAM,EAAG,KAAK,aAC5B,CAAC,QAAQ,KAAK,MAAM,EAAG,KAAK,YAC9B,EAEMC,EAAUN;AAAA;AAAA,QAEZ,KAAK,WAAW;AAAA,MAGpB,OAAOA;AAAA;AAAA,gBAEK,KAAK;AAAA,iBACJO,EAASF,CAAO;AAAA,kBACfG,EAAU,KAAK,MAAM;AAAA,eACxBA,EAAU,KAAK,GAAG;AAAA,oBACbA,EAAU,KAAK,QAAQ;AAAA,gBAC3BA,EAAU,KAAK,IAAI;AAAA,0BACTA,EAAU,KAAK,cAAc;AAAA,oBACnCA,EAAU,KAAK,QAAQ;AAAA,gBAC3BA,EAAU,KAAK,IAAI;AAAA;AAAA,sBAEbA,EAAU,KAAK,WAAa,MAAS;AAAA;AAAA;AAAA,UAGjDF;AAAA;AAAA,KAGR,CACF,EAlIEG,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GARtBb,EASnB,oBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAdtBb,EAenB,uBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GApBtBb,EAqBnB,oBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GA1BtBb,EA2BnB,oBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,UAAW,YAAa,CAAC,GAhChCb,EAiCnB,yBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAtCtBb,EAuCnB,sBAQAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GA9CtBb,EA+CnB,mBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GApDtBb,EAqDnB,wBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GA1DtBb,EA2DnB,oBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,UAAW,gBAAiB,CAAC,GAhEnDb,EAiEnB,8BAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAtEtBb,EAuEnB,wBAMAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GA5EtBb,EA6EnB,oBA7EmBA,EAArBY,EAAA,CADCC,EAAc,SAAS,GACHb",
|
|
6
|
+
"names": ["styles", "i", "bl_link_default", "BlLink", "s", "bl_link_default", "x", "parentElement", "hasTextSibling", "node", "_a", "classes", "content", "o", "l", "__decorateClass", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{a as h}from"./chunk-6LT7O7T2.js";import{a as f}from"./chunk-GRL4DWKG.js";import{a as u,b as o}from"./chunk-5MOOXA2X.js";import{a as c,b as m,f as d}from"./chunk-4OT5AMS5.js";import{d as p}from"./chunk-BWWXE4SL.js";var y=c`:host{display:block;width:100%}.stepper{--spacing:var(--bl-size-m);display:flex;position:relative;width:100%}.stepper.direction-horizontal{flex-direction:row;align-items:flex-start}.stepper.direction-horizontal .stepper-item{flex:1 1 0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.stepper.direction-vertical{flex-direction:column;align-items:flex-start}.stepper.direction-vertical .stepper-item{position:relative;width:100%;min-height:80px}.stepper.direction-vertical .stepper-item:not(:last-child){margin-bottom:0}.stepper.usage-non-clickable .stepper-item{cursor:default}.stepper.usage-non-clickable .stepper-item:focus{outline:0}@media (max-width:768px){.stepper.direction-horizontal{flex-direction:column}.stepper.direction-horizontal .stepper-item:not(:last-child)::after{display:none}.stepper.direction-horizontal .stepper-item{margin-bottom:var(--spacing)}}`,g=y;var s=class extends d{constructor(){super(...arguments);this.type="dot";this.direction="horizontal";this.usage="clickable"}static get styles(){return[g]}get stepperItemsArray(){return Array.from(this.querySelectorAll("bl-stepper-item"))}get totalSteps(){return this.stepperItemsArray.length}get activeStep(){return this.stepperItemsArray.findIndex(r=>r.variant==="active")}handleItemClick(e){if(this.usage==="non-clickable")return;let i=e.target.id,t=this.stepperItemsArray,n=t.findIndex(a=>a.id===i);t.forEach((a,l)=>{l<n?a.variant="success":l===n?a.variant="active":a.variant="default"}),this.onStepperChange({activeStep:n,totalSteps:this.totalSteps})}handleKeyDown(e){if(this.usage==="non-clickable")return;let r=this.stepperItemsArray,i=r.findIndex(n=>n===document.activeElement);if(i===-1)return;let t=-1;e.key==="ArrowRight"||e.key==="ArrowDown"?(t=i+1,t>=r.length&&(t=0)):e.key==="ArrowLeft"||e.key==="ArrowUp"?(t=i-1,t<0&&(t=r.length-1)):e.key==="Home"?t=0:e.key==="End"&&(t=r.length-1),t!==-1&&(e.preventDefault(),r[t].focus())}connectedCallback(){super.connectedCallback()}firstUpdated(e){super.firstUpdated(e),this.updateStepperItems()}updated(e){super.updated(e),(e.has("type")||e.has("direction")||e.has("usage"))&&this.updateStepperItems()}updateStepperItems(){let e=this.stepperItemsArray,r=9;e.forEach((i,t)=>{if(t>=r){i.style.display="none";return}i.style.display="",i.stepperType=this.type,i.direction=this.direction,i.stepUsage=this.usage,i.showLeadingConnector=t>0,i.showTrailingConnector=t<Math.min(e.length,r)-1}),e.length>r&&console.error(`bl-stepper: Maximum ${r} items are allowed. ${e.length-r} item(s) will not be displayed.`)}render(){let e={stepper:!0,[`type-${this.type}`]:!0,[`direction-${this.direction}`]:!0,[`usage-${this.usage}`]:!0};return m`
|
|
2
|
+
<div
|
|
3
|
+
class="${h(e)}"
|
|
4
|
+
role="progressbar"
|
|
5
|
+
aria-valuenow="${this.activeStep}"
|
|
6
|
+
aria-valuemin="0"
|
|
7
|
+
aria-valuemax="${this.totalSteps-1}"
|
|
8
|
+
@keydown="${this.handleKeyDown}"
|
|
9
|
+
>
|
|
10
|
+
<slot
|
|
11
|
+
@slotchange="${this.updateStepperItems}"
|
|
12
|
+
@bl-stepper-item-click="${this.handleItemClick}"
|
|
13
|
+
></slot>
|
|
14
|
+
</div>
|
|
15
|
+
`}};p([o({type:String,reflect:!0})],s.prototype,"type",2),p([o({type:String,reflect:!0})],s.prototype,"direction",2),p([o({type:String,reflect:!0})],s.prototype,"usage",2),p([f("bl-stepper-change")],s.prototype,"onStepperChange",2),s=p([u("bl-stepper")],s);export{s as a};
|
|
16
|
+
//# sourceMappingURL=chunk-BDTCJ2JC.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/stepper/bl-stepper.css", "../src/components/stepper/bl-stepper.ts"],
|
|
4
|
+
"sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:block;width:100%}.stepper{--spacing:var(--bl-size-m);display:flex;position:relative;width:100%}.stepper.direction-horizontal{flex-direction:row;align-items:flex-start}.stepper.direction-horizontal .stepper-item{flex:1 1 0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.stepper.direction-vertical{flex-direction:column;align-items:flex-start}.stepper.direction-vertical .stepper-item{position:relative;width:100%;min-height:80px}.stepper.direction-vertical .stepper-item:not(:last-child){margin-bottom:0}.stepper.usage-non-clickable .stepper-item{cursor:default}.stepper.usage-non-clickable .stepper-item:focus{outline:0}@media (max-width:768px){.stepper.direction-horizontal{flex-direction:column}.stepper.direction-horizontal .stepper-item:not(:last-child)::after{display:none}.stepper.direction-horizontal .stepper-item{margin-bottom:var(--spacing)}}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"./bl-stepper-item\";\nimport style from \"./bl-stepper.css\";\n\nexport type StepperType = \"dot\" | \"number\" | \"icon\";\nexport type StepperDirection = \"horizontal\" | \"vertical\";\nexport type StepperUsage = \"clickable\" | \"non-clickable\";\n\ninterface BlStepperItemElement extends HTMLElement {\n id: string;\n variant: \"default\" | \"active\" | \"success\" | \"error\";\n stepperType: StepperType;\n direction: StepperDirection;\n showLeadingConnector: boolean;\n showTrailingConnector: boolean;\n stepUsage: StepperUsage;\n}\n\n/**\n * @tag bl-stepper\n * @summary Baklava Stepper component for displaying progress through a sequence of steps\n *\n * @slot default - Stepper items\n */\n\n@customElement(\"bl-stepper\")\nexport default class BlStepper extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Defines stepper render style\n */\n @property({ type: String, reflect: true })\n type: StepperType = \"dot\";\n\n /**\n * Defines stepper direction is horizontal or vertical\n */\n @property({ type: String, reflect: true })\n direction: StepperDirection = \"horizontal\";\n\n /**\n * Defines stepper usage is clickable or non-clickable\n */\n @property({ type: String, reflect: true })\n usage: StepperUsage = \"clickable\";\n\n private get stepperItemsArray(): BlStepperItemElement[] {\n return Array.from(this.querySelectorAll(\"bl-stepper-item\")) as BlStepperItemElement[];\n }\n\n /**\n * Fires when stepper state changes\n */\n @event(\"bl-stepper-change\") private onStepperChange: EventDispatcher<{\n activeStep: number;\n totalSteps: number;\n }>;\n\n private get totalSteps(): number {\n return this.stepperItemsArray.length;\n }\n\n private get activeStep(): number {\n const items = this.stepperItemsArray;\n\n return items.findIndex(item => {\n return item.variant === \"active\";\n });\n }\n\n private handleItemClick(event: CustomEvent) {\n if (this.usage === \"non-clickable\") {\n return;\n }\n\n const clickedItem = event.target as BlStepperItemElement;\n const itemId = clickedItem.id;\n\n // Update all items based on the clicked item\n const items = this.stepperItemsArray;\n const clickedIndex = items.findIndex(item => item.id === itemId);\n\n items.forEach((item, index) => {\n if (index < clickedIndex) {\n item.variant = \"success\";\n } else if (index === clickedIndex) {\n item.variant = \"active\";\n } else {\n item.variant = \"default\";\n }\n });\n\n // Dispatch change event\n this.onStepperChange({\n activeStep: clickedIndex,\n totalSteps: this.totalSteps,\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.usage === \"non-clickable\") {\n return;\n }\n\n const items = this.stepperItemsArray;\n const focusedItemIndex = items.findIndex(item => item === document.activeElement);\n\n if (focusedItemIndex === -1) {\n return;\n }\n\n let nextIndex = -1;\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n nextIndex = focusedItemIndex + 1;\n if (nextIndex >= items.length) nextIndex = 0;\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n nextIndex = focusedItemIndex - 1;\n if (nextIndex < 0) nextIndex = items.length - 1;\n } else if (event.key === \"Home\") {\n nextIndex = 0;\n } else if (event.key === \"End\") {\n nextIndex = items.length - 1;\n }\n\n if (nextIndex !== -1) {\n event.preventDefault();\n items[nextIndex].focus();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n firstUpdated(changedProperties: Map<string | number | symbol, unknown>) {\n super.firstUpdated(changedProperties);\n\n // Initialize stepper items\n this.updateStepperItems();\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n\n if (\n changedProperties.has(\"type\") ||\n changedProperties.has(\"direction\") ||\n changedProperties.has(\"usage\")\n ) {\n this.updateStepperItems();\n }\n }\n\n private updateStepperItems() {\n const allItems = this.stepperItemsArray;\n const maxItems = 9;\n\n // Hide items beyond the maximum limit\n allItems.forEach((item, index) => {\n if (index >= maxItems) {\n item.style.display = \"none\";\n return;\n }\n\n item.style.display = \"\";\n item.stepperType = this.type;\n item.direction = this.direction;\n item.stepUsage = this.usage;\n\n item.showLeadingConnector = index > 0;\n\n item.showTrailingConnector = index < Math.min(allItems.length, maxItems) - 1;\n });\n\n // Show error if there are more than maximum items\n if (allItems.length > maxItems) {\n console.error(\n `bl-stepper: Maximum ${maxItems} items are allowed. ${\n allItems.length - maxItems\n } item(s) will not be displayed.`\n );\n }\n }\n\n render(): TemplateResult {\n const classes = {\n stepper: true,\n [`type-${this.type}`]: true,\n [`direction-${this.direction}`]: true,\n [`usage-${this.usage}`]: true,\n };\n\n return html`\n <div\n class=\"${classMap(classes)}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.activeStep}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.totalSteps - 1}\"\n @keydown=\"${this.handleKeyDown}\"\n >\n <slot\n @slotchange=\"${this.updateStepperItems}\"\n @bl-stepper-item-click=\"${this.handleItemClick}\"\n ></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-stepper\": BlStepper;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["styles", "i", "bl_stepper_default", "BlStepper", "s", "bl_stepper_default", "item", "event", "itemId", "items", "clickedIndex", "index", "focusedItemIndex", "nextIndex", "changedProperties", "allItems", "maxItems", "classes", "x", "o", "__decorateClass", "e"]
|
|
7
|
+
}
|