igniteui-webcomponents 4.11.1 → 5.0.0-rc.1
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/CHANGELOG.md +67 -0
- package/README.md +168 -110
- package/components/accordion/accordion.d.ts +2 -2
- package/components/accordion/accordion.js +25 -35
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +1 -3
- package/components/avatar/avatar.js +1 -3
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/badge/badge.d.ts +2 -1
- package/components/badge/badge.js.map +1 -1
- package/components/badge/themes/badge.base.css.js +1 -1
- package/components/badge/themes/badge.base.css.js.map +1 -1
- package/components/button/button-base.d.ts +3 -4
- package/components/button/button-base.js +1 -9
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +3 -7
- package/components/button/button.js +4 -5
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.d.ts +2 -2
- package/components/button/icon-button.js +0 -3
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/button.base.css.js +1 -1
- package/components/button/themes/button/button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
- package/components/button-group/themes/button.base.css.js +1 -1
- package/components/button-group/themes/button.base.css.js.map +1 -1
- package/components/button-group/themes/group.base.css.js +1 -1
- package/components/button-group/themes/group.base.css.js.map +1 -1
- package/components/calendar/base.d.ts +65 -0
- package/components/calendar/base.js +150 -0
- package/components/calendar/base.js.map +1 -0
- package/components/calendar/calendar.d.ts +113 -61
- package/components/calendar/calendar.js +417 -514
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +43 -46
- package/components/calendar/days-view/days-view.js +269 -340
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.d.ts +30 -0
- package/components/calendar/helpers.js +99 -0
- package/components/calendar/helpers.js.map +1 -0
- package/components/calendar/model.d.ts +55 -0
- package/components/calendar/model.js +94 -0
- package/components/calendar/model.js.map +1 -0
- package/components/calendar/months-view/months-view.d.ts +12 -12
- package/components/calendar/months-view/months-view.js +72 -79
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/types.d.ts +16 -0
- package/components/calendar/types.js +10 -0
- package/components/calendar/types.js.map +1 -0
- package/components/calendar/years-view/years-view.d.ts +13 -12
- package/components/calendar/years-view/years-view.js +58 -73
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/themes/card.actions.base.css.js +1 -1
- package/components/card/themes/card.actions.base.css.js.map +1 -1
- package/components/card/themes/card.content.base.css.js +1 -1
- package/components/card/themes/card.content.base.css.js.map +1 -1
- package/components/card/themes/card.header.base.css.js +1 -1
- package/components/card/themes/card.header.base.css.js.map +1 -1
- package/components/card/themes/card.media.base.css.js +1 -1
- package/components/card/themes/card.media.base.css.js.map +1 -1
- package/components/card/themes/container.base.css.js +1 -1
- package/components/card/themes/container.base.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +8 -5
- package/components/checkbox/checkbox-base.js +8 -15
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +2 -4
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -3
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/checkbox.base.css.js +1 -1
- package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/switch.base.css.js +1 -1
- package/components/checkbox/themes/switch.base.css.js.map +1 -1
- package/components/checkbox/validators.d.ts +3 -0
- package/components/checkbox/validators.js +5 -0
- package/components/checkbox/validators.js.map +1 -0
- package/components/chip/chip.d.ts +4 -3
- package/components/chip/chip.js +11 -19
- package/components/chip/chip.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/shared/chip.common.css.js +1 -1
- package/components/chip/themes/shared/chip.common.css.js.map +1 -1
- package/components/combo/combo.d.ts +36 -54
- package/components/combo/combo.js +36 -59
- package/components/combo/combo.js.map +1 -1
- package/components/combo/themes/combo-header.base.css.js +1 -1
- package/components/combo/themes/combo-header.base.css.js.map +1 -1
- package/components/combo/themes/combo-item.base.css.js +1 -1
- package/components/combo/themes/combo-item.base.css.js.map +1 -1
- package/components/combo/themes/combo.base.css.js +1 -1
- package/components/combo/themes/combo.base.css.js.map +1 -1
- package/components/combo/types.d.ts +2 -2
- package/components/combo/types.js.map +1 -1
- package/components/combo/validators.d.ts +3 -0
- package/components/combo/validators.js +9 -0
- package/components/combo/validators.js.map +1 -0
- package/components/common/controllers/key-bindings.d.ts +1 -0
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/mutation-observer.d.ts +1 -0
- package/components/common/controllers/mutation-observer.js.map +1 -1
- package/components/common/controllers/root-click.d.ts +4 -2
- package/components/common/controllers/root-click.js +13 -7
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +0 -2
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/localization/intl-formatters.d.ts +17 -0
- package/components/common/localization/intl-formatters.js +46 -0
- package/components/common/localization/intl-formatters.js.map +1 -0
- package/components/common/mixins/alert.d.ts +3 -3
- package/components/common/mixins/alert.js +6 -4
- package/components/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +4 -3
- package/components/common/mixins/combo-box.js +16 -10
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/mixins/form-associated.d.ts +1 -1
- package/components/common/mixins/form-associated.js +4 -2
- package/components/common/mixins/form-associated.js.map +1 -1
- package/components/common/util.d.ts +26 -0
- package/components/common/util.js +34 -0
- package/components/common/util.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +7 -10
- package/components/date-picker/date-picker.js +16 -33
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/date-picker.base.css.js +1 -1
- package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-picker/validators.d.ts +3 -0
- package/components/date-picker/validators.js +15 -0
- package/components/date-picker/validators.js.map +1 -0
- package/components/date-time-input/date-time-input.d.ts +3 -22
- package/components/date-time-input/date-time-input.js +8 -36
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.js +3 -1
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/date-time-input/validators.d.ts +3 -0
- package/components/date-time-input/validators.js +18 -0
- package/components/date-time-input/validators.js.map +1 -0
- package/components/dialog/dialog.d.ts +12 -25
- package/components/dialog/dialog.js +55 -77
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/dialog.base.css.js +1 -1
- package/components/dialog/themes/dialog.base.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
- package/components/divider/divider.js.map +1 -1
- package/components/divider/themes/divider.base.css.js +1 -1
- package/components/divider/themes/divider.base.css.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +1 -1
- package/components/dropdown/dropdown-group.js +5 -3
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +4 -11
- package/components/dropdown/dropdown.js +10 -23
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-header.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-header.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown.base.css.js +1 -1
- package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +10 -10
- package/components/expansion-panel/expansion-panel.js +39 -39
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
- package/components/icon/icon-references.d.ts +28 -0
- package/components/icon/icon-references.js +151 -0
- package/components/icon/icon-references.js.map +1 -0
- package/components/icon/icon-state.broadcast.d.ts +10 -0
- package/components/icon/icon-state.broadcast.js +36 -0
- package/components/icon/icon-state.broadcast.js.map +1 -0
- package/components/icon/icon.d.ts +3 -3
- package/components/icon/icon.js +13 -7
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.registry.d.ts +14 -14
- package/components/icon/icon.registry.js +70 -26
- package/components/icon/icon.registry.js.map +1 -1
- package/components/icon/internal-icons-lib.d.ts +2 -2
- package/components/icon/internal-icons-lib.js +2 -2
- package/components/icon/internal-icons-lib.js.map +1 -1
- package/components/icon/registry/default-map.d.ts +12 -0
- package/components/icon/registry/default-map.js +31 -0
- package/components/icon/registry/default-map.js.map +1 -0
- package/components/icon/registry/parser.d.ts +6 -0
- package/components/icon/registry/parser.js +21 -0
- package/components/icon/registry/parser.js.map +1 -0
- package/components/icon/registry/types.d.ts +34 -0
- package/components/icon/registry/types.js +7 -0
- package/components/icon/registry/types.js.map +1 -0
- package/components/icon/themes/icon.base.css.js +1 -1
- package/components/icon/themes/icon.base.css.js.map +1 -1
- package/components/input/input-base.d.ts +8 -21
- package/components/input/input-base.js +12 -41
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +3 -29
- package/components/input/input.js +4 -78
- package/components/input/input.js.map +1 -1
- package/components/input/themes/input.base.css.js +1 -1
- package/components/input/themes/input.base.css.js.map +1 -1
- package/components/input/validators.d.ts +4 -0
- package/components/input/validators.js +30 -0
- package/components/input/validators.js.map +1 -0
- package/components/list/list.d.ts +1 -3
- package/components/list/list.js +1 -2
- package/components/list/list.js.map +1 -1
- package/components/list/themes/container.base.css.js +1 -1
- package/components/list/themes/container.base.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +3 -2
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +1 -4
- package/components/mask-input/mask-input.js +7 -17
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/validators.d.ts +3 -0
- package/components/mask-input/validators.js +11 -0
- package/components/mask-input/validators.js.map +1 -0
- package/components/nav-drawer/nav-drawer-item.d.ts +1 -5
- package/components/nav-drawer/nav-drawer-item.js +9 -10
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +4 -3
- package/components/nav-drawer/nav-drawer.js +18 -7
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/themes/container.base.css.js +1 -1
- package/components/nav-drawer/themes/container.base.css.js.map +1 -1
- package/components/nav-drawer/themes/header-item.base.css.js +1 -1
- package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/item.base.css.js +1 -1
- package/components/nav-drawer/themes/item.base.css.js.map +1 -1
- package/components/navbar/themes/navbar.base.css.js +1 -1
- package/components/navbar/themes/navbar.base.css.js.map +1 -1
- package/components/popover/themes/light/popover.base.css.js +1 -1
- package/components/popover/themes/light/popover.base.css.js.map +1 -1
- package/components/progress/base.d.ts +2 -1
- package/components/progress/base.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/radio/radio.d.ts +9 -9
- package/components/radio/radio.js +17 -31
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/radio.base.css.js +1 -1
- package/components/radio/themes/radio.base.css.js.map +1 -1
- package/components/radio/validators.d.ts +3 -0
- package/components/radio/validators.js +13 -0
- package/components/radio/validators.js.map +1 -0
- package/components/radio-group/radio-group.base.css.js +1 -1
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating.d.ts +1 -9
- package/components/rating/rating.js +6 -16
- package/components/rating/rating.js.map +1 -1
- package/components/rating/themes/rating-symbol.base.css.js +1 -1
- package/components/rating/themes/rating-symbol.base.css.js.map +1 -1
- package/components/rating/themes/rating.base.css.js +1 -1
- package/components/rating/themes/rating.base.css.js.map +1 -1
- package/components/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +5 -33
- package/components/select/select.js +23 -66
- package/components/select/select.js.map +1 -1
- package/components/select/themes/select.base.css.js +1 -1
- package/components/select/themes/select.base.css.js.map +1 -1
- package/components/select/validators.d.ts +3 -0
- package/components/select/validators.js +5 -0
- package/components/select/validators.js.map +1 -0
- package/components/slider/range-slider.d.ts +0 -16
- package/components/slider/range-slider.js +0 -18
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/themes/slider.base.css.js +1 -1
- package/components/slider/themes/slider.base.css.js.map +1 -1
- package/components/snackbar/snackbar.js +3 -7
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/snackbar.base.css.js +1 -1
- package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
- package/components/stepper/themes/step/step.base.css.js +1 -1
- package/components/stepper/themes/step/step.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
- package/components/tabs/tabs.js +2 -3
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/tab.base.css.js +1 -1
- package/components/tabs/themes/tab.base.css.js.map +1 -1
- package/components/tabs/themes/tabs.base.css.js +1 -1
- package/components/tabs/themes/tabs.base.css.js.map +1 -1
- package/components/textarea/textarea.d.ts +13 -16
- package/components/textarea/textarea.js +10 -12
- package/components/textarea/textarea.js.map +1 -1
- package/components/textarea/themes/textarea.base.css.js +1 -1
- package/components/textarea/themes/textarea.base.css.js.map +1 -1
- package/components/textarea/validators.d.ts +3 -0
- package/components/textarea/validators.js +7 -0
- package/components/textarea/validators.js.map +1 -0
- package/components/toast/themes/toast.base.css.js +1 -1
- package/components/toast/themes/toast.base.css.js.map +1 -1
- package/components/tree/themes/container.base.css.js +1 -1
- package/components/tree/themes/container.base.css.js.map +1 -1
- package/components/tree/themes/item.base.css.js +1 -1
- package/components/tree/themes/item.base.css.js.map +1 -1
- package/components/tree/tree-item.d.ts +4 -4
- package/components/tree/tree-item.js +11 -23
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +3 -4
- package/components/tree/tree.js +1 -37
- package/components/tree/tree.js.map +1 -1
- package/components/types.d.ts +3 -0
- package/components/types.js +2 -0
- package/components/types.js.map +1 -0
- package/custom-elements.json +30658 -31327
- package/igniteui-webcomponents.css-data.json +5 -928
- package/igniteui-webcomponents.html-data.json +4 -2699
- package/index.d.ts +5 -4
- package/index.js +2 -3
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/theming/config.js +3 -3
- package/theming/config.js.map +1 -1
- package/theming/theming-controller.d.ts +4 -6
- package/theming/theming-controller.js +30 -34
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-decorator.d.ts +29 -11
- package/theming/theming-decorator.js +21 -7
- package/theming/theming-decorator.js.map +1 -1
- package/theming/theming-event.js.map +1 -1
- package/theming/types.d.ts +5 -0
- package/theming/types.js.map +1 -1
- package/theming/utils.d.ts +1 -1
- package/theming/utils.js +8 -8
- package/theming/utils.js.map +1 -1
- package/web-types.json +12 -7621
- package/components/calendar/common/calendar-base.d.ts +0 -40
- package/components/calendar/common/calendar-base.js +0 -118
- package/components/calendar/common/calendar-base.js.map +0 -1
- package/components/calendar/common/calendar.model.d.ts +0 -128
- package/components/calendar/common/calendar.model.js +0 -246
- package/components/calendar/common/calendar.model.js.map +0 -1
- package/components/calendar/common/utils.d.ts +0 -12
- package/components/calendar/common/utils.js +0 -54
- package/components/calendar/common/utils.js.map +0 -1
- package/components/common/decorators/alternateName.d.ts +0 -7
- package/components/common/decorators/alternateName.js +0 -4
- package/components/common/decorators/alternateName.js.map +0 -1
- package/components/common/decorators/blazorSuppress.d.ts +0 -5
- package/components/common/decorators/blazorSuppress.js +0 -4
- package/components/common/decorators/blazorSuppress.js.map +0 -1
- package/components/common/decorators/blazorTwoWayBind.d.ts +0 -7
- package/components/common/decorators/blazorTwoWayBind.js +0 -4
- package/components/common/decorators/blazorTwoWayBind.js.map +0 -1
- package/components/common/mixins/sizable.d.ts +0 -13
- package/components/common/mixins/sizable.js +0 -27
- package/components/common/mixins/sizable.js.map +0 -1
- package/components/form/form.d.ts +0 -48
- package/components/form/form.js +0 -158
- package/components/form/form.js.map +0 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export const iconReferences = [];
|
|
2
|
+
const makeIconRefs = (icons) => {
|
|
3
|
+
return new Map(Object.entries(icons).map((icon) => {
|
|
4
|
+
return icon;
|
|
5
|
+
}));
|
|
6
|
+
};
|
|
7
|
+
const addIcon = (name, target) => {
|
|
8
|
+
const icon = {
|
|
9
|
+
alias: {
|
|
10
|
+
name,
|
|
11
|
+
collection: 'default',
|
|
12
|
+
},
|
|
13
|
+
target: makeIconRefs(target),
|
|
14
|
+
};
|
|
15
|
+
iconReferences.push(icon);
|
|
16
|
+
};
|
|
17
|
+
addIcon('expand', {
|
|
18
|
+
default: {
|
|
19
|
+
name: 'keyboard_arrow_down',
|
|
20
|
+
collection: 'internal',
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
addIcon('collapse', {
|
|
24
|
+
default: {
|
|
25
|
+
name: 'keyboard_arrow_up',
|
|
26
|
+
collection: 'internal',
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
addIcon('arrow_prev', {
|
|
30
|
+
default: {
|
|
31
|
+
name: 'navigate_before',
|
|
32
|
+
collection: 'internal',
|
|
33
|
+
},
|
|
34
|
+
fluent: {
|
|
35
|
+
name: 'arrow_upward',
|
|
36
|
+
collection: 'internal',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
addIcon('arrow_next', {
|
|
40
|
+
default: {
|
|
41
|
+
name: 'navigate_next',
|
|
42
|
+
collection: 'internal',
|
|
43
|
+
},
|
|
44
|
+
fluent: {
|
|
45
|
+
name: 'arrow_downward',
|
|
46
|
+
collection: 'internal',
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
addIcon('selected', {
|
|
50
|
+
default: {
|
|
51
|
+
name: 'chip_select',
|
|
52
|
+
collection: 'internal',
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
addIcon('remove', {
|
|
56
|
+
default: {
|
|
57
|
+
name: 'chip_cancel',
|
|
58
|
+
collection: 'internal',
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
addIcon('input_clear', {
|
|
62
|
+
default: {
|
|
63
|
+
name: 'clear',
|
|
64
|
+
collection: 'internal',
|
|
65
|
+
},
|
|
66
|
+
material: {
|
|
67
|
+
name: 'chip_cancel',
|
|
68
|
+
collection: 'internal',
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
addIcon('input_expand', {
|
|
72
|
+
default: {
|
|
73
|
+
name: 'arrow_drop_down',
|
|
74
|
+
collection: 'internal',
|
|
75
|
+
},
|
|
76
|
+
material: {
|
|
77
|
+
name: 'keyboard_arrow_down',
|
|
78
|
+
collection: 'internal',
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
addIcon('input_collapse', {
|
|
82
|
+
default: {
|
|
83
|
+
name: 'arrow_drop_up',
|
|
84
|
+
collection: 'internal',
|
|
85
|
+
},
|
|
86
|
+
material: {
|
|
87
|
+
name: 'keyboard_arrow_up',
|
|
88
|
+
collection: 'internal',
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
addIcon('chevron_right', {
|
|
92
|
+
default: {
|
|
93
|
+
name: 'keyboard_arrow_right',
|
|
94
|
+
collection: 'internal',
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
addIcon('chevron_left', {
|
|
98
|
+
default: {
|
|
99
|
+
name: 'navigate_before',
|
|
100
|
+
collection: 'internal',
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
addIcon('case_sensitive', {
|
|
104
|
+
default: {
|
|
105
|
+
name: 'case_sensitive',
|
|
106
|
+
collection: 'internal',
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
addIcon('today', {
|
|
110
|
+
default: {
|
|
111
|
+
name: 'calendar_today',
|
|
112
|
+
collection: 'internal',
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
addIcon('star_filled', {
|
|
116
|
+
default: {
|
|
117
|
+
name: 'star',
|
|
118
|
+
collection: 'internal',
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
addIcon('star_outlined', {
|
|
122
|
+
default: {
|
|
123
|
+
name: 'star_border',
|
|
124
|
+
collection: 'internal',
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
addIcon('prev', {
|
|
128
|
+
default: {
|
|
129
|
+
name: 'navigate_before',
|
|
130
|
+
collection: 'internal',
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
addIcon('next', {
|
|
134
|
+
default: {
|
|
135
|
+
name: 'navigate_next',
|
|
136
|
+
collection: 'internal',
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
addIcon('tree_expand', {
|
|
140
|
+
default: {
|
|
141
|
+
name: 'keyboard_arrow_right',
|
|
142
|
+
collection: 'internal',
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
addIcon('tree_collapse', {
|
|
146
|
+
default: {
|
|
147
|
+
name: 'keyboard_arrow_down',
|
|
148
|
+
collection: 'internal',
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=icon-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-references.js","sourceRoot":"","sources":["../../../src/components/icon/icon-references.ts"],"names":[],"mappings":"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","sourcesContent":["/** READ BEFORE YOU MODIFY THIS FILE!\n *\n * Before you add/modify an icon reference, please think about the semantics of the icon you are adding/modifying.\n *\n * Icon aliases have sematic meaning depending on the context in which they are used.\n * For instance, if your component handles toggling between expanded and collapsed states,\n * you may want to use the already existing `expand` and `collapse` aliases that point to\n * the `expand_more` and `expand_less` icons in the material font set.\n *\n * It may so happen, however, that the design of your component requires you to use the `chevron_right` for the\n * expand icon and the `expand_more` for the collapse icon. In this case the `tree_expand` and `tree_collapse` aliases\n * would be appropriate.\n * This distinction is important when choosing which icon to use for your component as it will have an impact\n * when a user decides to rewire the `expand`/`collapse` icons to some other icons.\n *\n * Likewise, modifying existing references should be handled with caution as many component in the framework already\n * share icons that have equivalent semantic meaning. For example, the `Paginator`, `Grid Filtering Row`,\n * and `Tabs` components in Ignite UI for Angular all use the `prev` and `next` icons for navigating between pages\n * or lists of items. Changing the underlying target for those icons should be done in a way that suits all components.\n *\n * Keep in mind that icon aliases and their underlying names are shared between Ignite UI component frameworks\n * and changing an alias name here should be reflected in the other frameworks as well.\n *\n * To get acquainted with which component uses what icon, please make sure to read the\n * [docs](https://infragistics.com/products/ignite-ui-angular/Angular/components/icon-service#internal-usage).\n */\nimport type {\n IconMeta,\n IconReference,\n IconThemeKey,\n} from './registry/types.js';\n\ntype Icon = { [key in IconThemeKey]?: IconMeta };\n\nexport const iconReferences: IconReference[] = [];\nconst makeIconRefs = (icons: Icon) => {\n return new Map(\n Object.entries(icons).map((icon) => {\n return icon as [theme: IconThemeKey, IconMeta];\n })\n );\n};\n\nconst addIcon = (name: string, target: Icon) => {\n const icon = {\n alias: {\n name,\n collection: 'default',\n },\n target: makeIconRefs(target),\n };\n\n iconReferences.push(icon as IconReference);\n};\n\naddIcon('expand', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n});\naddIcon('collapse', {\n default: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n});\naddIcon('arrow_prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_upward',\n collection: 'internal',\n },\n});\naddIcon('arrow_next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_downward',\n collection: 'internal',\n },\n});\naddIcon('selected', {\n default: {\n name: 'chip_select',\n collection: 'internal',\n },\n});\naddIcon('remove', {\n default: {\n name: 'chip_cancel',\n collection: 'internal',\n },\n});\naddIcon('input_clear', {\n default: {\n name: 'clear',\n collection: 'internal',\n },\n material: {\n name: 'chip_cancel',\n collection: 'internal',\n },\n});\naddIcon('input_expand', {\n default: {\n name: 'arrow_drop_down',\n collection: 'internal',\n },\n material: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n});\naddIcon('input_collapse', {\n default: {\n name: 'arrow_drop_up',\n collection: 'internal',\n },\n material: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n});\naddIcon('chevron_right', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n});\naddIcon('chevron_left', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n});\naddIcon('case_sensitive', {\n default: {\n name: 'case_sensitive',\n collection: 'internal',\n },\n});\naddIcon('today', {\n default: {\n name: 'calendar_today',\n collection: 'internal',\n },\n});\naddIcon('star_filled', {\n default: {\n name: 'star',\n collection: 'internal',\n },\n});\naddIcon('star_outlined', {\n default: {\n name: 'star_border',\n collection: 'internal',\n },\n});\naddIcon('prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n});\naddIcon('next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n});\naddIcon('tree_expand', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n});\naddIcon('tree_collapse', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n});\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BroadcastIconsChangeMessage, IconMeta, IconsCollection, SvgIcon } from './registry/types.js';
|
|
2
|
+
export declare class IconsStateBroadcast {
|
|
3
|
+
private iconBroadcastChannel;
|
|
4
|
+
private collections;
|
|
5
|
+
private refsCollection;
|
|
6
|
+
constructor(collections: IconsCollection<SvgIcon>, refsCollection: IconsCollection<IconMeta>);
|
|
7
|
+
send(data: BroadcastIconsChangeMessage): void;
|
|
8
|
+
handleEvent({ data }: MessageEvent<BroadcastIconsChangeMessage>): void;
|
|
9
|
+
private getUserSetCollection;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createIconDefaultMap } from './registry/default-map.js';
|
|
2
|
+
import { ActionType } from './registry/types.js';
|
|
3
|
+
export class IconsStateBroadcast {
|
|
4
|
+
constructor(collections, refsCollection) {
|
|
5
|
+
this.collections = collections;
|
|
6
|
+
this.refsCollection = refsCollection;
|
|
7
|
+
this.iconBroadcastChannel = new BroadcastChannel('ignite-ui-icon-channel');
|
|
8
|
+
this.iconBroadcastChannel.addEventListener('message', this);
|
|
9
|
+
}
|
|
10
|
+
send(data) {
|
|
11
|
+
this.iconBroadcastChannel.postMessage(data);
|
|
12
|
+
}
|
|
13
|
+
handleEvent({ data }) {
|
|
14
|
+
if (data.actionType !== ActionType.SyncState) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.send({
|
|
18
|
+
actionType: ActionType.SyncState,
|
|
19
|
+
collections: this.getUserSetCollection(this.collections).toMap(),
|
|
20
|
+
references: this.refsCollection.toMap(),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
getUserSetCollection(collections) {
|
|
24
|
+
const userSetIcons = createIconDefaultMap();
|
|
25
|
+
for (const [collectionKey, collection] of collections.entries()) {
|
|
26
|
+
if (collectionKey === 'internal') {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
for (const [iconKey, icon] of collection.entries()) {
|
|
30
|
+
userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return userSetIcons;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=icon-state.broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-state.broadcast.js","sourceRoot":"","sources":["../../../src/components/icon/icon-state.broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAOjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,mBAAmB;IAK9B,YACE,WAAqC,EACrC,cAAyC;QAEzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEM,IAAI,CAAC,IAAiC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,WAAW,CAAC,EAAE,IAAI,EAA6C;QACpE,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;YAChE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,WAAqC;QAChE,MAAM,YAAY,GAAG,oBAAoB,EAAmB,CAAC;QAE7D,KAAK,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;CACF","sourcesContent":["import { createIconDefaultMap } from './registry/default-map.js';\nimport type {\n BroadcastIconsChangeMessage,\n IconMeta,\n IconsCollection,\n SvgIcon,\n} from './registry/types.js';\nimport { ActionType } from './registry/types.js';\n\nexport class IconsStateBroadcast {\n private iconBroadcastChannel: BroadcastChannel;\n private collections: IconsCollection<SvgIcon>;\n private refsCollection: IconsCollection<IconMeta>;\n\n constructor(\n collections: IconsCollection<SvgIcon>,\n refsCollection: IconsCollection<IconMeta>\n ) {\n this.collections = collections;\n this.refsCollection = refsCollection;\n this.iconBroadcastChannel = new BroadcastChannel('ignite-ui-icon-channel');\n this.iconBroadcastChannel.addEventListener('message', this);\n }\n\n public send(data: BroadcastIconsChangeMessage) {\n this.iconBroadcastChannel.postMessage(data);\n }\n\n public handleEvent({ data }: MessageEvent<BroadcastIconsChangeMessage>) {\n if (data.actionType !== ActionType.SyncState) {\n return;\n }\n\n this.send({\n actionType: ActionType.SyncState,\n collections: this.getUserSetCollection(this.collections).toMap(),\n references: this.refsCollection.toMap(),\n });\n }\n\n private getUserSetCollection(collections: IconsCollection<SvgIcon>) {\n const userSetIcons = createIconDefaultMap<string, SvgIcon>();\n\n for (const [collectionKey, collection] of collections.entries()) {\n if (collectionKey === 'internal') {\n continue;\n }\n for (const [iconKey, icon] of collection.entries()) {\n userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);\n }\n }\n return userSetIcons;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
|
|
2
|
+
import type { IconMeta } from './registry/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* The icon component allows visualizing collections of pre-registered SVG icons.
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@ declare const IgcIconComponent_base: import("../common/mixins/constructor.js").C
|
|
|
7
7
|
*
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
export default class IgcIconComponent extends
|
|
10
|
+
export default class IgcIconComponent extends LitElement {
|
|
11
11
|
static readonly tagName = "igc-icon";
|
|
12
12
|
static styles: import("lit").CSSResult[];
|
|
13
13
|
static register(): void;
|
|
@@ -38,10 +38,10 @@ export default class IgcIconComponent extends IgcIconComponent_base {
|
|
|
38
38
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
39
39
|
protected registerIcon(name: string, url: string, collection?: string): Promise<void>;
|
|
40
40
|
protected registerIconFromText(name: string, iconText: string, collection?: string): void;
|
|
41
|
+
protected setIconRef(name: string, collection: string, icon: IconMeta): void;
|
|
41
42
|
}
|
|
42
43
|
declare global {
|
|
43
44
|
interface HTMLElementTagNameMap {
|
|
44
45
|
'igc-icon': IgcIconComponent;
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
export {};
|
package/components/icon/icon.js
CHANGED
|
@@ -8,16 +8,15 @@ var IgcIconComponent_1;
|
|
|
8
8
|
import { LitElement, html } from 'lit';
|
|
9
9
|
import { property, state } from 'lit/decorators.js';
|
|
10
10
|
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
11
|
-
import { themes } from '../../theming/theming-decorator.js';
|
|
11
|
+
import { getThemeController, themes } from '../../theming/theming-decorator.js';
|
|
12
12
|
import { blazorInclude } from '../common/decorators/blazorInclude.js';
|
|
13
13
|
import { watch } from '../common/decorators/watch.js';
|
|
14
14
|
import { registerComponent } from '../common/definitions/register.js';
|
|
15
|
-
import {
|
|
16
|
-
import { getIconRegistry, registerIconFromText as registerIconFromText_impl, registerIcon as registerIcon_impl, } from './icon.registry.js';
|
|
15
|
+
import { getIconRegistry, registerIconFromText as registerIconFromText_impl, registerIcon as registerIcon_impl, setIconRef as setIconRef_impl, } from './icon.registry.js';
|
|
17
16
|
import { styles } from './themes/icon.base.css.js';
|
|
18
17
|
import { styles as shared } from './themes/shared/icon.common.css.js';
|
|
19
18
|
import { all } from './themes/themes.js';
|
|
20
|
-
let IgcIconComponent = IgcIconComponent_1 = class IgcIconComponent extends
|
|
19
|
+
let IgcIconComponent = IgcIconComponent_1 = class IgcIconComponent extends LitElement {
|
|
21
20
|
static register() {
|
|
22
21
|
registerComponent(IgcIconComponent_1);
|
|
23
22
|
}
|
|
@@ -34,7 +33,7 @@ let IgcIconComponent = IgcIconComponent_1 = class IgcIconComponent extends Sizab
|
|
|
34
33
|
};
|
|
35
34
|
this.__internals = this.attachInternals();
|
|
36
35
|
this.__internals.role = 'img';
|
|
37
|
-
this.
|
|
36
|
+
getThemeController(this).onThemeChanged = (theme) => getIconRegistry().setRefsByTheme(theme);
|
|
38
37
|
}
|
|
39
38
|
connectedCallback() {
|
|
40
39
|
super.connectedCallback();
|
|
@@ -50,7 +49,8 @@ let IgcIconComponent = IgcIconComponent_1 = class IgcIconComponent extends Sizab
|
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
getIcon() {
|
|
53
|
-
const {
|
|
52
|
+
const { name, collection } = getIconRegistry().getIconRef(this.name, this.collection);
|
|
53
|
+
const { svg, title } = getIconRegistry().get(name, collection) ?? {};
|
|
54
54
|
this.svg = svg ?? '';
|
|
55
55
|
this.__internals.ariaLabel = title ?? null;
|
|
56
56
|
}
|
|
@@ -63,6 +63,9 @@ let IgcIconComponent = IgcIconComponent_1 = class IgcIconComponent extends Sizab
|
|
|
63
63
|
registerIconFromText(name, iconText, collection = 'default') {
|
|
64
64
|
registerIconFromText_impl(name, iconText, collection);
|
|
65
65
|
}
|
|
66
|
+
setIconRef(name, collection, icon) {
|
|
67
|
+
setIconRef_impl(name, collection, icon);
|
|
68
|
+
}
|
|
66
69
|
};
|
|
67
70
|
IgcIconComponent.tagName = 'igc-icon';
|
|
68
71
|
IgcIconComponent.styles = [styles, shared];
|
|
@@ -88,8 +91,11 @@ __decorate([
|
|
|
88
91
|
__decorate([
|
|
89
92
|
blazorInclude()
|
|
90
93
|
], IgcIconComponent.prototype, "registerIconFromText", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
blazorInclude()
|
|
96
|
+
], IgcIconComponent.prototype, "setIconRef", null);
|
|
91
97
|
IgcIconComponent = IgcIconComponent_1 = __decorate([
|
|
92
|
-
themes(all)
|
|
98
|
+
themes(all, { exposeController: true })
|
|
93
99
|
], IgcIconComponent);
|
|
94
100
|
export default IgcIconComponent;
|
|
95
101
|
//# sourceMappingURL=icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\n\nimport { getThemeController, themes } from '../../theming/theming-decorator.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n getIconRegistry,\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n setIconRef as setIconRef_impl,\n} from './icon.registry.js';\nimport type { IconMeta } from './registry/types.js';\nimport { styles } from './themes/icon.base.css.js';\nimport { styles as shared } from './themes/shared/icon.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The icon component allows visualizing collections of pre-registered SVG icons.\n *\n * @element igc-icon\n *\n *\n */\n@themes(all, { exposeController: true })\nexport default class IgcIconComponent extends LitElement {\n public static readonly tagName = 'igc-icon';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcIconComponent);\n }\n\n private __internals: ElementInternals;\n\n @state()\n private svg = '';\n\n /* alternateName: iconName */\n /**\n * The name of the icon glyph to draw.\n * @attr\n */\n @property()\n public name = '';\n\n /**\n * The name of the registered collection for look up of icons.\n * Defaults to `default`.\n * @attr\n */\n @property()\n public collection = 'default';\n\n /**\n * Whether to flip the icon. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public mirrored = false;\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.__internals.role = 'img';\n\n getThemeController(this)!.onThemeChanged = (theme) =>\n getIconRegistry().setRefsByTheme(theme);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n getIconRegistry().subscribe(this.iconLoaded);\n }\n\n public override disconnectedCallback() {\n getIconRegistry().unsubscribe(this.iconLoaded);\n super.disconnectedCallback();\n }\n\n @watch('name')\n @watch('collection')\n protected iconChanged(prev: string, curr: string) {\n if (prev !== curr) {\n this.getIcon();\n }\n }\n\n private iconLoaded = (name: string, collection: string) => {\n if (this.name === name && this.collection === collection) {\n this.getIcon();\n }\n };\n\n private getIcon() {\n const { name, collection } = getIconRegistry().getIconRef(\n this.name,\n this.collection\n );\n const { svg, title } = getIconRegistry().get(name, collection) ?? {};\n\n this.svg = svg ?? '';\n this.__internals.ariaLabel = title ?? null;\n }\n\n protected override render() {\n return html`${unsafeSVG(this.svg)}`;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n\n /* c8 ignore next 4 */\n @blazorInclude()\n protected setIconRef(name: string, collection: string, icon: IconMeta) {\n setIconRef_impl(name, collection, icon);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon': IgcIconComponent;\n }\n}\n"]}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
interface ParsedIcon {
|
|
6
|
-
svg: string;
|
|
7
|
-
title?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class IconsRegistry {
|
|
10
|
-
private _parser;
|
|
1
|
+
import type { Theme } from '../../theming/types.js';
|
|
2
|
+
import type { IconCallback, IconMeta, IconReferencePair, SvgIcon } from './registry/types.js';
|
|
3
|
+
declare class IconsRegistry {
|
|
4
|
+
private parser;
|
|
11
5
|
private collections;
|
|
6
|
+
private references;
|
|
12
7
|
private listeners;
|
|
8
|
+
private theme;
|
|
9
|
+
private broadcast;
|
|
13
10
|
constructor();
|
|
11
|
+
register(name: string, iconText: string, collection?: string): void;
|
|
14
12
|
subscribe(callback: IconCallback): void;
|
|
15
13
|
unsubscribe(callback: IconCallback): void;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
setRefsByTheme(theme: Theme): void;
|
|
15
|
+
setIconRef(options: IconReferencePair): void;
|
|
16
|
+
getIconRef(name: string, collection: string): IconMeta;
|
|
17
|
+
get(name: string, collection?: string): SvgIcon | undefined;
|
|
18
|
+
private notifyAll;
|
|
20
19
|
}
|
|
21
20
|
export declare function getIconRegistry(): IconsRegistry;
|
|
22
21
|
export declare function registerIcon(name: string, url: string, collection?: string): Promise<void>;
|
|
23
22
|
export declare function registerIconFromText(name: string, iconText: string, collection?: string): void;
|
|
23
|
+
export declare function setIconRef(name: string, collection: string, icon: IconMeta): void;
|
|
24
24
|
export {};
|
|
@@ -1,47 +1,84 @@
|
|
|
1
|
+
import { sameObject } from '../common/util.js';
|
|
2
|
+
import { iconReferences } from './icon-references.js';
|
|
3
|
+
import { IconsStateBroadcast } from './icon-state.broadcast.js';
|
|
1
4
|
import { internalIcons } from './internal-icons-lib.js';
|
|
2
|
-
|
|
5
|
+
import { createIconDefaultMap } from './registry/default-map.js';
|
|
6
|
+
import { SvgIconParser } from './registry/parser.js';
|
|
7
|
+
import { ActionType } from './registry/types.js';
|
|
8
|
+
class IconsRegistry {
|
|
3
9
|
constructor() {
|
|
4
|
-
this.collections =
|
|
10
|
+
this.collections = createIconDefaultMap();
|
|
11
|
+
this.references = createIconDefaultMap();
|
|
5
12
|
this.listeners = new Set();
|
|
6
|
-
this.
|
|
13
|
+
this.parser = new SvgIconParser();
|
|
14
|
+
this.broadcast = new IconsStateBroadcast(this.collections, this.references);
|
|
7
15
|
this.collections.set('internal', internalIcons);
|
|
8
16
|
}
|
|
17
|
+
register(name, iconText, collection = 'default') {
|
|
18
|
+
const svgIcon = this.parser.parse(iconText);
|
|
19
|
+
this.collections.getOrCreate(collection).set(name, svgIcon);
|
|
20
|
+
const icons = createIconDefaultMap();
|
|
21
|
+
icons.getOrCreate(collection).set(name, svgIcon);
|
|
22
|
+
this.broadcast.send({
|
|
23
|
+
actionType: ActionType.RegisterIcon,
|
|
24
|
+
collections: icons.toMap(),
|
|
25
|
+
});
|
|
26
|
+
this.notifyAll(name, collection);
|
|
27
|
+
}
|
|
9
28
|
subscribe(callback) {
|
|
10
29
|
this.listeners.add(callback);
|
|
11
30
|
}
|
|
12
31
|
unsubscribe(callback) {
|
|
13
32
|
this.listeners.delete(callback);
|
|
14
33
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
34
|
+
setRefsByTheme(theme) {
|
|
35
|
+
if (this.theme !== theme) {
|
|
36
|
+
this.theme = theme;
|
|
37
|
+
for (const { alias, target } of iconReferences) {
|
|
38
|
+
const external = this.references
|
|
39
|
+
.get(alias.collection)
|
|
40
|
+
?.get(alias.name)?.external;
|
|
41
|
+
const _ref = this.references.get('default')?.get(alias.name) ?? {};
|
|
42
|
+
const _target = target.get(this.theme) ?? target.get('default');
|
|
43
|
+
this.setIconRef({
|
|
44
|
+
alias,
|
|
45
|
+
target: _target,
|
|
46
|
+
overwrite: !external && !sameObject(_ref, _target),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
20
49
|
}
|
|
21
|
-
svg.setAttribute('fit', '');
|
|
22
|
-
svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');
|
|
23
|
-
return {
|
|
24
|
-
svg: svg.outerHTML,
|
|
25
|
-
title: svg.querySelector('title')?.textContent ?? '',
|
|
26
|
-
};
|
|
27
50
|
}
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
51
|
+
setIconRef(options) {
|
|
52
|
+
const { alias, target, overwrite } = options;
|
|
53
|
+
const reference = this.references.getOrCreate(alias.collection);
|
|
54
|
+
if (overwrite) {
|
|
55
|
+
reference.set(alias.name, { ...target });
|
|
56
|
+
this.notifyAll(alias.name, alias.collection);
|
|
33
57
|
}
|
|
58
|
+
const refs = createIconDefaultMap();
|
|
59
|
+
refs.getOrCreate(alias.collection).set(alias.name, {
|
|
60
|
+
name: target.name,
|
|
61
|
+
collection: target.collection,
|
|
62
|
+
});
|
|
63
|
+
this.broadcast.send({
|
|
64
|
+
actionType: ActionType.UpdateIconReference,
|
|
65
|
+
references: refs.toMap(),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
getIconRef(name, collection) {
|
|
69
|
+
const icon = this.references.get(collection)?.get(name);
|
|
70
|
+
return {
|
|
71
|
+
name: icon?.name ?? name,
|
|
72
|
+
collection: icon?.collection ?? collection,
|
|
73
|
+
};
|
|
34
74
|
}
|
|
35
75
|
get(name, collection = 'default') {
|
|
36
|
-
return this.collections.
|
|
37
|
-
? this.collections.get(collection)[name]
|
|
38
|
-
: undefined;
|
|
76
|
+
return this.collections.get(collection)?.get(name);
|
|
39
77
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
78
|
+
notifyAll(name, collection) {
|
|
79
|
+
for (const listener of this.listeners) {
|
|
80
|
+
listener(name, collection);
|
|
43
81
|
}
|
|
44
|
-
return this.collections.get(name);
|
|
45
82
|
}
|
|
46
83
|
}
|
|
47
84
|
const registry = Symbol.for('igc.icons-registry.instance');
|
|
@@ -65,4 +102,11 @@ export async function registerIcon(name, url, collection = 'default') {
|
|
|
65
102
|
export function registerIconFromText(name, iconText, collection = 'default') {
|
|
66
103
|
getIconRegistry().register(name, iconText, collection);
|
|
67
104
|
}
|
|
105
|
+
export function setIconRef(name, collection, icon) {
|
|
106
|
+
getIconRegistry().setIconRef({
|
|
107
|
+
alias: { name, collection },
|
|
108
|
+
target: { ...icon, external: true },
|
|
109
|
+
overwrite: true,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
68
112
|
//# sourceMappingURL=icon.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.registry.js","sourceRoot":"","sources":["../../../src/components/icon/icon.registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon.registry.js","sourceRoot":"","sources":["../../../src/components/icon/icon.registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Theme } from '../../theming/types.js';\nimport { sameObject } from '../common/util.js';\nimport { iconReferences } from './icon-references.js';\nimport { IconsStateBroadcast } from './icon-state.broadcast.js';\nimport { internalIcons } from './internal-icons-lib.js';\nimport { createIconDefaultMap } from './registry/default-map.js';\nimport { SvgIconParser } from './registry/parser.js';\nimport type {\n IconCallback,\n IconMeta,\n IconReferencePair,\n SvgIcon,\n} from './registry/types.js';\nimport { ActionType } from './registry/types.js';\n\nclass IconsRegistry {\n private parser: SvgIconParser;\n private collections = createIconDefaultMap<string, SvgIcon>();\n private references = createIconDefaultMap<string, IconMeta>();\n private listeners = new Set<IconCallback>();\n private theme!: Theme;\n private broadcast: IconsStateBroadcast;\n\n constructor() {\n this.parser = new SvgIconParser();\n this.broadcast = new IconsStateBroadcast(this.collections, this.references);\n\n this.collections.set('internal', internalIcons);\n }\n\n public register(name: string, iconText: string, collection = 'default') {\n const svgIcon = this.parser.parse(iconText);\n this.collections.getOrCreate(collection).set(name, svgIcon);\n\n const icons = createIconDefaultMap<string, SvgIcon>();\n icons.getOrCreate(collection).set(name, svgIcon);\n\n this.broadcast.send({\n actionType: ActionType.RegisterIcon,\n collections: icons.toMap(),\n });\n\n this.notifyAll(name, collection);\n }\n\n public subscribe(callback: IconCallback) {\n this.listeners.add(callback);\n }\n\n public unsubscribe(callback: IconCallback) {\n this.listeners.delete(callback);\n }\n\n public setRefsByTheme(theme: Theme) {\n if (this.theme !== theme) {\n this.theme = theme;\n\n for (const { alias, target } of iconReferences) {\n const external = this.references\n .get(alias.collection)\n ?.get(alias.name)?.external;\n\n const _ref = this.references.get('default')?.get(alias.name) ?? {};\n const _target = target.get(this.theme) ?? target.get('default')!;\n\n this.setIconRef({\n alias,\n target: _target,\n overwrite: !external && !sameObject(_ref, _target),\n });\n }\n }\n }\n\n public setIconRef(options: IconReferencePair) {\n const { alias, target, overwrite } = options;\n const reference = this.references.getOrCreate(alias.collection);\n\n if (overwrite) {\n reference.set(alias.name, { ...target });\n this.notifyAll(alias.name, alias.collection);\n }\n\n const refs = createIconDefaultMap<string, IconMeta>();\n refs.getOrCreate(alias.collection).set(alias.name, {\n name: target.name,\n collection: target.collection,\n });\n\n this.broadcast.send({\n actionType: ActionType.UpdateIconReference,\n references: refs.toMap(),\n });\n }\n\n public getIconRef(name: string, collection: string): IconMeta {\n const icon = this.references.get(collection)?.get(name);\n\n return {\n name: icon?.name ?? name,\n collection: icon?.collection ?? collection,\n };\n }\n\n public get(name: string, collection = 'default') {\n return this.collections.get(collection)?.get(name);\n }\n\n private notifyAll(name: string, collection: string) {\n for (const listener of this.listeners) {\n listener(name, collection);\n }\n }\n}\n\nconst registry = Symbol.for('igc.icons-registry.instance');\n\ntype IgcIconRegistry = typeof globalThis & {\n [registry]?: IconsRegistry;\n};\n\nexport function getIconRegistry() {\n const _global = globalThis as IgcIconRegistry;\n if (!_global[registry]) {\n _global[registry] = new IconsRegistry();\n }\n return _global[registry];\n}\n\nexport async function registerIcon(\n name: string,\n url: string,\n collection = 'default'\n) {\n const response = await fetch(url);\n\n if (response.ok) {\n const value = await response.text();\n getIconRegistry().register(name, value, collection);\n } else {\n throw new Error(`Icon request failed. Status: ${response.status}.`);\n }\n}\n\nexport function registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n) {\n getIconRegistry().register(name, iconText, collection);\n}\n\nexport function setIconRef(name: string, collection: string, icon: IconMeta) {\n getIconRegistry().setIconRef({\n alias: { name, collection },\n target: { ...icon, external: true },\n overwrite: true,\n });\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const internalIcons:
|
|
1
|
+
import type { SvgIcon } from './registry/types.js';
|
|
2
|
+
export declare const internalIcons: Map<string, SvgIcon>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const internalIcons = {
|
|
1
|
+
export const internalIcons = new Map(Object.entries({
|
|
2
2
|
navigate_before: {
|
|
3
3
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M15.61 7.41L14.2 6l-6 6 6 6 1.41-1.41L11.03 12l4.58-4.59z"/></svg>`,
|
|
4
4
|
},
|
|
@@ -50,5 +50,5 @@ export const internalIcons = {
|
|
|
50
50
|
calendar_today: {
|
|
51
51
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"/></svg>`,
|
|
52
52
|
},
|
|
53
|
-
};
|
|
53
|
+
}));
|
|
54
54
|
//# sourceMappingURL=internal-icons-lib.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-icons-lib.js","sourceRoot":"","sources":["../../../src/components/icon/internal-icons-lib.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"internal-icons-lib.js","sourceRoot":"","sources":["../../../src/components/icon/internal-icons-lib.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAClC,MAAM,CAAC,OAAO,CAAC;IACb,eAAe,EAAE;QACf,GAAG,EAAE,gLAAgL;KACtL;IACD,aAAa,EAAE;QACb,GAAG,EAAE,+KAA+K;KACrL;IACD,iBAAiB,EAAE;QACjB,GAAG,EAAE,mKAAmK;KACzK;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,8KAA8K;KACpL;IACD,oBAAoB,EAAE;QACpB,GAAG,EAAE,6KAA6K;KACnL;IACD,WAAW,EAAE;QACX,GAAG,EAAE,2TAA2T;KACjU;IACD,WAAW,EAAE;QACX,GAAG,EAAE,6LAA6L;KACnM;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,6QAA6Q;KACnR;IACD,WAAW,EAAE;QACX,GAAG,EAAE,gVAAgV;KACtV;IACD,cAAc,EAAE;QACd,GAAG,EAAE,66BAA66B;KACn7B;IACD,KAAK,EAAE;QACL,GAAG,EAAE,0NAA0N;KAChO;IACD,aAAa,EAAE;QACb,GAAG,EAAE,mIAAmI;KACzI;IACD,eAAe,EAAE;QACf,GAAG,EAAE,mIAAmI;KACzI;IACD,cAAc,EAAE;QACd,GAAG,EAAE,gNAAgN;KACtN;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,6MAA6M;KACnN;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,oTAAoT;KAC1T;IACD,cAAc,EAAE;QACd,GAAG,EAAE,0PAA0P;KAChQ;CACF,CAAC,CACH,CAAC","sourcesContent":["import type { SvgIcon } from './registry/types.js';\n\nexport const internalIcons = new Map<string, SvgIcon>(\n Object.entries({\n navigate_before: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M15.61 7.41L14.2 6l-6 6 6 6 1.41-1.41L11.03 12l4.58-4.59z\"/></svg>`,\n },\n navigate_next: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M10.02 6L8.61 7.41 13.19 12l-4.58 4.59L10.02 18l6-6-6-6z\"/></svg>`,\n },\n keyboard_arrow_up: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"/></svg>`,\n },\n keyboard_arrow_down: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>`,\n },\n keyboard_arrow_right: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"/></svg>`,\n },\n chip_cancel: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"/></svg>`,\n },\n chip_select: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>`,\n },\n star: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg>`,\n },\n star_border: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z\"/></svg>`,\n },\n case_sensitive: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\"><path d=\"M21.2 16.5c0-.2-.1-.5-.1-.7v-4.4c0-.4-.1-.8-.3-1.2-.2-.3-.5-.6-.8-.7-.3-.2-.7-.3-1.1-.3-.4-.1-.8-.1-1.2-.1-.5 0-.9 0-1.4.1-.4.1-.8.3-1.2.5-.3.2-.6.5-.8.9s-.3.9-.3 1.3h1.4c0-.5.2-1 .7-1.3.5-.2 1-.4 1.5-.3.2 0 .5 0 .7.1.2 0 .4.1.6.2.2.1.3.2.5.4.1.2.2.5.2.7s-.1.4-.2.6c-.2.2-.4.3-.6.3-.3.1-.6.1-.9.2-.4 0-.7.1-1.1.2-.4.1-.7.1-1.1.2-.3.1-.7.2-1 .4s-.5.5-.7.8c-.2.4-.3.8-.3 1.2s.1.8.2 1.1c.1.3.4.5.6.7.3.2.6.3.9.4.9.2 1.9.2 2.8-.2.5-.2 1-.6 1.4-1 0 .4.1.7.3 1 .2.2.6.3.9.3.4 0 .7-.1 1-.2v-1.1c-.1 0-.3.1-.4.1-.1.1-.2 0-.2-.2zm-1.5-1.7c0 .2-.1.4-.2.6-.1.2-.3.5-.5.6-.2.2-.5.4-.8.5-.4.1-.8.2-1.2.2-.2 0-.4 0-.6-.1-.2 0-.4-.1-.5-.2-.2-.1-.3-.2-.4-.4-.1-.2-.2-.4-.1-.6 0-.3.1-.6.2-.8.2-.2.4-.4.6-.5.3-.1.6-.2.9-.2s.7-.1 1-.1.6-.1.9-.1.5-.1.7-.3v1.4zm-9.6-.4l1.3 3.6h1.8L8.5 6H6.7L2 18h1.7L5 14.4h5.1zm-2.5-7l2.1 5.5H5.5l2.1-5.5z\"></path></svg>`,\n },\n clear: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>`,\n },\n arrow_drop_up: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 14l5-5 5 5z\"/></svg>`,\n },\n arrow_drop_down: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 10l5 5 5-5z\"/></svg>`,\n },\n arrow_downward: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"/></svg>`,\n },\n arrow_upward: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\"/></svg>`,\n },\n calendar: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 -960 960 960\" width=\"24\"><path d=\"M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Z\"/></svg>`,\n },\n calendar_today: {\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z\"/></svg>`,\n },\n })\n);\n"]}
|